跳转到内容
Русский

Chat Completions 对话接口

POST /v1/chat/completions 的最小请求、常用字段、响应读取和多轮对话写法。

使用 OpenAI 兼容客户端,或已有 chat.completions.create 代码时,从这个接口开始。完整地址是 https://1zheai.com/v1/chat/completions;SDK 的 Base URL 只填到 /v1。

先在终端设置 ONEZHE_API_KEY 为本站密钥。下面的模型必须存在于你的可用模型列表中。

bash
curl --fail-with-body --connect-timeout 10 --max-time 120 \
https://1zheai.com/v1/chat/completions \
-H "Authorization: Bearer $ONEZHE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{"role": "user", "content": "请用一句中文解释 DNS 的作用。"}]
}'

--fail-with-body 让 HTTP 错误返回非零退出码,同时保留错误正文;需要 curl 7.76 或更新版本。旧版可先用 -i 查看状态码。

字段类型使用方式
modelstring必填,复制本站模型 ID,不添加其他平台的供应商前缀
messagesarray必填,按顺序发送本轮问题和需要保留的历史消息
messages[].rolestring普通对话使用 user / assistant;系统指令的角色支持依模型而定
messages[].contentstring 或内容块数组纯文本先用字符串;图片输入需模型支持对应内容块
streamboolean设为 true 时读取 SSE,不再把整份响应当作一个 JSON
temperaturenumber可选,部分推理模型不支持修改;先省略再逐项验证
tools / tool_choicearray / string 或 object可选,模型与上游都需支持;工具实际执行由你的程序完成

输出上限参数随模型而异。不要把 Claude 的 max_tokens、Responses 的 max_output_tokens 和 Chat Completions 的参数机械互换;参考所选模型要求,遇到 400 先看错误正文。

普通文本结果位于 choices[0].message.content。结束原因在 choices[0].finish_reason;返回工具调用时,文本可能为空,需要读取 message.tool_calls。响应的 id、model 和 usage 可用于核对这次调用。

下面只展示需要关注的结构,省略字段与数字不代表真实请求结果:

json
{
"id": "example-completion",
"object": "chat.completion",
"model": "gpt-5.6-sol",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "DNS 将域名解析为网络地址。"},
"finish_reason": "stop"
}]
}

接口不会因为你重复使用同一密钥就自动记住前一轮。将需要保留的历史一起发送:

json
{
"model": "gpt-5.6-sol",
"messages": [
{"role": "user", "content": "我正在学习 DNS。"},
{"role": "assistant", "content": "我们可以从域名解析开始。"},
{"role": "user", "content": "它和 HTTP 有什么区别?"}
]
}

历史越长,请求越大。应用应按上下文限制裁剪或摘要,并保留完整的工具调用与结果配对。

加上 "stream": true 后,文本增量来自 choices[].delta.content。有些事件没有文本或 choices 为空,读取时要判断;详见流式输出。

直接运行 Python / Node.js 完整示例,或改用 Responses;Claude 原生参数见 Messages。