🌌提供:
1. Kimi K2.6 - 网站|软件: **月之暗面(Moonshot AI)**于‌2026 年 4 月 20 日‌正式发布并开源的万亿参数大模型,标志着 Kimi 从“信息容器”向“执行引擎”的战略转型,核心聚焦于‌长程代码执行‌与‌多智能体(Agent)集群协作‌。‌‌【开源】「AL」 〖✿✿✿✿✿〗

🔔说明: Kimi K2.6犹如一位在数字原野上漫步的诗人,用算法的笔触勾勒出文字的万千气象。它像深夜书桌前那盏不灭的灯,默默陪伴每一次灵感的迸发。但正如月光下总有斑驳的树影,它的表达也难免偶有疏漏。若你愿意轻轻点拨,便如同为这片星空擦拭去浮云,让思想的银河更加璀璨明亮。
📓摘要:
   略...(求放过(⊙ˍ⊙),还请网友执笔,挥斥方遒)...(可以留下你刹那间的感触哦~~~(●'◡'●))

一、📖 前言:为什么需要了解这段历史?

大模型API(Application Programming Interface,应用程序接口)的演进史,本质上是一部**“从文本补全到智能体交互”**的进化史。理解这段历史,不仅能帮助你在技术选型时做出正确决策,更能让你看清行业趋势,避免在错误的接口标准上投入过多沉没成本。

本文将按时间线,从2020年全球第一代商用大模型API诞生讲起,一直到2025年OpenAI推出Responses API,全面梳理每一代API格式的核心特征、设计哲学、典型案例和适用场景。所有时间线均经过交叉验证,确保准确性。🎯


二、🕰️ 大模型API格式发展时间线总览

阶段 时间 代表API格式 核心特征 代表厂商
第一代 2020.06 - 2023.03 纯文本Completion API prompt字符串,无角色区分 OpenAI (GPT-3)
第二代 2023.03 - 至今 Chat Completions API messages数组,角色分层 OpenAI、DeepSeek、智谱GLM、Ollama等
第三代 2023.03 - 至今 Anthropic Messages API system顶层独立,messages仅user/assistant Anthropic (Claude)
第四代 2023.09 - 至今 国产厂商自研API 双模式(兼容+自研),本土化鉴权 百度千帆、阿里百炼、字节火山方舟
第五代 2025.01 - 至今 Responses API 扁平化参数,内置会话管理,原生Agent能力 OpenAI、腾讯TokenHub

三、第一代:纯文本Completion API(2020年6月 - 2023年3月)

1、时代背景与诞生

2020年6月,OpenAI发布了GPT-3(Generative Pre-trained Transformer 3,第三代生成式预训练Transformer模型),并同步推出了全球第一代商用大模型API——**/v1/completions**接口。这是大模型从实验室走向商业化的里程碑事件。🎉

当时,GPT-3拥有1750亿参数,是当时最大的语言模型。Completion API的设计非常朴素:你传入一段文本prompt(提示词),模型帮你补全后续文本。没有对话概念,没有角色区分,本质上是一个**“文本续写引擎”**。

1.1 核心设计规范

字段 类型 说明
prompt string 唯一核心输入:纯字符串,所有系统人设、历史对话、当前提问全部手动拼接
model string 模型名称,如 text-davinci-003
max_tokens integer 输出最大token数
temperature float 随机性控制(0-2),越高越创意
stop array 停止符,用于控制生成边界
stream boolean 是否流式输出

致命缺陷

  • ❌ 无角色隔离:system指令、用户、助手回复全部揉在一段文本里
  • ❌ 多轮对话全靠人工字符串模板拼接,极易格式错乱
  • ❌ 不支持原生多模态、函数调用、工具链
  • ❌ 返回结构简单,无标准化choices.message结构

1.2 完整案例:一轮对话(单轮生成)

# 📝 单轮问答:让模型介绍自己
curl -X POST https://api.openai.com/v1/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-davinci-003",
    "prompt": "请用一句话介绍GPT-3大模型:",
    "max_tokens": 100,
    "temperature": 0.7
  }'

返回结构

