跳转到内容
简体中文

Chat Completions

Chat Completions 适合已有 OpenAI 兼容客户端和基于 messages / choices 的应用。新建的代理或 Codex 工作流优先考虑 Responses API

POST https://api.nexinfer.com/v1/chat/completions
Terminal window
curl https://api.nexinfer.com/v1/chat/completions \
-H "Authorization: Bearer $NEXINFER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [
{"role": "system", "content": "Answer concisely."},
{"role": "user", "content": "Reply with OK."}
]
}'

文本结果通常位于 choices[0].message.content。不同模型的多模态内容、推理字段和用量结构可能不同。

字段 用途
model Key 有权调用的模型 ID
messages 按角色排列的对话消息
stream 启用 SSE 增量输出
tools / tool_choice 声明工具及选择行为
temperature 采样控制;模型可能限制该字段
max_tokens 兼容客户端的输出限制字段;模型支持情况不同

NexInfer 保留原始 systemmessagestoolstool_choicetemperaturemax_tokens。字段被保留不等于每个模型都接受该字段。

设置 "stream": true 后返回 SSE 增量。客户端应处理 choices[].delta、结束原因和流结束标记;网络中断时记录请求 ID,并限制自动重试次数。

模型可能在 assistant 消息中返回 tool_calls。客户端执行工具后,用 role: "tool" 和匹配的 tool_call_id 返回结果,再继续请求。

不要直接执行未经校验的参数。写操作应要求用户确认或使用幂等机制。

以下情况优先使用 Responses:

  • Codex 或新的代理工作流;
  • 需要类型化流事件和 Item 结构;
  • 需要 previous_response_id 延续会话;
  • 希望跟随 OpenAI 新能力的主接口。

如果现有 SDK 只支持 messages / choices,或业务已稳定依赖该响应结构,可以继续使用 Chat Completions,不必为了形式迁移。

  • 400:检查消息角色、内容结构以及模型是否接受请求参数。
  • 401/403:检查 Bearer Key、模型权限和分组。
  • 响应结构不匹配:确认客户端没有把 Responses 的 output 与 Chat 的 choices 混用。
  • 工具结果被拒绝:检查 tool_call_id 是否与模型返回值一致。

官方参考:Chat Completions · 迁移到 Responses · 函数调用