从历史演化和实际工程角度,可以按 「协议代际 × 功能域 × 调用模式」 三个维度来切。下面先给骨架,再补每个类型的典型端点和用途。
按「接口协议代际」(最核心的分类轴)
这是你选技术路线时最先碰到的那层差异。
| 代 | 类型/称呼 | 典型端点 | 本质心智模型 | 现在该不该用 |
|---|---|---|---|---|
| 第1代 | Completions API(Text Completion) | POST /v1/completions |
纯文本接龙:prompt → 续写文本 |
❌ 新项目别碰,只存在于遗留代码 |
| 第2代 | Chat Completions API(对话/消息协议) | POST /v1/chat/completions |
多轮对话:messages → assistant message |
✅ 事实标准,跨厂商兼容层最广 |
| Anthropic Messages API(Claude 原生) | POST /v1/messages |
同代「消息模型」但独立协议体系 | ✅ 用 Claude 时的首选原生通道 | |
| 第3代 | Responses API(OpenAI 新任务/工作流协议) | POST /v1/responses |
任务执行器:带服务端状态、内置工具、输出是多态 items | ✅ OpenAI 生态新项目主推方向 |
| 旁支 | 兼容适配层(One-API / LiteLLM /网关) | 伪装成上面某一种 | 用一个形状去统一不同后端 | ⚠️ 看场景,会丢失厂商专属能力 |
openai-completions / openai-responses / anthropic-messages是这三代的三角关系。
按「功能域」(同一代协议内部的业务类型)
不管哪家厂商,只要你说"大模型API",落到具体端点,都会分到这些功能域:
1. 文本生成 / 对话(核心)
| API 类型 | 做什么 | 典型产物 |
|---|---|---|
| Chat / Messages | 问答、写作、总结、翻译、代码 | 自然语言文本(可流式) |
| Completion(legacy) | 续写、填空(旧范式) | 纯文本片段 |
这是 90% 产品调用的起点。
2. 结构化输出 / JSON Mode
不是独立端点,但是核心子类型——通过参数控制输出形状:
response_format: { type: "json_object" }- 或结构化 schema(部分平台支持 JSON Schema / 类型约束)
用途:让模型吐出可解析的数据而非散文(表单提取、分类标签、决策树节点……)
3. 工具调用 / Function Calling(Agent 的发动机)
| API 形态 | 机制 | 代表 |
|---|---|---|
| Client-side tool use(经典) | 模型返回tool_calls/tool_use→ 你本地执行 → 把结果塞回 → 再调一次 |
OpenAI chat/completions、Anthropic messages |
| Server-side built-in tools | 搜索/代码解释器等由服务端跑,你拿到最终结果 | OpenAI Responses API(web_search、code_interpreter) |
| MCP-aware(新趋势) | 模型理解 Model Context Protocol 定义的外部工具/资源 | Anthropic 生态推动中 |
4. Embedding(向量化)
POST /v1/embeddings
输入文本 → 输出浮点向量。
用途:RAG 检索、相似度匹配、聚类、去重、推荐召回。
这是一个完全不同于生成文本的 API 家族——延迟低、通常按 token 计费、输出是数字数组不是语言。
5. 重排序 / Rerank(精排)
部分平台单独提供(不一定每家都有同名端点):
- 输入:查询 + 候选文档列表
- 输出:相关性打分重排后的列表
用于 RAG 的第二阶段精排(embedding 粗召回 → rerank 精排)。
6. 视觉 / 多模态生成
| API 类型 | 端点特征 | 用途 |
|---|---|---|
| Vision Understanding(图→文) | 图片作为 content block 传入 chat/messages | 截图解析、OCR、图表理解、文档图理解 |
| Image Generation(文→图) | 独立端点,如POST /v1/images/generations |
DALL·E / Stable Diffusion 类需求 |
| Image Edit / Variation | 同上家族 | 局部重绘、扩图等 |
7. 语音 / 音频
| API 类型 | 做什么 |
|---|---|
| Speech-to-Text (STT/ASR) | 音频文件 → 文本(Whisper 类) |
| Text-to-Speech (TTS) | 文本 → 音频流 |
| Real-time voice(新兴) | WebSocket 双向音频流,做对话式语音 Agent |
8. 内容安全 / Moderation
POST /v1/moderations
输入文本 → 策略分类(暴力/色情/危险等)。通常在生成 API 之外单独调,用于前置过滤或后置审核。
9. 模型管理 / 平台运维(非生成,但属于 API 面)
| 类型 | 例子 |
|---|---|
| 列出可用模型 | GET /v1/models |
| 文件上传(用于微调/批量) | POST /v1/files |
| Batch 批量推理 | POST /v1/batches(离线、便宜、跑大量任务) |
| Fine-tuning | POST /v1/fine_tuning/jobs |
| 用量/配额查询 | 各平台私有端点 |
按「调用模式」(工程维度的三个开关)
同一种 API,调用方式也有三种常见形态:
| 模式 | 特点 | 适用场景 |
|---|---|---|
同步单次create() |
等完整结果回来 | 简单请求、低延迟要求、短输出 |
流式 Streamingstream=True→ SSE |
第一个 token 很快到,逐字推送 | 聊天 UI、打字机效果、长输出逐步消费 |
异步 Batch/v1/batches |
提交任务 → 异步跑 → 取结果文件 | 大规模离线任务(摘要/标注/清洗),省成本 |
一张总览脑图(文字版)
AI 大模型 API
├── 【文本生成家族】
│ ├── Completions (legacy) ── 别用了
│ ├── Chat Completions (/v1/chat/completions) ── 行业通用语 ✅
│ ├── Anthropic Messages (/v1/messages) ── Claude 原生 ✅
│ └── Responses (/v1/responses) ── OpenAI 新一代任务模型 ✅
│
├── 【表示/检索家族】
│ ├── Embeddings (/v1/embeddings)
│ └── Rerank (平台扩展)
│
├── 【多模态家族】
│ ├── Vision-in (图→文,挂在 chat/messages 的 content blocks)
│ ├── Image-out (文→图,独立端点)
│ └── Audio (STT / TTS / realtime voice)
│
├── 【Agent 支撑】
│ ├── Function/Tool Calling(chat 的参数化扩展)
│ ├── Built-in Tools(Responses API 的服务端工具)
│ └── Moderation(安全审核)
│
└── 【平台运维】
├── Models list / 配额
├── Files / Batch / Fine-tuning
└── 用量账单(私有端点)
工程选型速记口诀
生成走 chat/completions(或原生 messages)→ 检索走 embeddings → Agent 走 tool_calls(或 Responses)→ 批量走 batches → 钱紧走 batch 不 walk 实时