讲师:用 Python 实现结构化 LLM 输出
June 09, 2025
Instructor:Python 用于 LLM 结构化输出的最佳库
在人工智能飞速发展的今天,如何从大型语言模型(LLM)中提取可靠、结构化的数据,仍然是一个不小的挑战。这时,Instructor 便应运而生,作为一款领先的开源 Python 库,它专为简化这项复杂任务而设计。凭借每月超过 300 万次的下载量和活跃的社区支持,Instructor 已成为开发者们从 AI 模型中获取类型安全、经过验证且能自动重试的输出的首选解决方案。
什么是 Instructor?
Instructor 构建于强大的数据验证库 Pydantic 之上,为与 LLM 交互提供了一个直观且健壮的框架。它让开发者能够利用 Pydantic 模型精确定义所需数据的结构。这不仅确保了 LLM 输出的一致性,也使其符合预定义的模式,从而大大减少错误并提高数据质量。
主要特性:
- 结构化输出:通过定义 Pydantic 模型,精准指定从 LLM 获取的数据格式。
- 自动重试:内置自动重试逻辑,当验证失败时无需手动处理错误。
- 数据验证:利用 Pydantic 强大的验证能力,保障 LLM 响应的质量和完整性。
- 流式支持:实时处理部分响应和列表,提升应用程序的响应速度。
- 多提供商兼容:无缝支持超过 15 种 LLM 提供商,包括 OpenAI、Anthropic、Google (Gemini)、Mistral、Cohere、Ollama、DeepSeek 等,提供统一的 API 接口。
- 类型安全:享受完整的 IDE 支持,包括适当的类型推断和自动补全,大大提高开发效率。
- 开源支持:可使用 Ollama、
llama-cpp-python
或vLLM
等框架在本地运行任何开源模型。
快速入门:仅需三行代码提取结构化数据
使用 Instructor 入门异常简单。安装后,您几乎可以立即提取结构化数据:
import instructor
from pydantic import BaseModel
from openai import OpenAI
class Person(BaseModel):
name: str
age: int
occupation: str
client = instructor.from_openai(OpenAI())
person = client.chat.completions.create(
model="gpt-4o-mini"
原创文章:
查看原文