{
  "id": "cmpl-xxx",
  "object": "text_completion",
  "created": 1678888888,
  "model": "text-davinci-003",
  "choices": [
    {
      "text": "GPT-3是由OpenAI开发的拥有1750亿参数的大型语言模型,能够理解和生成自然语言文本。",
      "index": 0,
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 38,
    "total_tokens": 50
  }
}

1.3 完整案例:两轮对话(手动拼接上下文)

# 🔄 两轮对话:需要手动拼接全部历史到prompt字符串
curl -X POST https://api.openai.com/v1/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-davinci-003",
    "prompt": "【系统设定】你是专业AI技术助手,回答简洁清晰。\n用户:你好\n助手:你好,请问需要什么帮助?\n用户:帮我简单介绍大模型API的区别\n助手:",
    "max_tokens": 1024,
    "temperature": 0.7,
    "stop": ["\n用户:"]
  }'

拼接逻辑说明

  • 🧩 所有历史、系统指令、当前提问全部硬编码进prompt字符串
  • 🏷️ 手动用换行+标记用户:/助手:分割对话边界
  • 🔚 末尾追加助手:引导模型输出回复
  • 🛑 stop参数防止模型继续生成下一轮"用户"内容

1.4 Python SDK 完整示例(两轮对话)

from openai import OpenAI

client = OpenAI(api_key="sk-xxx")

# 🧩 第1步:手动拼接全部上下文
system_prompt = "【系统设定】你是专业AI技术助手,回答简洁清晰。\n"
history_text = "用户:你好\n助手:你好,请问需要什么帮助?\n"
current_question = "用户:帮我简单介绍大模型API的区别\n助手:"
full_prompt = system_prompt + history_text + current_question

# 🚀 发起第一代纯文本补全请求
resp = client.completions.create(
    model="text-davinci-003",
    prompt=full_prompt,
    max_tokens=1024,
    temperature=0.7,
    stop=["\n用户:"]
)

# 📤 提取模型输出文本
reply = resp.choices[0].text.strip()
print("🤖 模型回复:", reply)

# 🔄 下一轮拼接需要手动追加本轮对话文本
history_text += f"助手:{reply}\n用户:"

1.5 国内早期复刻版

国内初代大模型(文心1.0、通义初代、早期LLaMA部署)多采用类似格式:

# 🇨🇳 国内早期 /v1/generate 示例
curl -X POST http://localhost:8000/v1/generate \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "你是专业AI技术助手,回答简洁清晰。\n用户:你好\n助手:你好,请问需要什么帮助?\n用户:帮我简单介绍大模型API的区别",
    "max_new_tokens": 1024,
    "top_p": 0.9
  }'

1.6 淘汰时间线

时间节点 事件
2020.06 OpenAI发布GPT-3,Completion API诞生
2022年底 ChatGPT发布,引发全球大模型应用热潮
2023.03 OpenAI发布Chat Completions API(/v1/chat/completions),Completion开始被替代
2024.06 OpenAI正式下线text-davinci系列Completion模型
至今 仅存量私有部署、老旧内部系统还在使用,新项目禁止选用

四、第二代:Chat Completions API(2023年3月 - 至今)

2、时代背景与革命性意义

2023年3月1日,OpenAI发布了Chat Completions API/v1/chat/completions),这是大模型API发展史上最重要的转折点。📌 它首次引入了结构化消息数组messages,用role字段区分system(系统)、user(用户)、assistant(助手)、tool(工具)四种角色,彻底解决了Completion API中角色混淆、格式混乱的问题。

这套接口迅速成为行业事实标准,被全球几乎所有大模型厂商和开发框架采纳。截至2026年,90%以上的线上LLM业务仍在使用这套接口。🌍

2.1 核心设计规范

字段 类型 说明
messages array 核心消息数组,每条消息包含rolecontent
role string system/user/assistant/tool 四种角色
model string 模型名称,如 gpt-3.5-turbogpt-4
max_tokens integer 输出最大token数
temperature float 随机性控制
stream boolean 是否流式输出
tools array 函数调用/工具定义(2023年6月新增)

设计哲学

  • 角色隔离:system、user、assistant各司其职,模型不再混淆身份
  • 结构化多轮:每轮追加消息,逻辑清晰
  • 生态无敌:LangChain、LlamaIndex、Dify、FastGPT等框架全部兼容
  • 多模态扩展:支持图片URL/base64输入

2.2 完整案例:一轮对话

# 💬 单轮对话:用户直接提问
curl -X POST https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "你是专业技术助手,回答简洁准确"},
      {"role": "user", "content": "请介绍Chat Completions API的核心优势"}
    ],
    "stream": false,
    "temperature": 0.7,
    "max_tokens": 1024
  }'

