【LLM】OpenAI的Chat Completions API 和 Assistants API
背景
Chat Completions API 和 Assistants API 都是 OpenAI 提供的大语言模型交互 API。
- Chat Completions API 是 无状态对话接口
- Assistants API 是 有状态智能体接口
核心定位对比
| API | 核心用途 | 特点 |
|---|---|---|
| Chat Completions API | 直接调用语言模型进行单轮或多轮对话生成 | 轻量、灵活、无状态(默认不保存上下文) |
| Assistants API | 构建持久化、有工具能力的“智能助手” | 有状态(自动保存上下文)、支持工具和文件管理 |
功能对比
| 对比维度 | Chat Completions API | Assistants API |
|---|---|---|
| 会话管理 | 默认无状态,需要客户端手动管理 messages |
内置 threads 和 messages,自动保存会话历史 |
| 工具调用 | 通过 function_call 手动声明和解析 |
内置工具(code interpreter、file search 等)+ 自定义工具 |
| 文件处理 | 不直接支持,需要外部逻辑 | 内置文件上传、搜索、引用 |
| 任务执行模式 | 同步返回结果 | 有 runs 概念,可异步执行长任务 |
| 多助手 | 需要在客户端管理不同模型/角色 | 支持创建多个 assistants,每个有独立配置(模型、工具等) |
| 状态存储 | 需要你自己存储上下文 | OpenAI 云端帮你存储(有历史消息上限) |
| 调用复杂度 | 简单直接,几行代码就能跑 | 概念多(assistant → thread → run → message),学习成本高 |
使用场景
Chat Completions API 适合:
- 临时性、无状态对话
- 简单任务(问答、生成文本)
- 你自己管理上下文和工具逻辑的场景
Assistants API 适合:
- 需要长期对话的智能体(记住上下文)
- 集成多个工具(搜索、代码运行、文件分析)
- 多用户、多助手配置的 SaaS 类产品
调用示例
Chat Completions API
1 | from openai import OpenAI |
- 对应的API路径:
POST /v1/chat/completions
Assistants API
1 | from openai import OpenAI |
- 对应的API路径
1
2
3POST /v1/assistants # 创建智能助手
POST /v1/threads # 创建会话线程
POST /v1/runs # 运行助手执行任务
5. 总结一句话
Chat Completions API 就像一支“即开即用的笔”——轻便、灵活,但不会帮你保存笔记;
Assistants API 更像一个“有笔记本、工具箱的专属助理”——功能多,但上手复杂。
推荐阅读
Chat Completions API 官方文档:https://platform.openai.com/docs/api-reference/chat
Assistants API 官方文档
https://platform.openai.com/docs/assistants/overview
评论