跳到内容

Instructor 概念

本节解释了 Instructor 库的核心概念和特性,按类别组织以便您查找所需内容。

核心概念

这些是您有效使用 Instructor 需要理解的基本概念

  • 模型 - 使用 Pydantic 模型定义输出结构
  • 修补 - Instructor 如何修补 LLM 客户端
  • 类型 - 在您的模型中使用不同的数据类型
  • 验证 - 根据您的模型验证 LLM 输出
  • 提示 - 创建用于结构化输出提取的有效提示
  • 多模态 - 使用音频文件、图像和 PDF

数据处理和结构

这些概念与定义和使用不同的数据结构有关

流式特性

这些特性帮助您处理流式响应

错误处理和验证

这些特性帮助您确保数据质量

  • 重试 - 配置自动重试行为
  • 验证器 - 定义自定义验证逻辑
  • 钩子 - 添加用于监控和调试的回调

性能优化

这些特性帮助您优化性能

集成特性

这些特性帮助您与其他技术集成

理念

  • 理念 - Instructor 背后的指导原则

这些概念如何协同工作

Instructor 围绕着一些关键的协同工作理念而构建

  1. 使用 Pydantic 定义结构:使用 Pydantic 模型精确定义所需数据。
  2. 增强 LLM 客户端:修补提供者客户端以添加结构化输出能力。
  3. 验证和重试:自动验证响应并在必要时重试。
  4. 处理流:处理流式响应以实现实时更新。

典型工作流程

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

要获取这些概念的实际示例,请访问实用指南部分。

另请参阅

  • 入门指南 - 开始您的 Instructor 之旅
  • 示例 - 这些概念的实际实现
  • 集成 - 连接不同的 LLM 提供者