项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 14093
使用教程
环境要求
- Python 环境(Instructor 是 Python 库)
- 已选好包管理器:pip、uv 或 poetry 之一
- 用于调用的 LLM 提供商凭证
安装与启动步骤
-
1用 pip 安装
最通用的安装方式,在已激活的虚拟环境中执行,几秒即可完成。
pip install instructor -
2或用 uv 安装
如果你用 uv 管理依赖,用这条命令把 instructor 加入项目依赖。
uv add instructor -
3或用 poetry 安装
Poetry 项目使用这条命令添加依赖,二选一即可,不要重复安装。
poetry add instructor -
4定义模型并调用
用 Pydantic 定义期望结构,通过 from_provider 创建客户端并传入 response_model。
import instructor from pydantic import BaseModel # Define what you want class User(BaseModel): name: str age: int # Extract it from natural language client = instructor.from_provider("openai/gpt-4o-mini") user = client.chat.completions.create( response_model=User, messages=[{"role": "user", "content": "John is 25 years old"}], ) print(user) # User(name='John', age=25)
如何确认成功
运行脚本后打印出 User(name='John', age=25) 形式的 Pydantic 对象,而非原始 JSON 字符串,即表示成功。
常见问题
Q:还需要自己解析 JSON 或写重试逻辑吗?
A:不需要。README 明确说明无需 JSON 解析、错误处理和重试,只要定义好 Pydantic 模型即可拿到结构化数据。
Q:Instructor 和 PydanticAI 该怎么选?
A:快速、低成本的结构化抽取用 Instructor;如果应用需要更丰富的 agent 运行、内置可观测性或可分享的 trace,则改用 PydanticAI。
Q:支持哪些模型提供商?
A:通过 from_provider 指定,例如 "openai/gpt-4o-mini",项目也支持 Anthropic、Cohere 等多种提供商。
Q:返回结果为什么是对象而不是字典?
A:Instructor 基于 Pydantic 做校验和类型转换,返回的是模型实例,因此可直接用属性访问并享受 IDE 类型提示。
注意事项
- 使用前需按所选提供商要求配置对应的 API Key(README 未给出具体环境变量名,请以提供商文档为准)。
- Instructor 定位是 schema-first 的结构化抽取,保持简单和低成本;复杂 agent 场景建议换用 PydanticAI。
- pip、uv、poetry 三种安装方式任选其一,避免在同一环境中混用造成依赖冲突。
核心亮点
- 基于Pydantic模型自动生成JSON Schema,无需手写提示词约束格式
- 内置重试与错误修复机制,当模型输出不符合结构时自动重新请求
- 支持流式解析,可边生成边获取部分结构化结果,适合实时应用
不足之处
- 强依赖OpenAI等API的function calling能力,对本地模型支持有限
- 文档和示例主要围绕OpenAI,其他提供商集成细节较少
适用场景
- 从用户评论中提取情感、实体和评分等结构化信息
- 将LLM生成的自由文本转换为数据库可存储的JSON对象
- 构建多步骤Agent时,确保每一步的工具调用参数格式正确
替代项目
outlines、guidance
上一篇:llm
下一篇:llm-agents.nix
同类项目推荐
AgentVerse
开源
编排多个AI智能体,协作搞定复杂任务
Multi-Agent Collaboration Platform✨
ReAct
开源
让大模型边想边做,用工具解决复杂任务
[ICLR 2023] ReAct: Synergizing Reasoning and Acting in Language Models
ChainForge
开源
拖拽节点,批量测试提示词,多模型效果一目了然
An open-source visual programming environment for battle-testing prompts to LLMs.
claude-code-workflows
开源
让 Claude Code 干活不跑偏,聚焦你批准的结果。
Development workflows for Claude Code that keep broad exploration focused on the out···
gai
开源
用 Godot 搭 AI 代理,把技能串成工作流
A lightweight AI agent and skill workflow framework built with Godot.
C2C
开源
让大模型直接交换缓存,省去转文本的中间损耗
[ICLR'26] The official code implementation for "Cache-to-Cache: Direct Semantic Comm···
llm-ui
开源
用 React 快速搭建 LLM 聊天界面,流式输出开箱即用
The React library for LLMs
copilot-agents-dojo
开源
让 Copilot 代理像资深工程师一样写代码
A behavioral governance framework for GitHub Copilot agents — skills.md and instruc···
reachat
开源
用 React 组件快速搭建 AI 聊天界面,省时又专业
UI Building Blocks for LLM/Chat UIs. Maintained by @goodcodeus.
