Instructor 概念¶
本节解释了 Instructor 库的核心概念和特性,按类别组织以便您查找所需内容。
核心概念¶
这些是您有效使用 Instructor 需要理解的基本概念
- 模型 - 使用 Pydantic 模型定义输出结构
- 修补 - Instructor 如何修补 LLM 客户端
- 类型 - 在您的模型中使用不同的数据类型
- 验证 - 根据您的模型验证 LLM 输出
- 提示 - 创建用于结构化输出提取的有效提示
- 多模态 - 使用音频文件、图像和 PDF
数据处理和结构¶
这些概念与定义和使用不同的数据结构有关
- 字段 - 使用 Pydantic 字段和属性
- 列表和数组 - 在您的模型中处理列表和数组
- TypedDict - 使用 TypedDict 实现灵活类型提示
- 联合类型 - 使用联合类型
- 枚举 - 在您的模型中使用枚举类型
- 缺失 - 处理缺失或可选值
- 别名 - 创建字段别名
流式特性¶
这些特性帮助您处理流式响应
错误处理和验证¶
这些特性帮助您确保数据质量
性能优化¶
这些特性帮助您优化性能
集成特性¶
这些特性帮助您与其他技术集成
理念¶
- 理念 - Instructor 背后的指导原则
这些概念如何协同工作¶
Instructor 围绕着一些关键的协同工作理念而构建
- 使用 Pydantic 定义结构:使用 Pydantic 模型精确定义所需数据。
- 增强 LLM 客户端:修补提供者客户端以添加结构化输出能力。
- 验证和重试:自动验证响应并在必要时重试。
- 处理流:处理流式响应以实现实时更新。
典型工作流程¶
sequenceDiagram
participant User as Your Code
participant Instructor
participant LLM as LLM Provider
User->>Instructor: Define Pydantic model
User->>Instructor: Patch LLM client
User->>Instructor: Create completion with response_model
Instructor->>LLM: Send structured request
LLM->>Instructor: Return LLM response
Instructor->>Instructor: Validate against model
alt Validation Success
Instructor->>User: Return validated Pydantic object
else Validation Failure
Instructor->>LLM: Retry with error context
LLM->>Instructor: Return new response
Instructor->>Instructor: Validate again
Instructor->>User: Return validated object or error
end
接下来阅读什么¶
要获取这些概念的实际示例,请访问实用指南部分。