本文档概述了 OpenAI Python 库中的 API 资源组织。它涵盖了 API 端点如何组织成资源类、如何通过客户端实例访问它们以及不同资源类型之间的分层关系。
有关提供对这些资源访问的核心客户端类的信息,请参阅 核心客户端类。有关聊天补全和响应 API 等特定资源实现的详细信息,请分别参阅 聊天补全 API 和 响应 API。
OpenAI Python 库将 API 端点组织到将相关功能分组的资源类中。每个资源对应一个特定的 API 域,并提供创建、检索、更新和管理该资源类型的方法。
来源: src/openai/_client.py159-253 src/openai/resources/__init__.py1-216 api.md1-1000
资源作为客户端实例的属性进行访问。该库支持直接客户端实例化和模块级访问模式。
模块级访问使用 _module_client.py 中定义的代理类的延迟加载。每种资源类型都有一个相应的代理类,该类将延迟加载推迟到首次访问时。
来源: src/openai/_client.py159-253 src/openai/_module_client.py26-142 src/openai/__init__.py355-372
所有资源都遵循一致的实现模式,具有同步和异步变体,以及原始响应和流式响应包装器。
| 资源类型 | 同步类 | 异步类 | 原始响应 | 流式响应 |
|---|---|---|---|---|
| 对话 | 对话 | AsyncChat | ChatWithRawResponse | ChatWithStreamingResponse |
| 文件 | 文件 | AsyncFiles | FilesWithRawResponse | FilesWithStreamingResponse |
| 音频 | 音频 | AsyncAudio | AudioWithRawResponse | AudioWithStreamingResponse |
| 图像 | 图像 | AsyncImages | ImagesWithRawResponse | ImagesWithStreamingResponse |
每个资源都实现为客户端上的缓存属性,确保每个客户端实例只有一个实例
来源: src/openai/_client.py159-253 src/openai/_client.py460-555 src/openai/_client.py678-778
“chat”和“responses”资源提供了对话式 AI 交互的主要接口
chat.completions:基于消息的对话的传统聊天补全接口responses:支持多模态输入和结构化输出的新统一 APIimages:图像生成、编辑和变体创建audio:语音合成、转录和翻译embeddings:为文本输入生成向量表示files:用于各种 API 端点的文件上传、检索和管理models:用于微调模型进行模型列表、检索和删除moderations:内容安全和审核分类来源: api.md34-211 src/openai/_client.py159-210
Beta 资源组织在 beta 命名空间下,以表明其实验性或预览状态
助手 API(beta.assistants、beta.threads)已被标记为已弃用,用户应迁移到新的响应 API 以获得类似功能。
来源: api.md398-634 src/openai/_client.py220-223
fine_tuning.jobs:为自定义模型训练创建和管理微调作业fine_tuning.checkpoints:访问微调检查点和权限evals:模型评估和测试框架batches:用于大规模 API 请求的异步批量处理uploads:用于大型文件的分块上传管理uploads.parts:单个上传部分的管理vector_stores:用于 RAG 应用程序的向量数据库管理vector_stores.files:文件与向量存储的关联vector_stores.file_batches:对向量存储进行批量文件操作containers:代码执行环境管理来源: api.md226-675 src/openai/_client.py207-253
大多数资源遵循一致的方法命名模式
| 操作 | 方法名称 | HTTP 方法 | 目的 |
|---|---|---|---|
| 创建 | create() | POST | 创建新资源 |
| Retrieve | retrieve() | GET | 通过 ID 获取特定资源 |
| 更新 | update() | POST/PATCH | 修改现有资源 |
| 列表 | list() | GET | 列出带分页的资源 |
| 删除 | delete() | DELETE | 删除资源 |
许多资源还提供便捷方法,例如
create_and_poll():创建资源并等待完成upload_and_poll():上传文件并等待处理wait_for_processing():轮询直到资源达到最终状态来源: api.md32-675 src/openai/resources/files.py117-124
该库目前支持 **111 个已配置的端点**,涵盖所有资源类型,这些数据已在项目统计中跟踪。这种全面的覆盖确保了对 OpenAI API 全面的访问。
来源: .stats.yml1-5