Chat Completions

接口用途

用于文本生成、连续对话和支持图像输入的多模态对话。采用 OpenAI 兼容的 messageschoicesusage 结构。

请求方式

POST

接口地址

$GENESIS_BASE_URL/chat/completions

身份认证

使用 Genesis API Key:Authorization: Bearer <API_KEY>。详见接口地址与身份认证

最小请求

curl "$GENESIS_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $GENESIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-id>",
    "messages": [
      {"role": "system", "content": "你是一个严谨的数据助手。"},
      {"role": "user", "content": "用一句话解释数据血缘。"}
    ]
  }'

modelmessages 是请求的核心字段。每条消息包含 rolecontent;常用角色为 systemuserassistant。需要复用历史上下文时,由应用把之前的消息按顺序再次发送。

常用可选参数

参数

用途

temperature

调整采样随机性

top_p

使用核采样限制候选 Token

max_tokens

限制最大输出 Token 数

frequency_penalty

降低重复内容出现的倾向

presence_penalty

鼓励引入尚未出现的内容

seed

在模型支持时控制随机种子

stream

设为 true 后使用 SSE 增量返回

参数范围、默认值及是否生效由模型决定。不要同时大幅调整 temperaturetop_p;迁移模型时先用调试页验证原有参数。

读取结果

非流式响应的正文通常位于 choices[0].message.content,结束原因位于 choices[0].finish_reasonusage.prompt_tokensusage.completion_tokensusage.total_tokens 可用于调用侧观测与用量核对;客户端不应假定每个模型都会返回完全相同的附加字段。

finish_reasonlength 时,输出达到长度限制,不能视为完整回答。应用可提高允许的输出长度或缩短输入后重试。

图像输入

支持视觉能力的模型可在一条 user 消息中混合文本和图像:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "概括图片中的主要信息。"},
    {
      "type": "image_url",
      "image_url": {"url": "https://example.com/image.png"}
    }
  ]
}

图像可以使用可访问的公网 URL;仓库参考资料也记录了 data:image/...;base64,... 形式。是否支持图像、大小限制和支持格式以模型详情及调试页为准,图像输入可能折算为输入 Token。

流式读取方法见返回结果、分页与流式响应;认证和 Base URL 配置见Endpoint 与身份认证