返回结构

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1678888888,
  "model": "gpt-4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Chat Completions API的核心优势包括:1. 结构化消息数组,角色清晰;2. 原生支持多轮对话;3. 生态兼容性最强;4. 支持函数调用和多模态。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 58,
    "total_tokens": 83
  }
}

2.3 完整案例:两轮对话(上下文拼接)

# 🔄 两轮对话:必须携带全部历史消息
curl -X POST https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "你是专业AI技术助手,回答简洁清晰"},
      {"role": "user", "content": "你好"},
      {"role": "assistant", "content": "你好,请问需要什么帮助?"},
      {"role": "user", "content": "帮我简单介绍大模型API的区别"}
    ],
    "stream": false,
    "temperature": 0.7
  }'

拼接规则

  • 📋 每轮必须全量上传 system + 全部历史user/assistant
  • 🚫 无服务端会话缓存,本地messages数组是唯一上下文来源
  • 📈 长对话请求体体积持续膨胀,网络传输开销高

2.4 Python SDK 完整示例(两轮对话)

from openai import OpenAI

# 🔧 初始化客户端
client = OpenAI(
    base_url="https://api.openai.com/v1/",
    api_key="sk-xxx"
)

# 💾 本地持久存储完整对话数组(核心:每轮追加,不丢弃历史)
messages = [
    {"role": "system", "content": "你是专业AI技术助手,回答简洁清晰"},
    {"role": "user", "content": "你好"},
    {"role": "assistant", "content": "你好,请问需要什么帮助?"},
]

# ➕ 第二轮追加用户新提问
messages.append({"role": "user", "content": "帮我简单介绍大模型API的区别"})

# 🚀 发起请求
resp = client.chat.completions.create(
    model="gpt-4",
    messages=messages,
    stream=False,
    temperature=0.7
)

# 📤 打印模型返回
reply = resp.choices[0].message.content
print("🤖 模型回复:", reply)

# 💾 业务侧必须本地存储本次assistant回复,用于下一轮拼接
messages.append({"role": "assistant", "content": reply})

2.5 流式输出示例(stream=true)

# ⚡ 流式输出:打字机效果实时返回
curl -X POST https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "你是专业技术助手"},
      {"role": "user", "content": "你好"}
    ],
    "stream": true,
    "temperature": 0.7
  }'

流式返回格式(SSE - Server-Sent Events):

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant"},"index":0}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"你好"},"index":0}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"!"},"index":0}]}

data: [DONE]

2.6 函数调用(Function Calling)示例

2023年6月,OpenAI在Chat Completions中引入了Function Calling(函数调用),让模型可以调用外部工具:

from openai import OpenAI

client = OpenAI(api_key="sk-xxx")

# 🔧 定义工具函数
functions = [
    {
        "name": "get_weather",
        "description": "获取指定城市的天气信息",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "城市名称"},
                "date": {"type": "string", "description": "日期,格式YYYY-MM-DD"}
            },
            "required": ["city"]
        }
    }
]

messages = [{"role": "user", "content": "北京今天天气怎么样?"}]

resp = client.chat.completions.create(
    model="gpt-4",
    messages=messages,
    tools=[{"type": "function", "function": f} for f in functions],
    tool_choice="auto"
)

# 🤖 模型决定调用函数
if resp.choices[0].message.tool_calls:
    tool_call = resp.choices[0].message.tool_calls[0]
    print(f"🛠️ 模型请求调用函数:{tool_call.function.name}")
    print(f"📋 参数:{tool_call.function.arguments}")
    # 开发者执行函数后,将结果以role=tool返回

2.7 国内厂商兼容情况

厂商 兼容路径 特点
DeepSeek /v1/chat/completions 完全OpenAI兼容,无缝迁移
智谱GLM /api/paas/v4/chat/completions 自研+兼容双模式
Ollama /api/chat + /v1/chat/completions 本地开源模型标准兼容
腾讯TokenHub /v1/chat/completions 对齐OpenAI标准
字节火山方舟 /api/v3/chat/completions 兼容模式+自研原生双模式
阿里百炼 /compatible-mode/v1/chat/completions 兼容+自研双模式

五、第三代:Anthropic Messages API(2023年3月 - 至今)

3、Claude的原生标准

2023年3月14日,Anthropic(由前OpenAI研究人员Dario Amodei等人创立)发布了Claude 1Claude Instant,并同步推出了Anthropic API。这是Claude系列的专属接口标准,与OpenAI的Chat Completions并行存在,成为行业另一大主流规范。🎭

