567-labs/instructor
structured outputs for llms
何を解決するか
Instructor は、大規模言語モデル(LLM)から信頼性の高い構造化データ(例:JSON)を取得するプロセスを簡素化します。手動で複雑なJSONスキーマを書く必要、検証エラーの処理、非構造化応答の解析、またはLLMがスキーマに従わなかった場合のカスタムリトライロジックの実装を必要としなくなります。
動作方法
Pydanticモデルを使って出力構造を定義します。LLMへのリクエストが行われると、Instructorはスキーマの生成と検証を処理します。LLMの応答が検証に失敗した場合、Instructorは自動的にリクエストを再試行し、エラーメッセージをモデルにフィードバックして出力を修正させます。OpenAI、Anthropic、Google、およびOllamaを介したローカルモデルを含む複数のプロバイダーで動作する一貫したインターフェースを提供します。
対象ユーザー
自然言語から特定のデータを抽出する必要がある、または生産環境アプリケーションで使用するため、LLMの出力が事前に定義された型安全なスキーマに厳密に従うことを保証する必要がある開発者。
特徴
- Pydantic統合: 型安全、検証、IDEサポートにPydanticを活用。
- マルチプロバイダー対応: OpenAI、Anthropic、Google、Groq、Ollamaを一貫したAPIでサポート。
- 自動リトライ: 検証エラーメッセージを使用して、失敗した抽出を自動的に再試行。
- ストリーミング: 生成中に部分的なオブジェクトをストリーミングでサポート。
- ネスト構造対応: 複雑なネストされたデータオブジェクトを自動で処理。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト