首页/AI/AI 应用速查/Chat Completions 接口(/v1/chat/completions)

Chat Completions 接口(/v1/chat/completions)

最通用的对话补全协议:POST JSON(model + messages),返回 choices[0].message.content;由 OpenAI 定义后成为行业事实标准,被绝大多数厂商兼容。

AI 应用速查AI更新于 2026-10-13

Chat Completions 是什么

Chat Completions 是使用最广的对话补全接口:向服务端发一个 JSON,里面写清模型名与消息数组,返回里取第一条候选消息的内容即可。它把多轮对话抽象成消息数组,把工具调用、结构化输出、多模态输入都统一挂在这套结构上,因此成了事实标准,几乎所有厂商都提供兼容端点。新项目也可以选更新的接口,但兼容性最好的仍是它。

基本信息

请求路径多数服务为 /v1/chat/completions
方法POST,请求体为 JSON
核心字段model 与 messages 为必填,其余按需
返回结构候选数组,每个候选含消息内容与结束原因
鉴权多数用 Authorization 请求头携带令牌
扩展能力工具调用、结构化输出、多模态内容块、流式输出

核心字段速查

字段作用常用取值
model指定调用的模型固定版本标识,避免滚动别名
messages消息数组,承载上下文按系统、用户、助手顺序排列
temperature控制随机性事实任务取低值,创意任务取高值
max_tokens限制输出长度按任务需要设置并留余量
stream是否逐块返回交互场景开启,批处理可关闭
tools声明可调用的工具仅在需要函数调用时传入

典型使用场景

  • 对话机器人:多轮上下文里维持话题连贯
  • 内容生成:摘要、改写、翻译、报告草稿
  • 信息抽取:把自由文本转成字段化的结构化数据
  • 工具编排:由模型决定调用哪个接口并组织结果
  • 批量处理:离线任务用同一接口循环调用并记录用量

最小可用请求

最小可用请求
curl -s https://api.openai.com/v1/chat/completions -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-4o","messages":[{"role":"system","content":"你是运维助手"},{"role":"user","content":"nginx 502 怎么排查"}],"temperature":0.2,"max_tokens":512}'  # 带上参数便于复现
# 返回里取第一个候选的消息内容作为回答,同时保留结束原因用于判断截断
# 多轮:把这次返回的助手消息追加进 messages 再发下一次请求
# 出错时先看状态码定位大类,再看错误体里的具体原因

程序侧的最小封装

程序侧的最小封装
from openai import OpenAI
client = OpenAI()                                  # 密钥从环境变量读取
r = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "总结这段话"}],
)
print(r.choices[0].message.content)                # 文本结果
print(r.usage)                                     # 用量,用于成本核算
# 解析时对字段做兜底:不同提供方的返回可能缺字段或附加额外字段

返回对象怎么读

字段含义注意
候选数组模型给出的回答列表通常取第一条,多候选场景按需遍历
消息内容正文文本工具调用场景下可能为空
结束原因为何停止生成长度限制与自然结束要区别处理
工具调用块模型要求的函数与参数需由你的代码执行后再回填结果
用量输入与输出的 token 数用于成本核算与限流预估

接入与上线检查

  • 先用最小请求跑通鉴权与模型名,再叠加工具与结构化输出
  • 把超时、重试与退避写进封装层,业务代码只调用封装
  • 记录每次请求的用量与结束原因,用于成本核算与截断排查
  • 提示词与模型版本纳入版本管理,改动后跑同一套回归用例
上下文长度限制是输入加输出合计:长历史配长回答很容易触顶,多轮应用要主动裁剪或摘要,而不是等报错。
把密钥写进前端代码再直连接口,等于对全网公开:所有模型调用都应经过自有后端或网关转发。

易错点

  • messages 里角色顺序混乱:系统消息不在最前、助手与用户消息交错错位,回答质量随之下滑
  • 忽略结束原因字段:被截断的回答被当成完整结果交付
  • 多轮对话把历史无限追加:输入 token 逐轮累积,成本与延迟一起上涨
  • 在同一处代码里同时调整多个采样参数:出现问题时无法判断是哪个改动导致的

数据来源与参考

  • OpenAI Chat Completions API 参考

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