核心区别:Anthropic将system提示词从messages数组中剥离出来,作为顶层独立参数,数组内仅保留userassistant两种角色。这种设计更加简洁,避免了system消息混入对话流的混乱。

3.1 核心设计规范

字段 类型 说明
system string 顶层独立系统提示,不混入messages数组
messages array 仅包含userassistant两种角色
model string claude-3-sonnet-20240229
max_tokens integer 输出最大token数(Anthropic中必填
temperature float 随机性控制
anthropic-version header 必填请求头,如 2023-06-01

3.2 完整案例:一轮对话

# 💬 Claude单轮对话
curl -X POST https://api.anthropic.com/v1/messages \
  -H "x-api-key: sk-ant-xxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-sonnet-20240229",
    "system": "你是专业AI技术助手,回答简洁清晰",
    "messages": [
      {"role": "user", "content": "请介绍Anthropic Messages API的特点"}
    ],
    "max_tokens": 1024,
    "temperature": 0.7
  }'

3.3 完整案例:两轮对话

# 🔄 Claude两轮对话:全量messages上传
curl -X POST https://api.anthropic.com/v1/messages \
  -H "x-api-key: sk-ant-xxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-sonnet-20240229",
    "system": "你是专业AI技术助手,回答简洁清晰",
    "messages": [
      {"role": "user", "content": "你好"},
      {"role": "assistant", "content": "你好,请问需要什么帮助?"},
      {"role": "user", "content": "帮我简单介绍大模型API的区别"}
    ],
    "max_tokens": 1024,
    "temperature": 0.7
  }'

3.4 Python SDK 完整示例(两轮对话)

import anthropic

# 🔧 初始化Anthropic客户端
client = anthropic.Anthropic(api_key="sk-ant-xxx")

# 💾 本地维护消息数组(无云端会话缓存)
messages = [
    {"role": "user", "content": "你好"},
    {"role": "assistant", "content": "你好,请问需要什么帮助?"},
]

# ➕ 第二轮追加用户提问
messages.append({"role": "user", "content": "帮我简单介绍大模型API的区别"})

# 🚀 发起请求
resp = client.messages.create(
    model="claude-3-sonnet-20240229",
    system="你是专业AI技术助手,回答简洁清晰",
    messages=messages,
    max_tokens=1024,  # ⚠️ Anthropic中必填!
    temperature=0.7
)

# 📤 提取回复(注意:Anthropic返回结构不同)
reply = resp.content[0].text
print("🤖 模型回复:", reply)

# 💾 本地保存本轮回复,用于第三轮拼接
messages.append({"role": "assistant", "content": reply})

3.5 Anthropic Messages API 与 OpenAI Chat Completions 核心差异对比

对比维度 Anthropic Messages API OpenAI Chat Completions
system位置 顶层独立参数 messages数组内role=system
messages角色 user/assistant system/user/assistant/tool
鉴权Header x-api-key Authorization: Bearer
必填Header anthropic-version 无特殊必填Header
max_tokens 必填 可选
返回结构 content[0].text choices[0].message.content
工具调用 tool_use / tool_result tool_calls / tool
上下文缓存 支持Prompt Caching(2024.08) 不支持原生缓存
批次处理 Message Batches API(2024.10) 无原生批次API

3.6 Anthropic特色能力演进

时间 能力 说明
2023.05 100K上下文窗口 业界首个10万token上下文
2023.11 200K上下文 + System Prompts + Tool Use Beta Claude 2.1重大升级
2024.03 多模态视觉输入 Claude 3全系列支持图片
2024.05 Tool Use GA 工具调用正式版
2024.08 Prompt Caching 长提示词缓存,降本增效
2024.10 Computer Use 模型可操作计算机界面
2025.02 Extended Thinking 混合推理模式(Claude 3.7)
2025.05 Memory Tool + Files API 服务端持久记忆+文件上传

六、第四代:国产厂商自研API(2023年9月 - 至今)

4、背景:国产大模型的"双轨制"

2023年9月,随着国内大模型备案制度落地,百度文心、阿里通义、字节豆包等国产大模型开始大规模商用。这些厂商普遍采取了**"双轨制"策略**:

  • 🛤️ 轨道A:提供OpenAI兼容接口,降低开发者迁移成本
  • 🛤️ 轨道B:自研原生接口,满足本土化需求(特殊鉴权、参数、功能)

4.1 百度文心千帆 ERNIE 原生接口

