增强型聊天补全为OpenAI聊天补全API(可通过beta命名空间访问)提供了更丰富的Python集成。此扩展提供了Pydantic模型的自动类型转换、响应的结构化解析以及改进的流式接口。有关标准聊天补全API的信息,请参阅聊天补全API。
增强型聊天补全API通过两种主要方法扩展了标准聊天补全接口
parse() - 使用Pydantic模型自动将API响应转换为Python对象stream() - 提供更丰富的流式体验,具有细粒度事件和适当的上下文管理这些方法使处理来自API的结构化数据变得更容易,同时提供更好的类型安全性和开发者体验。
来源
增强型聊天补全比标准API提供了多项改进
| 功能 | 标准API | 增强型API |
|---|---|---|
| 响应格式 | JSON字符串 | 结构化Python对象 |
| 类型安全 | 手动解析 | 自动Pydantic验证 |
| 函数工具处理 | 手动JSON解析 | 自动对象转换 |
| 流式传输 | 基本分块 | 基于事件且带累积的API |
| 错误处理 | 基本错误 | 增强型错误(例如,长度检测) |
来源
parse() 方法使用Pydantic模型自动将API响应转换为Python类型。
当您将Pydantic模型作为response_format参数提供时,该方法将
来源
来源
parse() 方法返回一个 ParsedChatCompletion[T] 对象,它扩展了标准的 ChatCompletion 类,并具有额外的解析属性
来源
stream() 方法为流式响应提供了更细粒度的事件API,并自动累积内容增量。
与标准流式API不同,增强型stream() 方法
parse() 相同的Pydantic模型解析来源
来源
parse() 和 stream() 方法都为函数工具调用提供了增强支持。
如果满足以下条件,增强型方法可以自动将函数工具调用解析为Python对象:
openai.pydantic_function_tool() 辅助方法"strict": True来源
来源
增强型API支持在单个请求中定义和解析多个函数工具
来源
增强型API为常见情况提供改进的错误处理
LengthFinishReasonErrorContentFilterFinishReasonError来源
所有增强功能均提供同步和异步版本
client.beta.chat.completions.parse() 和 client.beta.chat.completions.stream()async_client.beta.chat.completions.parse() 和 async_client.beta.chat.completions.stream()异步实现遵循相同的模式,但使用 async/await 语法
来源
对于新项目,请考虑使用较新的Responses API,它直接将许多这些增强功能集成到核心API中。增强型聊天补全API对于从标准聊天补全API过渡,并希望获得额外类型安全性和结构化数据处理的项目非常有用。
来源