本文档介绍了 OpenAI Python 客户端库中旧版的助手 API 实现。助手 API 已弃用,取而代之的是响应 API,目前仅为向后兼容而维护。有关当前推荐的 AI 交互方法,请参阅响应 API。
助手 API 提供了一个有状态的对话接口,AI 助手可以通过线程维护跨多个交互的上下文,执行工具并管理文件。尽管仍然可用,但所有 API 端点现在都会发出弃用警告。
所有助手 API 资源均标记为已弃用,并附带消息:“助手 API 已弃用,取而代之的是响应 API”。此弃用通过 Python 的 typing_extensions.deprecated 装饰器实现,并一致地出现在所有相关模块中。
弃用实现
来源: src/openai/resources/beta/threads/messages.py51-52 src/openai/resources/beta/threads/runs/steps.py46-47
助手 API 遵循以有状态对话和具有持久功能的 AI 助手为中心的层次化资源结构。
来源: src/openai/resources/beta/assistants.py34-481 src/openai/resources/beta/threads/messages.py31-719 src/openai/resources/beta/threads/runs/steps.py26-400
Assistants 类管理具有持久配置、工具和功能的 AI 助手实体。
关键方法
create(): 使用模型和配置创建新助手retrieve(assistant_id): 获取现有助手update(assistant_id): 修改助手配置list(): 返回分页助手列表delete(assistant_id): 删除助手来源: src/openai/resources/beta/assistants.py54-481 src/openai/types/beta/assistant_update_params.py16-178
线程提供具有持久消息历史的对话上下文。消息表示线程内的单独通信。
线程操作
create(): 创建新的对话线程create_and_run(assistant_id): 创建线程并立即运行助手retrieve(thread_id): 获取线程信息update(thread_id): 修改线程元数据delete(thread_id): 删除线程及所有消息消息操作
create(thread_id, content, role): 向线程添加消息retrieve(message_id, thread_id): 获取特定消息list(thread_id): 返回线程消息历史update(message_id, thread_id): 修改消息元数据delete(message_id, thread_id): 从线程中删除消息来源: tests/api_resources/beta/test_threads.py27-420 src/openai/resources/beta/threads/messages.py52-719
运行表示线程内的助手执行会话。运行步骤提供详细的执行跟踪。
运行操作
create(thread_id, assistant_id): 启动助手执行retrieve(run_id, thread_id): 获取运行状态和结果update(run_id, thread_id): 修改运行元数据list(thread_id): 返回线程的运行历史cancel(run_id, thread_id): 停止运行中的执行submit_tool_outputs(run_id, thread_id, tool_outputs): 提供工具结果运行步骤操作
retrieve(step_id, thread_id, run_id): 获取详细的步骤信息list(run_id, thread_id): 返回执行步骤序列来源: tests/api_resources/beta/threads/test_runs.py26-568 src/openai/resources/beta/threads/runs/steps.py47-336
所有助手 API 资源都支持同步和异步操作,并具有一致的响应处理模式。
| 响应类型 | 用法模式 | 描述 |
|---|---|---|
| 标准 | client.beta.assistants.create() | 解析后的响应对象 |
| 原始响应 | client.beta.assistants.with_raw_response.create() | 带标头的完整 HTTP 响应 |
| 流式传输 | client.beta.assistants.with_streaming_response.create() | 用于响应流的上下文管理器 |
流式传输支持
stream=True 参数的流式传输来源: tests/api_resources/beta/threads/test_runs.py115-124 tests/api_resources/beta/test_assistants.py72-82
该 API 在所有资源上都实现了通用的验证模式
常见验证模式
来源: src/openai/resources/beta/threads/messages.py98-99 src/openai/resources/beta/threads/runs/steps.py81-86
即时行动
pytest.warns(DeprecationWarning)长期迁移
当前兼容性
"OpenAI-Beta": "assistants=v2"来源: tests/api_resources/beta/threads/test_runs.py27-28 tests/api_resources/beta/test_threads.py28-29