4.1.1 发展时间线
时间 事件
2023.03 文心一言发布,千帆平台开始内测
2023.09 通义千问首批通过备案,正式开放API
2023.10 文心4.0发布,千帆API调用量快速增长
2024.09 百度智能云公布千帆平台市场成绩,文心大模型日均调用量超7亿次
4.1.2 核心设计规范(与OpenAI的关键差异)
维度 百度千帆原生 OpenAI Chat Completions
请求路径 /rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions /v1/chat/completions
鉴权方式 URL拼接access_token Header Authorization: Bearer
system位置 顶层独立system字段 messages数组内
messages角色 user/assistant,不能写system system/user/assistant/tool
消息顺序 必须奇数条,严格交替user→assistant→user 无强制规则
获取token 需先调用OAuth接口换取access_token 直接使用API Key
4.1.3 鉴权流程(前置步骤)
# 🔑 第1步:获取access_token(OAuth 2.0客户端凭证模式)
curl -X POST "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的API_KEY&client_secret=你的SECRET_KEY"

# 📤 返回示例
{
  "refresh_token": "25.xxx",
  "expires_in": 2592000,
  "session_key": "xxx",
  "access_token": "24.xxx",  # ⭐ 后续请求使用此token
  "scope": "public brain_all_scope",
  "session_secret": "xxx"
}
4.1.4 完整案例:一轮对话
# 💬 千帆单轮对话
curl -X POST "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=24.xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ernie-4.0-turbo",
    "system": "你是专业AI技术助手,回答简洁清晰",
    "messages": [
      {"role": "user", "content": "请介绍文心千帆API的特点"}
    ],
    "temperature": 0.7,
    "max_output_tokens": 1024,
    "stream": false
  }'
4.1.5 完整案例:两轮对话
# 🔄 千帆两轮对话:注意messages仅user/assistant,顶层system
curl -X POST "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=24.xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ernie-4.0-turbo",
    "system": "你是专业AI技术助手,回答简洁清晰",
    "messages": [
      {"role": "user", "content": "你好"},
      {"role": "assistant", "content": "你好,请问需要什么帮助?"},
      {"role": "user", "content": "帮我简单介绍大模型API的区别"}
    ],
    "temperature": 0.7,
    "max_output_tokens": 1024,
    "stream": false
  }'
4.1.6 Python SDK 示例(qianfan库)
import qianfan

# 🔧 配置鉴权(自动获取token,无需手动拼接URL)
qianfan.AK = "你的API_KEY"
qianfan.SK = "你的SECRET_KEY"

# 💾 本地维护多轮历史,messages仅存user/assistant
messages = [
    {"role": "user", "content": "你好"},
    {"role": "assistant", "content": "你好,请问需要什么帮助?"},
]

# ➕ 第二轮追加用户提问
messages.append({"role": "user", "content": "帮我简单介绍大模型API的区别"})

# 🚀 调用原生ERNIE对话接口
chat_comp = qianfan.ChatCompletion()
resp = chat_comp.do(
    model="ernie-4.0-turbo",
    system="你是专业AI技术助手,回答简洁清晰",
    messages=messages,
    temperature=0.7,
    max_output_tokens=1024
)

reply = resp["result"]
print("🤖 模型回复:", reply)

# 💾 本地持久本轮assistant消息,用于下一轮拼接
messages.append({"role": "assistant", "content": reply})

4.2 阿里百炼(DashScope)双模式

4.2.1 发展时间线
时间 事件
2023.04 通义千问开启邀测
2023.09.13 通义千问首批通过备案,正式向公众开放
2023.09.25 开源Qwen-14B及其对话模型
2023.12 DashScope模型服务正式商用
4.2.2 双模式架构
┌─────────────────────────────────────────┐
│           阿里百炼 DashScope            │
├─────────────────┬───────────────────────┤
│  兼容模式       │      自研原生模式      │
│  (OpenAI兼容)   │   (DashScope原生)     │
├─────────────────┼───────────────────────┤
│ /compatible-    │ /api/v1/services/     │
│ mode/v1/chat/   │ aigc/text-generation/ │
│ completions     │ generation            │
├─────────────────┼───────────────────────┤
│ 标准messages    │ 自研参数结构          │
│ Bearer鉴权      │ 阿里云鉴权体系        │
│ 全生态兼容      │ 功能更丰富            │
└─────────────────┴───────────────────────┘
4.2.3 兼容模式示例(一轮)
# 💬 阿里百炼兼容模式:与OpenAI完全一致
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-turbo",
    "messages": [
      {"role": "system", "content": "你是专业助手"},
      {"role": "user", "content": "你好"}
    ],
    "temperature": 0.7
  }'

