OpenAI Chat Completions
Chat Completions 是兼容范围最广的对话接口,适用于大多数聊天模型、OpenAI SDK 和支持自定义 API 地址的第三方工具。
接口信息
| 项目 | 内容 |
|---|---|
| 请求方法 | POST |
| 完整地址 | https://www.bita-api.com/v1/chat/completions |
| OpenAI Base URL | https://www.bita-api.com/v1 |
| 鉴权方式 | Authorization: Bearer YOUR_BITA_API_KEY |
| 请求格式 | application/json |
请求前,请先通过查询可用模型获取当前 API 密钥可用的准确模型 ID。
发送请求
复制下面的脚本,将 YOUR_BITA_API_KEY 和 YOUR_MODEL_ID 替换为自己的信息。示例需要先安装 requests:python -m pip install requests。
import requests
response = requests.post(
"https://www.bita-api.com/v1/chat/completions",
headers={"Authorization": "Bearer YOUR_BITA_API_KEY"},
json={
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "system",
"content": "你是一个简洁、准确的助手。",
},
{
"role": "user",
"content": "请用一句话介绍 Bita API。",
},
],
"stream": False,
},
timeout=120,
)
response.raise_for_status()
result = response.json()
print(result["choices"][0]["message"]["content"])
请求参数
| 参数 | 是否必填 | 说明 |
|---|---|---|
model | 是 | 从模型列表复制的完整模型 ID |
messages | 是 | 按顺序排列的对话消息 |
messages[].role | 是 | 消息角色,常见值为 system、user、assistant |
messages[].content | 是 | 消息内容;多模态模型也可能接受内容数组 |
stream | 否 | false 返回完整结果,true 使用流式输出 |
temperature | 否 | 控制输出随机性;可用范围和默认值以具体模型为准 |
不同模型支持的可选参数可能不同。首次测试建议只发送 model、messages 和 stream。
读取响应
非流式响应通常类似:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "YOUR_MODEL_ID",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Bita API 提供统一的模型 API 接入服务。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
}
}
重点字段:
choices[0].message.content:模型生成的文本。choices[0].finish_reason:生成停止原因,正常完成通常为stop。usage:本次请求的输入、输出和总 Token 用量,实际字段可能因模型而异。
连续对话
Chat Completions 接口不会自动记住上一次请求。需要继续对话时,应把相关历史消息一并放入 messages:
{
"model": "YOUR_MODEL_ID",
"messages": [
{ "role": "user", "content": "中国的首都是哪里?" },
{ "role": "assistant", "content": "中国的首都是北京。" },
{ "role": "user", "content": "那里有哪些著名景点?" }
]
}
历史消息会占用模型上下文,并可能产生输入 Token 费用。长对话应根据需要裁剪或总结历史内容。
常见问题
| 现象 | 建议检查 |
|---|---|
model_not_found 或模型不存在 | 模型 ID 是否准确、密钥分组是否支持该模型 |
messages 参数错误 | 是否为数组,每条消息是否包含正确的 role 和 content |
| 参数不受支持 | 移除非必要参数后重试,并确认模型端点类型为 Chat |
| 回复被截断 | 查看 finish_reason,并检查模型输出限制和上下文长度 |
| 请求成功但没有文本 | 检查完整 choices;工具调用或特殊模型可能返回其他内容结构 |
Chat 模型不等于 Responses 模型
模型广场中的端点类型决定可使用的接口。标记为 Chat 的模型适用于本页;只有同时支持 Response 的模型才能使用 Responses API。
下一步:OpenAI Responses。