对话补全
对话补全是使用频率最高的接口:提交一组对话消息,模型返回下一条回复。平台提供四个对话类端点,覆盖 OpenAI Chat Completions、旧版文本补全、Anthropic Messages 与 OpenAI Responses 四种格式,便于直接用各家官方 SDK 或既有代码接入。
格式互通
任意可用模型都可以通过任意对话格式调用,网关会自动完成协议转换(例如用 Anthropic 格式调用 GPT 模型)。
端点总览
| 端点 | 格式 | 认证头 | 典型客户端 |
|---|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Authorization: Bearer sk-你的密钥 | OpenAI SDK、绝大多数兼容客户端 |
POST /v1/completions | OpenAI 旧版文本补全 | Authorization: Bearer sk-你的密钥 | 老代码 / 老工具(prompt + max_tokens) |
POST /v1/responses | OpenAI Responses API | Authorization: Bearer sk-你的密钥 | 新版 OpenAI SDK / Responses 生态 |
POST /v1/messages | Anthropic Messages | x-api-key: sk-你的密钥(也接受 Authorization: Bearer) | Anthropic SDK、Claude 系客户端 |
OpenAI Chat Completions
请求
POST https://confluia.com/v1/chat/completions
Authorization: Bearer sk-你的密钥
Content-Type: application/jsonjson
{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "你是一个乐于助人的助手" },
{ "role": "user", "content": "用一句话介绍上海" }
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}响应
json
{
"id": "chatcmpl-xxxxxx",
"object": "chat.completion",
"created": 1690000000,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "上海是中国最大的城市之一……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 45,
"total_tokens": 65
}
}主要参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 模型 ID,必填。见 GET /v1/models 或控制台模型列表 |
messages | array | 对话消息数组,必填。role 取 system / user / assistant 等,content 支持纯文本或多模态数组 |
max_tokens / max_completion_tokens | int | 最大生成 token 数,max_completion_tokens 为新版字段名;不同模型支持的字段名可能不同,以模型实测为准 |
temperature | number | 采样温度,OpenAI 规范为 0 ~ 2,越大越随机;实际范围以模型为准 |
top_p | number | 核采样概率,0 ~ 1;通常与 temperature 二选一调整 |
stream | boolean | 是否以 SSE 流式返回,默认 false |
stop | string / string[] | 停止标记 |
tools / tool_choice | array / object | 工具调用(Function Calling)声明与选择策略 |
response_format | object | 结构化输出,如 {"type": "json_object"}、{"type": "json_schema", ...} |
seed | int | 随机种子,便于复现(模型支持时生效) |
参数为透传语义:网关原样转发给上游。不同模型支持的参数集不同(例如推理类模型可能不支持
temperature),未支持的参数会被上游忽略或在响应中提示,具体以模型官方文档与实测为准。
流式输出
设 stream: true 后按 SSE 逐块返回,协议与 OpenAI 一致:
python
stream = client.chat.completions.create(
model="gpt-4o",
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="")Anthropic Messages 格式
POST https://confluia.com/v1/messages
x-api-key: sk-你的密钥
anthropic-version: 2023-06-01
Content-Type: application/jsonbash
curl https://confluia.com/v1/messages \
-H "x-api-key: sk-你的密钥" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'python
import anthropic
client = anthropic.Anthropic(
api_key="sk-你的密钥",
base_url="https://confluia.com", # Claude 格式使用根地址,不要带 /v1
)
resp = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)
POST /v1/messages的入参、响应(system、多模态content数组、stop_reason、usage.input_tokens等)与流式事件均为 Claude 原生格式。
OpenAI Responses 格式
POST https://confluia.com/v1/responses
Authorization: Bearer sk-你的密钥
Content-Type: application/jsonbash
curl https://confluia.com/v1/responses \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"input": "用一句话介绍上海",
"stream": false
}'旧版文本补全
POST https://confluia.com/v1/completions入参为 OpenAI 旧版 prompt + max_tokens 形态,供老代码迁移使用;新接入请优先使用 /v1/chat/completions。
错误返回
对话类接口统一返回 OpenAI 风格错误:
json
{
"error": {
"message": "预扣费额度失败, 用户剩余额度: ..., 需要预扣费额度: ...",
"type": "insufficient_user_quota",
"code": "insufficient_user_quota"
}
}常见错误码、HTTP 状态码与重试建议见错误码与限流。