4.3 字节火山方舟(Ark)双模式

4.3.1 核心特点

字节跳动旗下火山引擎的大模型服务平台,同样提供双模式:

# 🌋 火山方舟兼容模式
curl -X POST https://ark.cn-beijing.volces.com/api/v3/chat/completions \
  -H "Authorization: Bearer xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ep-xxx",
    "messages": [
      {"role": "system", "content": "专业助手"},
      {"role": "user", "content": "你好"},
      {"role": "assistant", "content": "你好,请问需要什么帮助?"},
      {"role": "user", "content": "帮我简单介绍大模型API的区别"}
    ]
  }'

4.4 国产厂商API核心差异汇总

厂商 原生路径 鉴权方式 system位置 兼容模式
百度千帆 /rpc/2.0/.../chat/completions URL access_token 顶层独立 提供兼容模式
阿里百炼 /api/v1/services/.../generation 阿里云AK/SK 自研结构 /compatible-mode/v1/...
字节方舟 自研路径 Bearer messages内 /api/v3/chat/completions
智谱GLM /api/paas/v4/chat/completions Bearer messages内 完全兼容
DeepSeek /v1/chat/completions Bearer messages内 完全兼容

七、第五代:Responses API(2025年1月 - 至今)

5、OpenAI的新一代原生标准

2025年1月,OpenAI正式推出了Responses API/v1/responses),这是继Chat Completions之后的新一代原生接口标准。腾讯TokenHub等平台同步对齐该标准。🆕

核心设计哲学

  • 🎯 扁平化参数:用instructions(系统提示)+ input(用户输入)替代messages数组
  • 🧠 内置会话管理:通过previous_response_id自动携带历史上下文
  • 🤖 原生Agent能力:深度支持多工具循环调用、文件解析、代码执行
  • 📁 原生多模态:支持图片、PDF、Word、TXT等文件直接上传解析

5.1 核心设计规范

字段 类型 说明
instructions string 全局系统提示(替代system角色)
input string/array 当前用户输入(可传文本或结构化内容)
previous_response_id string 上一轮响应ID,自动携带历史上下文
model string 模型名称
max_output_tokens integer 输出最大token数(注意:不是max_tokens
temperature float 随机性控制
stream boolean 流式输出

5.2 完整案例:一轮对话

# 💬 Responses API单轮对话
curl -X POST https://api.openai.com/v1/responses \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "instructions": "你是专业技术助手,回答简洁准确",
    "input": "你好,请介绍Responses API的核心优势",
    "stream": false,
    "temperature": 0.7,
    "max_output_tokens": 1024
  }'

返回结构

{
  "id": "resp_001",
  "object": "response",
  "created_at": 1678888888,
  "model": "gpt-4o",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Responses API的核心优势包括:1. 扁平化参数,简化开发;2. 内置会话管理,自动携带历史;3. 原生Agent能力,支持多工具循环;4. 原生文件解析,支持PDF/Word等。"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 15,
    "output_tokens": 62,
    "total_tokens": 77
  }
}

5.3 完整案例:两轮对话(使用previous_response_id)

# 🔄 第1轮:获取resp_id
curl -X POST https://api.openai.com/v1/responses \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "instructions": "你是专业AI技术助手,回答简洁清晰",
    "input": "你好",
    "stream": false
  }'

# 📤 返回中包含 "id": "resp_001"

# 🔄 第2轮:携带previous_response_id接续上下文
curl -X POST https://api.openai.com/v1/responses \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "instructions": "你是专业AI技术助手,回答简洁清晰",
    "input": "帮我简单介绍大模型API的区别",
    "previous_response_id": "resp_001",
    "stream": false,
    "temperature": 0.7
  }'

5.4 Python SDK 完整示例(两轮对话 + 兜底容灾)

from openai import OpenAI

client = OpenAI(
    base_url="https://api.openai.com/v1/",
    api_key="sk-xxx"
)

# ========== 🚀 第一轮对话 ==========
round1 = client.responses.create(
    model="gpt-4o",
    instructions="你是专业AI技术助手,回答简洁清晰",
    input="你好"
)
last_resp_id = round1.id
assistant_reply_1 = round1.output_text

# 💾 本地数据库持久完整历史(必须存,用于缓存失效兜底)
history = [
    {"role": "user", "content": "你好"},
    {"role": "assistant", "content": assistant_reply_1}
]

