Repolode
567-labs

567-labs/instructor

複数のプロバイダーのLLMから、Pydanticで検証済みの構造化データを取得し、検証失敗時には自動で再試行するPythonライブラリです。

スター
14,046
フォーク
1,330
未解決の Issue
214
最終コミット
一昨日

これは何?

Instructorは、出力形式をPydanticモデルで定義することで、LLMの応答から型付きデータを抽出します。JSON Schemaを手書きして生テキストを解析する代わりに、クライアントにresponse_modelを渡すと、検証済みのPythonオブジェクトを受け取れます。

このライブラリは、OpenAI、Anthropic、Google、Ollama、Groqなど複数のプロバイダーのAPIを、from_providerで作成する単一のインターフェースの背後にまとめています。検証に失敗すると、Instructorはエラーメッセージをモデルに返して再試行します。再試行回数はmax_retriesで設定できます。また、オブジェクトの部分的なストリーミング出力や、ネストしたモデルにも対応しています。

Pythonに加えて、プロジェクトのドキュメントにはTypeScript、Ruby、Go、Elixir、Rustの実装も掲載されています。

主な機能

  • 01Pydanticモデルで出力スキーマを定義し、検証済みのオブジェクトを返します。
  • 02単一のfrom_providerインターフェースを通じて、複数のLLMプロバイダーを利用できます。
  • 03検証に失敗すると、エラーをモデルに返して自動で再試行します。
  • 04生成中のオブジェクトを部分的にストリーミングします。
  • 05ネストしたモデルやモデルのリストに対応しています。

ユースケース

  • 自由形式のテキストから、名前、日付、価格などの項目を抽出する。
  • LLMの出力を、後続のアプリケーションコードで使える型付きデータに変換する。
  • 手動で解析せずに、モデルから信頼性の高いJSONを得る必要があるパイプラインを構築する。

クイックスタート

  1. 1

    pip でライブラリをインストールします

    pip install instructor
  2. 2

    プロバイダー用のクライアントを作成し、Pydantic モデルを抽出します

使う前に知っておきたいこと

  • API キー、または OpenAI、Anthropic などのプロバイダーやローカルの Ollama サーバーが必要です。

トピック

よくある質問

instructor とは?
複数のプロバイダーのLLMから、Pydanticで検証済みの構造化データを取得し、検証失敗時には自動で再試行するPythonライブラリです。 Instructorは、出力形式をPydanticモデルで定義することで、LLMの応答から型付きデータを抽出します。JSON Schemaを手書きして生テキストを解析する代わりに、クライアントにresponse_modelを渡すと、検証済みのPythonオブジェクトを受け取れます。
instructor は無料で使えますか?ライセンスは?
instructor は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
instructor は今もメンテナンスされていますか?
活発にメンテナンス中。instructor の最終コミットは 2026年10月20日 です。
instructor は何に使えますか?
自由形式のテキストから、名前、日付、価格などの項目を抽出する。 LLMの出力を、後続のアプリケーションコードで使える型付きデータに変換する。 手動で解析せずに、モデルから信頼性の高いJSONを得る必要があるパイプラインを構築する。
instructor のインストール方法は?
pip でライブラリをインストールします: pip install instructor プロバイダー用のクライアントを作成し、Pydantic モデルを抽出します
instructor はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/567-labs/instructor

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト