文档快速开始接入教程
OpenAI 兼容网关

把 OpenAI SDK 接到 Thklumi

如果你已经会调用 OpenAI,那么接入 Thklumi 只需要改两处:把 base_url 换成 Thklumi 的地址,把 api_key 换成你在控制台创建的 sk-lumi 密钥。模型名称可以继续用你在模型页看到的别名,例如 deepseek-v4-flash、gpt-5.5。

最重要的一句话

SDK 不用换,业务代码也不用大改。只要把 base URL 设置为 https://api.thklumi.com/v1,再使用你的 Thklumi API Key 就可以开始请求。

1

先选对接口

现在很多模型厂商还主要支持旧版 OpenAI 协议。Thklumi 会同时兼容新旧两种调用方式:老项目继续用 chat.completions,新项目也可以用 responses.create。

大多数模型:用 client.chat.completions.create()

DeepSeek、DMX、很多 OpenAI-compatible 中转商都支持这个接口。普通聊天、流式输出、绝大多数业务场景都先选它。

新 OpenAI 模型:用 client.responses.create()

新版 OpenAI SDK 可以继续使用 responses.create。即使上游暂时只支持 chat.completions,Thklumi 也会在网关层完成协议转换。

2

创建 API 密钥

进入 API 密钥页面,点击 新建密钥。复制后请放到环境变量里,不要写死在前端或公开仓库中。建议生产、测试各用一把密钥,后续方便单独停用。
3

普通对话调用

这是最推荐的接入方式。你只需要把 OpenAI SDK 的 base_url 指向 Thklumi,model 填模型别名,messages 按 OpenAI 原格式传入即可。

Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-lumi-你的密钥",
    base_url="https://api.thklumi.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "user", "content": "用一句话介绍你自己"}
    ],
)

print(response.choices[0].message.content)
Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-lumi-你的密钥",
  baseURL: "https://api.thklumi.com/v1",
});

const response = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [
    { role: "user", content: "用一句话介绍你自己" },
  ],
});

console.log(response.choices[0].message.content);
cURL
curl https://api.thklumi.com/v1/chat/completions \
  -H "Authorization: Bearer sk-lumi-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {"role": "user", "content": "用一句话介绍你自己"}
    ]
  }'

流式返回

如果你希望像 ChatGPT 一样边生成边显示,把 stream 设置为 true。服务端会返回 SSE 数据流,前端或后端按 chunk 逐段读取。

Python · stream=True
stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "写一个三步上线检查清单"}],
    stream=True,
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Responses API

Responses 是 OpenAI 新接口。Thklumi 会优先调用上游原生 Responses;如果上游暂不支持,会自动转换到 chat.completions 再把结果包装回 Responses 格式。

Python · responses.create
response = client.responses.create(
    model="gpt-5.5",
    input="请用三句话解释什么是 API 网关",
)

print(response.output_text)

常见错误怎么排查

状态码
含义
处理方式
401
密钥不对,或没有带 Authorization
确认请求头是 Authorization: Bearer sk-lumi-...,不要拿 OpenAI 的 sk-proj 密钥调用 Thklumi。
402
余额不足
到控制台充值或降低模型成本。测试环境建议先用便宜模型确认链路。
404
模型名不存在,或接口路径写错
检查 base_url 是否以 /v1 结尾,模型名是否和模型页展示的一致。
429
请求太频繁
给客户端加退避重试。生产环境不要无限重试,避免把余额打空。
502
上游模型服务暂时不可用
先重试一次;如果固定某个模型一直 502,换模型或检查该模型的供应商渠道配置。

上线前检查清单

密钥只放后端

不要把 sk-lumi 密钥写到浏览器代码、App 客户端或公开 Git 仓库。前端应请求你自己的后端。

默认使用 chat.completions

除非模型明确要求 Responses API,否则优先接 chat.completions,兼容性最高。

给 429/502 加重试

推荐最多重试 2 到 3 次,并使用指数退避;用户取消请求时要及时停止流式连接。

上线后看请求日志

通过日志页检查模型、状态码、token 和花费。出现异常时用 request_id 快速定位。