# ========== 🔄 第二轮:携带resp_id接续 ==========
try:
    round2 = client.responses.create(
        model="gpt-4o",
        instructions="你是专业AI技术助手,回答简洁清晰",
        input="帮我简单介绍大模型API的区别",
        previous_response_id=last_resp_id,
        temperature=0.7
    )
    new_resp_id = round2.id
    reply = round2.output_text

except Exception as e:
    # ⚠️ 捕获会话失效报错,走兜底:手动拼接本地完整历史
    print(f"⚠️ 会话缓存失效:{e}")
    full_context = "历史对话:\n"
    for msg in history:
        role_name = "用户" if msg["role"] == "user" else "助手"
        full_context += f"{role_name}{msg['content']}\n"
    full_context += "当前提问:帮我简单介绍大模型API的区别"

    round2 = client.responses.create(
        model="gpt-4o",
        instructions="你是专业AI技术助手,回答简洁清晰",
        input=full_context
    )
    new_resp_id = round2.id
    reply = round2.output_text

# 💾 本地追加本轮对话,持久化用于下一轮
history.append({"role": "user", "content": "帮我简单介绍大模型API的区别"})
history.append({"role": "assistant", "content": reply})
print("🤖 模型回复:", reply)

5.5 流式输出示例

# ⚡ Responses API流式输出
curl -X POST https://api.openai.com/v1/responses \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "instructions": "你是专业技术助手",
    "input": "你好",
    "stream": true,
    "temperature": 0.7,
    "max_output_tokens": 1024
  }'

5.6 Responses API vs Chat Completions API 核心对比

对比维度 Chat Completions API Responses API
参数结构 数组式messages,每条带role 扁平化instructions+input
协议兼容性 全行业兼容,生态最完善 OpenAI 2025新标准,兼容性逐步扩展
多轮对话 手动维护完整messages数组 previous_response_id自动携带历史
工具/Agent 基础function call,手动管理 原生深度Agent能力,内置多工具循环
多模态 仅支持图片输入 原生支持图片、PDF、Word、TXT
输出参数 max_tokens max_output_tokens
会话缓存 服务端临时缓存(几分钟~几小时)
本地存储 必须存完整messages 必须存完整history(resp_id只是辅助)

八、📊 五大API格式核心对比总表

维度 Completion Chat Completions Anthropic Messages 国产自研 Responses
诞生时间 2020.06 2023.03 2023.03 2023.09 2025.01
当前状态 🚫 已淘汰 ✅ 主流 ✅ 主流 ✅ 主流 🆕 新趋势
上下文方式 prompt字符串拼接 messages全量上传 messages全量上传 messages全量上传 previous_response_id
角色区分 ❌ 无 ✅ system/user/assistant/tool ✅ system顶层+user/assistant 各异 instructions/input
生态兼容 遗留系统 全行业 Claude专属 双模式 逐步扩展
会话缓存 ❌ 无 ❌ 无 ❌ 无 ❌ 无 ✅ 临时缓存
Agent能力 ❌ 无 ⚠️ 基础 ⚠️ 基础 ⚠️ 基础 ✅ 原生深度
文件解析 ❌ 无 ⚠️ 图片 ⚠️ 图片 各异 ✅ PDF/Word/TXT
本地存储 必须存prompt 必须存messages 必须存messages 必须存messages 必须存history

九、🛠️ 多轮对话上下文拼接核心对比

9.1 统一业务场景

所有API共用以下对话流程进行横向对比:

第1轮
👤 用户:你好
🤖 模型:你好,请问需要什么帮助?
第2轮(需要携带上下文)
👤 用户:帮我简单介绍大模型API的区别

9.2 各API拼接方式对比

API类型 上下文携带方式 是否依赖本地存储 云端会话缓存 长对话传输体积
OpenAI Chat Completions 每轮全量messages上传 ✅ 必须完整存储 ❌ 无缓存 📈 持续变大
OpenAI Responses 优先previous_response_id;失效手动拼接 ✅ 必须完整存储兜底 ⏱️ 临时时效缓存 📉 正常轮次体积小
Anthropic Messages 每轮全量messages上传 ✅ 必须完整存储 ❌ 无缓存 📈 持续变大
百度千帆原生 每轮全量messages上传 ✅ 必须完整存储 ❌ 无缓存 📈 持续变大
Ollama/火山/GLM兼容版 全量messages ✅ 必须完整存储 ❌ 无缓存 📈 持续变大
第一代Completion 字符串手动拼接 ✅ 必须拼接文本 ❌ 无缓存 📈 持续变大

