对话补全

OpenAI 兼容的 Chat Completions 接口。Swarmix 的核心端点,路由到当前已配置和已上架的上游模型。

POST/v1/chat/completions

给定一组聊天消息,模型返回补全。协议与 OpenAI POST /v1/chat/completions保持兼容,兼容 OpenAI 的 SDK 和工具可以直接使用。

厂商高级参数以模型文档为准
阿里百炼、火山方舟、腾讯混元都可以通过 OpenAI-compatible 方式接入,但developer role、strict 结构化输出、视觉输入限制等能力存在模型级差异。 需要固定厂商能力时,请参考 厂商兼容说明

请求头

Header必填示例说明
AuthorizationBearer sk-swx-xxxSwarmix 签发的 API Key
Content-Typeapplication/json请求体格式
Accepttext/event-stream流式响应时建议带上

请求体

字段类型必填说明
modelstring模型 ID,例如 aliyun/qwen-maxaliyun/deepseek-r1。当前公开 API 不承诺@chat 这类分组别名作为 model 参数。
messagesarray消息列表,每条为 {role, content}。平台接受 system / developer / user / assistant / tool / function;跨厂商生产流量建议优先使用 system / user / assistant / tool。
streambooleantrue 返回 SSE 流,false 返回一次性 JSON。
temperaturenumber0-2,默认 1。越高越发散,越低越确定。
top_pnumber0-1,核采样。通常与 temperature 二选一。
max_tokensinteger响应最大 token 数。会影响预扣金额,建议按业务场景合理设置。
toolsarrayFunction Calling 定义。使用新版 tools 格式,非已废弃的 functions。
tool_choicestring | objectnone / auto / {type:"function", function:{name:"..."}}
response_formatobject{type:"json_object"} 强制 JSON 输出。
stopstring | array停止生成的序列,最多 4 个。
seedinteger确定性采样种子,部分上游厂商不支持。
stream_optionsobject{include_usage:true} 时最后一个 chunk 会带 token usage。
并非所有参数都适用所有厂商
例如 seed 部分厂商不支持;tools 通常在 qwen 2.5+、deepseek、hunyuan-turbo 等模型上支持。未支持的参数可能被上游忽略,实际效果以模型能力为准。

响应字段

字段类型说明
idstring本次补全对象 ID。
modelstring实际路由到的上游模型 ID。
choices[].message.contentstring生成的文本。
choices[].message.tool_callsarrayfunction calling 时的工具调用列表。
choices[].finish_reasonstringstop / length / tool_calls / content_filter。
usage.prompt_tokensinteger输入 token 数。
usage.completion_tokensinteger输出 token 数。
usage.total_tokensintegerprompt + completion,用于计费。

响应头

当前 Router 会返回 x-request-id 响应头,用于和请求日志、工单排障关联。 实际命中的 provider 和上游模型请在 Console 请求日志中查看。

  • x-request-id:请求 ID;如果客户端请求头已传同名值,Router 会沿用。

常见错误

完整的 HTTP 状态码与当前错误响应说明见 错误码对照。常见错误包括:

  • 401:Key 错误、缺失或过期。
  • 402:钱包不足本次预扣。
  • 429:RPM 或 TPM 超限,按指数退避重试。
  • 400:请求格式、参数或上下文长度不符合当前模型要求。
  • 502:当前模型没有可用上游候选,或全部候选暂时不可用。