什么是 Instructor?
Instructor 为 LLM 客户端库打补丁,让它们返回经过验证的 Pydantic 对象而非原始文本。支持重试、流式输出和部分响应。
一句话总结:Instructor 使用 Pydantic 模型从 LLM 提取结构化数据,支持 OpenAI、Anthropic、Gemini 和本地模型。
核心模式
1. 多供应商支持
支持 OpenAI、Anthropic、Gemini、Ollama 等,一行代码切换。
2. 嵌套复杂类型
支持嵌套模型、列表、可选字段等 Pydantic 全部功能。
3. 流式部分结果
逐步填充字段,适合大型结构化输出的实时展示。
4. 自动重试
验证失败时自动将错误信息反馈给 LLM 重新生成。
常见问题
Q: 支持 Claude 吗?
A: 支持,通过 instructor.from_anthropic() 使用 tool-use 模式。
Q: 性能开销? A: 极小,仅薄封装。重试仅在验证失败时增加延迟。
来源与致谢
- GitHub: jxnl/instructor (8k+ stars)
- 作者:Jason Liu