对话补全接口

请求/响应结构、流式输出,以及 Anthropic / Gemini 协议的等价端点。

对话补全是最常用的接口:把消息列表发给模型,拿回生成的回复。平台以 OpenAI 兼容协议为主入口,Anthropic / Gemini 协议同构可用。

请求结构(OpenAI 兼容)

POST {base}/chat/completions,鉴权见鉴权方式

{
  "model": "your-model",
  "messages": [
    {"role": "system", "content": "你是一个客服助手"},
    {"role": "user", "content": "帮我查下订单"},
    {"role": "assistant", "content": "好的,请提供订单号"},
    {"role": "user", "content": "A1024"}
  ],
  "temperature": 0.7,
  "max_tokens": 1024,
  "stream": false
}
  • messages 是带顺序的对话历史,rolesystem / user / assistant;多轮对话由客户端自行拼接完整历史后重发;
  • temperature 越高输出越发散(常用 0–1);max_tokens 限制本次回复长度;
  • 流式输出"stream": true 时响应按 SSE 逐段推送(choices[0].delta),适合聊天界面边生成边显示;官方 SDK 传 stream=True 后迭代即可。

响应结构

非流式响应的核心字段:

{
  "choices": [
    {
      "message": {"role": "assistant", "content": "……"},
      "finish_reason": "stop"
    }
  ],
  "usage": {"prompt_tokens": 58, "completion_tokens": 132, "total_tokens": 190}
}
  • choices[0].message.content 就是回复正文;finish_reasonstop 表示正常结束,length 表示被 max_tokens 截断;
  • usage 是本次消耗的 Token 数——计费与「用量」页记录都以它为准。

其他协议的等价端点

  • AnthropicPOST {base}/v1/messages,请求/响应字段命名不同(max_tokens 必填、回复在 content 数组),其余语义一致;
  • GeminiPOST {base}/v1beta/models/{model}:generateContent,消息放在 contents 数组。

三协议互为同构,迁移成本主要是字段改名;建议直接使用对应官方 SDK(openai / @anthropic-ai/sdk / @google/genai),把 base_url 指向平台即可。