最新消息: 找到一个合适的灵魂(SOUL)和相处方式(AGENTS)是开启AI私人助理的第一步。

openai-completions、openai-responses、anthropic-messages这三个API类型的区别

9 浏览 0 条评论 接口

这三个 API 类型分别对应三种不同的大模型接口协议规范,常见于模型聚合平台(如 Dify、FastGPT、OneAPI 等)中供用户选择。


基本对应关系

API 类型 对应官方接口 端点路径
openai-completions OpenAI Chat Completions API /v1/chat/completions
openai-responses OpenAI Responses API /v1/responses
anthropic-messages Anthropic Messages API /v1/messages

会话状态管理

  • openai-completions​:​无状态​。每次请求都需要客户端自行维护并传入完整的 messages 历史数组,服务端不保存对话上下文。
  • openai-responses​:​支持服务端状态管理​。可通过 previous_response_id 链接上一轮响应,或使用 conversations API 持久化会话,服务端自动管理上下文。
  • anthropic-messages​:​无状态​。与 openai-completions 类似,需要客户端传入完整的 messages 数组。

请求体结构

系统提示(System Prompt)

  • openai-completions​:system 提示作为 messages 数组中的一个元素,role: "system"
  • openai-responses​:支持独立的 instructions 字段,也可以将 system 消息放入 input 数组中。
  • anthropic-messages​:system 是一个​独立的顶层字段​,与 messages 数组分离。

消息角色与格式

  • openai-completions​:支持 systemuserassistanttool 四种角色;content 可以是字符串或数组。
  • openai-responses​:input 参数更灵活,可直接传字符串(简化模式)或消息数组。
  • anthropic-messages​:仅支持 userassistant 两种角色(system 独立);content必须是数组​(如 [{"type": "text", "text": "..."}]);消息必须严格交替(user → assistant → user),且第一条必须是 user。

必填参数差异

  • openai-completions​:max_tokens 可选,有默认值。
  • openai-responses​:类似,部分参数有默认值。
  • anthropic-messages​:max_tokens必填​,无默认值。

内置工具支持

这是 openai-responses 与前两者最大的功能差异:

功能 openai-completions openai-responses anthropic-messages
Web 搜索 ❌ 不支持 ✅ 内置支持 ❌(需自行实现)
File Search ❌ 不支持 ✅ 内置支持 ❌(需自行实现)
Code Interpreter ❌ 不支持 ✅ 内置支持(开发中) ❌(需自行实现)
Computer Use ❌ 不支持 ✅ 内置支持 ❌(需自行实现)
MCP 集成 ❌ 不支持 ✅ 内置支持 ❌(需自行实现)
函数调用(Function Calling) ✅ 支持 ✅ 支持 ✅ 支持(tool_use 块)

响应体结构

  • openai-completions​:响应嵌套在 choices[0].message.content 中,结束原因为 finish_reason
  • openai-responses​:提供便捷的 output_text 属性直接获取文本,完整结构为 output 数组,每个元素为类型化的 item 对象。
  • anthropic-messages​:响应在顶层 content 数组中,结束原因为 stop_reason,角色在顶层 role 字段。

流式输出(Streaming)

  • openai-completions​:基于 SSE,数据片段中为 choices[0].delta.content 结构。
  • openai-responses​:事件驱动架构,发布语义化的事件(如文本追加、工具调用开始/结束等),类型更清晰。
  • anthropic-messages​:流式事件类型、content block、stop_reason 等字段名与 OpenAI 完全不同,需单独解析。

鉴权方式

  • openai-completions / openai-responses​:Authorization: Bearer <token>
  • anthropic-messages​:x-api-key: <token>,并常配合 anthropic-version 头部

选型建议

场景 推荐 API 类型
新项目,需要内置工具(搜索、文件检索等) openai-responses
新项目,简单对话场景,追求生态兼容性 openai-completions
迁移旧项目,依赖大量 OpenAI 生态工具 openai-completions
对接 Claude 系列模型,使用原生特性 anthropic-messages
使用 LangChain、Dify 等框架(默认 OpenAI 格式) openai-completions
需要 Claude 的超长上下文、thinking 推理 anthropic-messages

openai-completions 是行业最广泛采用的标准接口;openai-responses 是 OpenAI 官方推荐的新一代 API,功能更强但生态尚在建设中;anthropic-messages 是 Anthropic 的原生协议,与 OpenAI 体系在结构上存在根本性差异,不能简单互换。