API 手册
Chat Completions
OpenAI 兼容聊天补全接口
Chat Completions 是最常用的 OpenAI 兼容接口,适合聊天客户端、OpenAI SDK、LangChain、LlamaIndex 等生态工具。
新项目建议
OpenAI 官方建议新项目优先评估 Responses API,以使用更新的多模态、工具和状态管理能力。Chat Completions 更适合兼容已有客户端和生态工具。
接口概览
| 项目 | 说明 |
|---|---|
| 方法 | POST |
| 路径 | /v1/chat/completions |
| Base URL | https://cdn.12ai.org/v1 |
| 请求格式 | application/json |
| 认证 | Authorization: Bearer $API_KEY |
请求体
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,例如 gpt-5.1 |
messages | array | 是 | 对话消息数组 |
stream | boolean | 否 | 是否流式返回,默认 false |
temperature | number | 否 | 随机性,值越高越发散 |
top_p | number | 否 | 核采样参数 |
max_completion_tokens | integer | 否 | 最大生成 token 数,包含可见输出和推理 token |
tools | array | 否 | 模型可调用的工具,例如函数工具 |
tool_choice | string | object | 否 | 工具调用策略,例如 auto、none、required |
response_format | object | 否 | 输出格式,常用于 JSON mode 或 Structured Outputs |
store | boolean | 否 | 是否存储该次 Chat Completion 以便后续查询 |
messages
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
role | string | 是 | system、developer、user、assistant |
content | string | array | 是 | 文本内容,或多模态内容数组 |
max_tokens 已不推荐
OpenAI 官方已将旧字段 max_tokens 标记为不推荐,新的聊天补全请求优先使用 max_completion_tokens。
请求示例
curl https://cdn.12ai.org/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.1",
"messages": [
{"role": "user", "content": "用一句话解释 API 网关是什么"}
]
}'from openai import OpenAI
client = OpenAI(
api_key="sk-xxx",
base_url="https://cdn.12ai.org/v1",
)
response = client.chat.completions.create(
model="gpt-5.1",
messages=[
{"role": "user", "content": "用一句话解释 API 网关是什么"}
],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-xxx",
baseURL: "https://cdn.12ai.org/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5.1",
messages: [
{ role: "user", content: "用一句话解释 API 网关是什么" },
],
});
console.log(response.choices[0].message.content);响应结构
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 响应 ID |
object | string | 对象类型,通常为 chat.completion |
created | integer | 创建时间戳 |
model | string | 实际调用的模型 |
choices | array | 模型输出列表 |
usage | object | token 用量统计 |
service_tier | string | 实际使用的服务层级,可能为空 |
system_fingerprint | string | 后端配置指纹,可能为空 |
choices
| 字段 | 类型 | 说明 |
|---|---|---|
index | integer | 输出序号 |
message.role | string | 通常为 assistant |
message.content | string | 模型回复文本 |
message.tool_calls | array | 工具调用结果,未触发时为空 |
finish_reason | string | 停止原因,例如 stop、length、tool_calls |
响应示例
{
"id": "chatcmpl_xxx",
"object": "chat.completion",
"created": 1760000000,
"model": "gpt-5.1",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API 网关是统一接收、鉴权并转发 API 请求的入口层。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 18,
"total_tokens": 38
}
}常见问题
| 问题 | 处理方式 |
|---|---|
401 | 检查 Header 是否写成 Authorization: Bearer sk-xxx |
404 | 检查 Base URL 是否包含 /v1,以及模型名是否存在 |
| 无法流式输出 | 确认请求体设置了 "stream": true,客户端也支持 SSE |
| 输出被截断 | 适当增加 max_completion_tokens |
更多 OpenAI 兼容参数可以参考 OpenAI API Reference。