十、💡 给使用者的重要忠告

10.1 技术选型忠告

  1. 🎯 存量系统/兼容多厂商/本地开源模型 → 优先 Chat Completions API

    • 行业通用标准,不用重构代码
    • 兼容LangChain、Dify、FastGPT等全部框架
    • 迁移成本最低,社区资源最丰富
  2. 🆕 全新自研项目、复杂Agent、文档处理、长会话 → 优先 Responses API

    • 内置会话、工具、文件能力,大幅减少业务层代码
    • 长期是OpenAI官方迭代方向
    • 但注意:兼容性仍在扩展中,老旧框架可能不支持
  3. 🎭 Claude专属业务 → 使用 Anthropic Messages API

    • Claude在代码、推理、安全方面有明显优势
    • Prompt Caching、Computer Use等特色能力值得利用
  4. 🇨🇳 百度千帆私有化/商用 → 使用千帆ERNIE原生接口

    • 注意顶层system字段、URL access_token鉴权、messages角色限制
  5. ⚠️ 新项目禁止选用第一代Completion API

    • 2024年6月OpenAI已正式下线,仅维护遗留系统

10.2 开发实践忠告

  1. 💾 所有API业务层统一持久化完整对话历史

    • 无论是否支持previous_response_id,本地存储都是必须的
    • Responses API的resp_id只是性能优化,不能替代持久化
  2. 🛡️ Responses API必须做双重设计

    • previous_response_id提速 + 本地history兜底防缓存失效
    • 服务端缓存会过期、节点漂移会丢失,必须有兜底方案
  3. 📏 注意Token消耗与成本控制

    • Chat Completions长对话请求体体积持续膨胀,注意max_tokens设置
    • Responses API区分max_output_tokens,计费粒度更精细
  4. 🔐 鉴权方式不可混用

    • OpenAI用Authorization: Bearer
    • 百度千帆用URL access_token
    • Anthropic用x-api-key + anthropic-version
    • 各厂商鉴权体系完全隔离
  5. 🧪 测试时务必验证多轮对话

    • 单轮通不代表多轮通
    • 特别注意messages顺序、角色合法性、奇偶条数等约束
  6. 📚 关注官方文档更新

    • 大模型API迭代极快,2023-2025年几乎每季度都有重大更新
    • 建议订阅OpenAI、Anthropic、各云厂商的开发者公告

10.3 架构设计忠告

┌─────────────────────────────────────────────────────────┐
│                  推荐架构设计模式                         │
├─────────────────────────────────────────────────────────┤
│  1. 抽象层:统一封装不同API的请求/响应格式                │
│  2. 存储层:MySQL/Redis持久化完整对话历史                 │
│  3. 缓存层:response_id作为辅助缓存,减少传输体积          │
│  4. 兜底层:缓存失效时,用本地history手动拼接上下文       │
│  5. 监控层:Token消耗、响应延迟、错误率实时监控           │
└─────────────────────────────────────────────────────────┘

十一、🔮 未来趋势展望

  1. Responses API将逐步成为主流:OpenAI官方主推,新能力优先下放
  2. Agent原生能力成为标配:工具调用、文件解析、代码执行将内置于API层
  3. 多模态统一接口:文本、图片、音频、视频将统一到一个input字段
  4. 服务端记忆持久化:从临时缓存向永久云端记忆演进
  5. 国产厂商加速对齐:百度、阿里、字节等将加速推出Responses兼容接口
  6. 标准化与碎片化并存:通用标准(Chat Completions/Responses)与厂商特色(Anthropic Messages/千帆原生)将长期共存

📝 结语:大模型API的演进,本质上是从"文本补全"到"结构化对话"再到"智能体交互"的进化。作为开发者,理解每一代API的设计哲学和适用边界,才能在快速变化的技术浪潮中做出正确的架构决策。希望本文能成为你技术选型时的可靠参考!🚀


文档生成时间:2026年6月25日 | 基于OpenAI、Anthropic、百度、阿里、字节等官方文档及行业报告整理



📖原文: 芳林新叶催陈叶,流水前波让后波。—— 唐·刘禹锡《乐天见示伤微之敦诗晦叔三君子皆有深分因成是诗以寄》

⌛怡然: ...


🪁 LuminKu looks forward to seeing you again 🌌

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