Skip to content

Chat Completions

接口:

text
POST /v1/chat/completions

SDK:

python
client.chat.completions.create(...)

请求字段

字段类型必填说明
modelstring使用 /v1/models 返回的模型 ID
messagesarrayOpenAI Chat messages
max_tokensnumber最大输出 token 数;如传入必须大于等于 0
max_completion_tokensnumber新版 OpenAI 兼容字段,按上游能力透传
temperaturenumber采样温度
top_pnumber核采样参数
presence_penaltynumberPresence penalty,按上游能力生效
frequency_penaltynumberFrequency penalty,按上游能力生效
ninteger候选数量,是否支持多个候选取决于上游
streambooleantrue 时返回 SSE
stream_options.include_usageboolean流式输出结束时包含 usage
toolsarrayOpenAI function tools
tool_choicestring/object支持常见 OpenAI tool choice
parallel_tool_callsboolean并行工具调用开关,按上游能力透传
enable_thinkingboolean兼容 Qwen 官方字段,显式控制 thinking/reasoning;OpenAI SDK 可放在 extra_body
llmgw_thinkingboolean网关扩展字段,显式开启或关闭 thinking/reasoning
qwen_explicit_cachestring/null仅精确用于 qwen3.5-plusqwen3.6-plus;缺省、null"auto" 默认启用网关自适应显式缓存,"off" 关闭网关自动注入
response_formatobject{"type":"json_object"} / JSON schema,控制输出格式
stopstring/array停止序列
seedinteger采样种子(上游支持时生效)
reasoning_effortstring推理强度,如 low/medium/high(上游支持时生效)
logprobs / top_logprobsboolean/integertoken 概率信息,按上游能力透传

网关还会接受并按上游能力透传 do_sampleverbositymetadatamodalitiespredictionaudiologit_bias、prompt cache 和搜索类扩展字段。供应商不支持某个字段时,可能忽略或返回上游参数错误;业务代码不应假设所有模型行为一致。

qwen_explicit_cache 是网关控制字段,不会转发给上游。自动模式仅在当前渠道已明确声明支持显式缓存、稳定 system/tools 前缀的保守下界达到至少 1024 tokens,且客户端未自行提供块级 cache_control 时添加一个断点;条件不足或 fallback 到非能力渠道时,请求保持原样并使用上游默认缓存行为。"off" 仅关闭网关自动显式缓存,不代表关闭百炼隐式缓存。

客户端手动提供的块级 marker 仅允许 {"type":"ephemeral"},单次请求最多四个;存在手动 marker 时只会选择已声明支持显式缓存的渠道,没有兼容渠道则返回 cache_control_unsupported

多模态输入

图片输入使用 OpenAI 标准 content parts:

json
{
  "role": "user",
  "content": [
    {"type": "text", "text": "这张图里有什么?"},
    {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
  ]
}

也支持 data:image/...;base64,...。请先用 /v1/model-catalog/{model} 判断模型是否包含 modalities.input: ["image"]

响应字段

非流式返回 OpenAI chat.completion 对象:

字段说明
id请求 ID
objectchat.completion
model实际响应模型
choices[].message.content文本输出;仅返回 tool_calls 时为 null
choices[].message.tool_calls工具调用数组({id,type:"function",function:{name,arguments}}),无工具调用时不返回
choices[].message.reasoning_contentV1 非流式响应不返回;需要非流式 reasoning 字段时使用 V2
choices[].finish_reason停止原因:stoplengthtool_calls
usagetoken 用量

流式返回 chat.completion.chunk SSE,最后一帧为:

text
data: [DONE]

流式文本位于 choices[].delta.content;如果已显式开启 thinking 且上游返回思考内容,流式 reasoning 位于 choices[].delta.reasoning_content

边界

边界说明
模型能力文本模型不能传图片
thinking网关扩展 llmgw_thinking / enable_thinking 按模型转换:qwen3.* 使用 enable_thinkingdeepseek-v4-* 显式开启时追加 /think,默认不会因显式关闭就追加 /no_think(带 tools 且未开启 thinking 时可能使用 /no_think 保持工具链);glm-* 使用 thinking 对象;其他模型按原生字段能力处理
reasoning只有上游返回 reasoning 字段时才会出现
流式超时客户端应设置较长 read timeout

示例

bash
curl -N https://llm.lytokens.com/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer sk-gtw-REPLACE_ME' \
  --data-raw '{
    "model": "qwen3.6-plus",
    "messages": [{"role": "user", "content": "解释什么是 RESTful API"}],
    "max_tokens": 2048,
    "stream": true,
    "stream_options": {"include_usage": true}
  }'

OpenAI-compatible API documentation.