菜单

类型系统架构

相关源文件

目的与范围

本文档描述了OpenAI Python库的类型系统架构,涵盖了类型如何从OpenAPI规范生成、如何组织到模块中以及如何与客户端基础设施集成。该类型系统通过自动生成的Pydantic模型和TypeAlias定义,为所有API交互提供了全面的类型安全。

有关模型转换和数据处理的信息,请参阅模型转换系统。有关核心实用函数详情,请参阅实用工具和辅助函数

类型生成架构

OpenAI Python库使用基于OpenAPI规范的自动化类型生成系统。整个类型系统都是从定义了111个配置端点的规范OpenAPI规范中生成的。

来源:.stats.yml1-4 src/openai/types/__init__.py1-96

类型模块组织

类型系统被组织成一个分层模块结构,将共享类型与API特定类型分离,具有清晰的导入模式和命名空间管理。

来源:src/openai/types/__init__.py1-96 src/openai/types/shared/__init__.py1-17 src/openai/types/shared_params/__init__.py1-15

共享类型系统

共享类型系统提供了在多个API资源中使用的通用类型定义,分为两大类:响应类型和参数类型。

核心共享类型

类型类别目的示例类型
模型枚举API模型标识符ChatModel, AudioModel, ImageModel
响应格式输出格式规范ResponseFormatText, ResponseFormatJSONSchema
通用对象可重用数据结构Metadata, ErrorObject, FunctionDefinition
筛选类型查询筛选结构ComparisonFilter, CompoundFilter
推理类型AI推理配置Reasoning, ReasoningEffort

来源:src/openai/types/shared/chat_model.py7-65 src/openai/types/shared/__init__.py1-17 src/openai/types/shared_params/__init__.py1-15

API资源类型组织

每个API资源都有其自己的类型命名空间,该命名空间继承自共享类型,同时定义了资源特定的模型和参数。

来源:api.md35-89 api.md141-192 api.md676-739 api.md482-634

类型生成模式

类型系统遵循不同类型类别的统一模式,确保所有API资源具有可预测的结构和行为。

模型类型模式

模式目的示例
响应模型API响应结构ChatCompletion, Transcription
参数模型请求参数验证CompletionCreateParams, TranscriptionCreateParams
流式传输模型服务器发送事件类型ChatCompletionChunk, TranscriptionStreamEvent
枚举类型受限字符串值ChatModel, AudioResponseFormat
联合类型多态响应ChatCompletionContentPart, MessageContent

来源:src/openai/types/shared/chat_model.py9-65 api.md35-89 api.md141-192

与客户端架构的集成

类型系统与客户端架构无缝集成,从请求构建到响应解析提供端到端的类型安全。

来源:src/openai/types/__init__.py1-96 api.md35-89

这种类型系统架构通过从OpenAPI规范自动生成,确保了全面的类型安全,同时为未来API演进保持了灵活性。