Repolode
explosion

explosion/spacy-llm

学習データなしでNERやテキスト分類などを行えるよう、大規模言語モデルを構造化されたNLPパイプラインに組み込むspaCy拡張機能。

スター
1,398
フォーク
112
未解決の Issue
50
最終コミット
24 日前

これは何?

spacy-llmは大規模言語モデルをspaCyに統合し、通常のspaCyパイプラインにLLMを活用するコンポーネントを追加できます。各コンポーネントは、タスク(プロンプトテンプレートと、モデルの自由形式の応答を構造化出力に変換するパーサー)とモデルバックエンドを組み合わせます。そのため、結果はdoc.entsやdoc.catsなど、spaCy標準のフィールドに格納されます。

このパッケージには、固有表現認識、テキスト分類、レンマ化、関係抽出、感情分析、スパン分類、要約、エンティティリンキング、翻訳の組み込みタスクに加え、プロンプトをそのまま使うオプションも用意されています。バックエンドはOpenAI、Cohere、Anthropic、Google PaLM、Azure AIに対応するほか、Falcon、Dolly、Llama 2、Mistral、StableLMなど、Hugging Face上でホストされているオープンソースモデルも利用できます。パイプラインはspaCyのconfigシステムで定義してシリアライズでき、カスタムタスクやモデルはspaCyのregistryを通じて登録できます。

このプロジェクトは素早いプロトタイピングを想定しています。ラベル付きデータなしでプロンプトから始め、プロジェクトの成熟に応じて、LLMコンポーネントと教師ありspaCyモデルを組み合わせたり、置き換えたりできます。このパッケージは実験的な位置づけのため、マイナーリリースでインターフェースが変更される可能性があります。

主な機能

  • 01シリアライズ可能なllmコンポーネントを使って、プロンプトベースの処理ステップをspaCyパイプラインに追加できます。
  • 02spaCyのregistryから登録できるカスタム関数も含め、タスクとモデルの関数をモジュール式に構成できます。
  • 03OpenAI、Cohere、Anthropic、Google PaLM、Azure AIのAPIに対応しています。
  • 04Llama 2、Mistral、Falconなど、Hugging Face上のオープンソースモデルを実行できます。
  • 05NER、テキスト分類、関係抽出、要約などの組み込みタスクを利用できます。
  • 06LLMのコンテキストウィンドウを超える入力をmap-reduce方式で処理できます。

ユースケース

  • ラベル付き学習データを集める前に、NERやテキスト分類の処理をプロトタイピングする。
  • LLMベースのコンポーネントを、ルールベースまたは教師ありのspaCyコンポーネントと1つのパイプラインで組み合わせる。
  • ホスト型またはローカル実行のオープンソースLLMを使って、非構造化テキストから構造化フィールドを抽出する。

クイックスタート

  1. 1

    pipでパッケージをインストールする

    python -m pip install spacy-llm
  2. 2

    OpenAI APIキーを作成し、環境変数に設定する

  3. 3

    Pythonでllm_textcatファクトリを使ってテキスト分類を実行する

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

  • まだ実験段階のため、マイナーバージョンのアップデートでインターフェースが変更され、動作しなくなる可能性があります。
  • 組み込みモデルのほとんどは、OpenAIなどの有料プロバイダーのAPIキー、またはホスト型LLMを必要とします。

トピック

よくある質問

spacy-llm とは?
学習データなしでNERやテキスト分類などを行えるよう、大規模言語モデルを構造化されたNLPパイプラインに組み込むspaCy拡張機能。 spacy-llmは大規模言語モデルをspaCyに統合し、通常のspaCyパイプラインにLLMを活用するコンポーネントを追加できます。各コンポーネントは、タスク(プロンプトテンプレートと、モデルの自由形式の応答を構造化出力に変換するパーサー)とモデルバックエンドを組み合わせます。そのため、結果はdoc.entsやdoc.catsなど、spaCy標準のフィールドに格納されます。
spacy-llm は無料で使えますか?ライセンスは?
spacy-llm は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
spacy-llm は今もメンテナンスされていますか?
活発にメンテナンス中。spacy-llm の最終コミットは 2026年9月27日 です。
spacy-llm は何に使えますか?
ラベル付き学習データを集める前に、NERやテキスト分類の処理をプロトタイピングする。 LLMベースのコンポーネントを、ルールベースまたは教師ありのspaCyコンポーネントと1つのパイプラインで組み合わせる。 ホスト型またはローカル実行のオープンソースLLMを使って、非構造化テキストから構造化フィールドを抽出する。
spacy-llm のインストール方法は?
pipでパッケージをインストールする: python -m pip install spacy-llm OpenAI APIキーを作成し、環境変数に設定する Pythonでllm_textcatファクトリを使ってテキスト分類を実行する
spacy-llm はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/explosion/spacy-llm

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

関連プロジェクト