用途:Instructor 用于从大语言模型响应中可靠地提取结构化数据,并用 Pydantic 模型自动校验输出,适合数据抽取、分类、多实体识别、结构化分析等场景。
主要能力:用 Pydantic BaseModel 定义输出结构,支持嵌套模型、可选字段、枚举约束、字段级与模型级自定义校验器;校验失败时自动把错误反馈给模型并重试(默认 max_retries=3);支持流式输出部分对象(create_partial)和流式迭代列表项(create_iterable);支持 Union 类型、运行时动态模型(create_model)和自定义模式(如 Mode.JSON、Mode.ANTHROPIC_TOOLS、Mode.TOOLS)。
使用方式:安装基础包 pip install instructor,按提供商安装 pip install "instructor[anthropic]"、pip install "instructor[openai]" 或 pip install "instructor[all]"。通过 instructor.from_anthropic(Anthropic()) 或 instructor.from_openai(OpenAI()) 创建客户端,调用时传入 response_model 指定输出模型。本地模型可指向 Ollama 的 http://localhost:11434/v1 并设置 mode=instructor.Mode.JSON。
适用场景:文本信息抽取、文章分类、多实体抽取、情感与结构化分析、批量处理等。
限制:资料未提供具体收费与价格信息;部分提供商需使用 JSON 等回退模式;校验失败依赖重试,仍可能抛出 ValidationError,需自行处理异常。