このプロジェクトについて

LangExtractは、ユーザー定義の指示に従って、大規模言語モデル(LLM)を用いて非構造化テキスト文書から構造化情報を抽出するためのPythonライブラリです。臨床メモやレポートなどの資料を対象に、重要な情報を特定・整理しつつ、抽出されたデータが原文と対応していることを保証するように設計されています。 READMEで説明されている主な機能は以下の通りです: - 正確なソースグラウンディング:すべての抽出結果は原文の正確な文字範囲にマッピングされ、追跡可能性と検証のための視覚的ハイライトを可能にします。ソース内で検出できない抽出は char_interval = None が設定され、フィルタリングが可能です。 - 信頼性の高い構造化出力:出力スキーマはフェイトショット例に基づき、Geminiなどのモデルでは制御された生成をサポートします。 - 長文書への対応:テキストチャンキング、並列処理、複数回の抽出パスにより、大規模ドキュメントにおけるリコール向上を目指しています。 - 対話型ビジュアライゼーション:抽出されたエンティティを原文の文脈で確認できるスタンドアロンの対話型HTMLファイルを生成します。 - 柔軟なモデルサポート:Google Geminiファミリなどのクラウドモデル、オプショナル依存関係経由でのOpenAIモデル、内蔵Ollamaインターフェースを通じたローカルオープンソースモデルに対応します。プラグインシステムにより、カスタムモデルプロバイダを別パッケージとして登録・配布できます。 - ドメイン適応性:モデルファインチューニングなしで、プロンプトと数例で抽出タスクを定義できます。 典型的な使用例では、プロンプトと抽出例を定義し、lx.extract をテキストやドキュメントURLに対して呼び出し、結果を JSONL に保存して HTML ビジュアライゼーションを生成します。拡張機能として、extract passes や max_workers といったオプションに加え、Vertex AI および OpenAI のバッチ処理設定も利用可能です。 インストールは PyPI(pip install langextract)、pyproject.toml からのソースインストール、または Docker を通じて可能です。クラウドモデルを使用するには、環境変数、.env ファイル、直接パラメータ、または Vertex AI サービスアカウントで API キーを設定します。プロジェクトには pytest、tox、pylint、pre-commit フックなどのテストおよび開発ツールが含まれています。 READMEでは、これは公式にサポートされているGoogle製品ではなく、Apache 2.0ライセンスに従って使用できること、医療関連アプリケーションについては追加条項があることが記載されています。