文本对话
通过 Chat Completions 发送消息,接收回答或工具调用。
请求说明
请求使用 Authorization: Bearer ... 和 Content-Type: application/json。在上方示例面板填入模型 ID 后,下方示例会同步更新;从控制台模型卡进入时会自动带入。
核心参数
modelstring必填取 GET /v1/models 返回的 id,列表只含当前密钥可用的模型。目录展示名称不能直接作为模型 ID。
messagesarray必填按顺序提供消息,包含 role 与 content。发送图片前确认模型支持图片输入,见 GET /v1/models 中的 capabilities.image_input。
streamboolean可选设为 true 时按 SSE 接收事件,正常结束收到 [DONE]。解析方式和用量块见流式输出。
max_tokensinteger可选原样转给上游,取值范围由模型决定;模型的最大输出见 GET /v1/models 中的 max_tokens。编辑器选项是示例预算,不代表模型规格。
temperaturenumber按模型支持控制随机性。示例编辑范围为 0–2,实际范围和兼容性以所选模型为准。
默认:由上游模型决定response_formatobject按模型支持支持 JSON 模式时可使用 json_object。可解析的 JSON 仍需在应用侧校验字段。
toolsarray按模型支持声明可执行的函数。模型提出调用后,由应用校验、执行并回传结果。
默认:不声明工具参数转发
网关对请求体只做两处改动:把 model 换成上游使用的 ID;流式请求打开上游的用量统计,见流式输出。其余字段,包括 max_tokens、max_completion_tokens、temperature、tools 与 response_format,都原样转给上游,网关不补默认值,也不校验取值。
各模型支持的参数不同;上游不接受某个参数时,返回上游自己的状态码和错误体。三种协议的差异见协议兼容。
成功响应
响应体由上游原样返回,其中的 model 可能与请求的 ID 不同。
| 字段 | 读取方式 |
|---|---|
choices[0].message.content | 普通文本回答;工具调用时可能为空 |
choices[0].message.tool_calls | 模型提出的工具调用,需由应用执行 |
choices[0].finish_reason | 检查正常结束或输出截断 |
usage | 上游报告的用量,也是计费依据;扣费金额见控制台用量记录 |
常见失败
| 状态 / 错误码 | 下一步 |
|---|---|
| 400 | 请求体须是带 model 的 JSON 对象,顶层字段不能重复;模型未开放此接口时也返回 400。code 为 null,按 error.message 排查 |
401 · invalid_api_key | 核对密钥是否正确、未停用、未过期 |
402 · insufficient_quota | 预算已用完,在控制台申请追加;项目密钥由项目负责人续期 |
403 · model_not_allowed | 检查密钥的模型范围 |
404 · model_not_found | 用 GET /v1/models 重新查询模型 ID |
413 · request_too_large | 请求体超过 32 MiB,缩小后重试 |
429 · rate_limit_exceeded | 上游容量已满,按 Retry-After 等待后重试 |
502 · upstream_failed | 上游出错或无法连接,稍后重试 |
503 · service_unavailable | 模型暂时没有可用上游,稍后重试 |
504 · upstream_timeout | 上游未按时响应,稍后重试 |
网关自己的错误体为 OpenAI 格式,读取 error.message、error.type 与 error.code。上游返回的错误保留原状态码和错误体,只有上游的 401、402、403 会改为 502 upstream_failed。完整分类见错误码。
追踪与继续接入
每个响应都带 X-Request-Id,排查问题时提供它,也可以在控制台用量记录里按它查找调用。需要关联自己的请求时,可以附带 X-Client-Request-Id(最多 128 个可打印 ASCII 字符,否则忽略),它会随用量记录保存。网关在转发前就拒绝的请求没有用量记录。
无需安装 SDK,使用终端中的 curl。
curl --fail-with-body "$MOSSHUB_API_BASE/v1/chat/completions" \
-H "Authorization: Bearer $MOSSHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR_MODEL_ID","messages":[{"role":"user","content":"你好"}],"stream":false}'页面字体:MiSans(小米,依《MiSans 字体知识产权许可协议》使用);Google Sans Flex(SIL Open Font License 1.1)。