567-labs/instructor

structured outputs for llms

解决的问题

Instructor 简化了从大型语言模型(LLMs)获取可靠结构化数据(如 JSON)的过程。它消除了手动编写复杂 JSON 模式、处理验证错误、解析非结构化响应,或在 LLM 未能遵循模式时实现自定义重试逻辑的需要。

工作原理

使用 Pydantic 模型定义期望的输出结构。当向 LLM 发出请求时,Instructor 会处理模式生成和验证。如果 LLM 的响应验证失败,Instructor 可自动重试请求,并将错误信息反馈给模型以修正输出。它提供了一个统一的接口,支持 OpenAI、Anthropic、Google 以及通过 Ollama 的本地模型等多种提供方。

适用人群

需要从自然语言中提取特定数据,或确保 LLM 输出严格遵循预定义的类型安全模式,以用于生产环境应用的开发者。

主要亮点

  • Pydantic 集成:利用 Pydantic 实现类型安全、验证和 IDE 支持。
  • 多提供方支持:使用一致的 API 支持 OpenAI、Anthropic、Google、Groq 和 Ollama。
  • 自动重试:使用验证错误信息自动重试失败的提取操作。
  • 流式传输:支持在生成过程中逐步返回部分对象。
  • 嵌套结构:自动处理复杂的嵌套数据对象。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目