fastino-ai/GLiNER2

Unified Schema-Based Information Extraction

GLiNER2 – 統一されたスキーマ駆動の情報抽出

概要 – GLiNER2 は、固有表現認識、マルチラベル分類、構造化レコード抽出、関係抽出、さらにはスパンレベルの属性(例:検出されたエンティティの感情)など、多くのテキスト理解タスクを単一のローカルモデルで実行できる Python ライブラリです。このモデルはスキーマ条件付きです。取得したいフィールド(「スキーマ」)を記述すると、同じフォワードパスで要求されたすべての出力が返されます。

重要性 – ほとんどのツールキットでは、NER、分類、または JSON スタイルの抽出に個別のモデルが必要です。GLiNER2 はこれらをバンドルし、2 つのアーキテクチャ(従来の固定グリッド span モデルと、任意の長さのスパンを処理できる新しい boundary モデル)をサポートし、CPU 専用ハードウェアで効率的に実行されるため、プライバシー重視またはエッジデプロイメントに適しています。


コア機能

機能 呼び出し方法 ハイライト
エンティティ抽出 model.extract_entities(text, labels, …) ラベルごとにエンティティを返し、オプションで信頼度スコアと文字オフセットを返します。
テキスト分類 model.classify_text(text, schema, …) 単一またはマルチラベル、しきい値と信頼度をサポート。
構造化 JSON 抽出 model.extract_json(text, schema, …) ネストされたレコード(例:製品仕様)を dict/list 構造に抽出します。
関係抽出 model.extract_relations(...) (スキーマ経由) 型付きのエンティティ-関係トリプルを生成します。
スパン属性 model.extract_entities(..., include_attributes=True) 感情などの追加タグを各スパンに付加します。
長文書処理 extract_entities_long / batch_extract_entities_long モデルのコンテキストウィンドウを超える場合、自動的にチャンク化、オーバーラップ、結果をマージします。

2 つのモデルファミリー

アーキテクチャ チェックポイント例 サイズ 典型的な用途
Span (GLiNER2) – 固定幅グリッド fastino/gliner2-base-v1 205 M (DeBERTa-v3-base) 従来モデル、小〜中規模タスク。
Boundary (GLiNER2.5) – スパースな開始/終了ペアリング、任意のスパン長 fastino/gliner2.5-base-v1 194 M (DeBERTa-v3-base) デフォルトの英語マルチタスク、最高の CPU/エッジパフォーマンス。
多言語 fastino/gliner2-multi-v1 / gliner2.5-multi-v1 205-287 M (mDeBERTa-v3) 英語以外のテキストで動作します。
安全 / PII fastino/gliguard-LLMGuardrails-300M, gliner2-privacy-filter-PII-multi ~300 M 有害なコンテンツや個人データを検出; 同じ AutoExtractor でロード可能。

クイックスタート (CPU のみ)

# Core library – no torch needed (schema validation, API client)
pip install gliner2

# Add local inference (torch & model weights)
pip install "gliner2[local]"
from gliner2 import AutoExtractor
model = AutoExtractor.from_pretrained("fastino/gliner2.5-base-v1")

text = "Apple CEO Tim Cook announced iPhone 15 in Cupertino yesterday."
result = model.extract_entities(
    text,
    ["company", "person", "product", "location"],
    include_confidence=True,
    include_spans=True,
)
print(result)
# → {'entities': {'company':[{'text':'Apple','confidence':0.95,'start':0,'end':5}], ...}}

同じ model オブジェクトは、classify_textextract_json、および README に記載されている長文書 API もサポートしています。


インストールオプション

オプション 追加される機能
gliner2[local] PyTorch、モデルウェイト、デバイス上推論用の AutoExtractor
gliner2[train] トレーニングユーティリティ、LoRA アダプター、レシピ設定
gliner2[test] / gliner2[dev] テストスイート、リンティング、ベンチマークツール

コミュニティとリソース

  • Discordhttps://discord.gg/fastino (リアルタイムヘルプ)
  • Reddit – r/GLiNER (ディスカッション、ユースケース)
  • ドキュメント – 分類、NER、JSON 抽出、関係抽出、長コンテキスト処理、安全/PII モデル、LoRA ファインチューニングを網羅したチュートリアル。
  • モデルハブ – すべてのチェックポイントは Hugging Face の fastino/gliner2-family コレクションでホストされています。

GLiNER2 を使用する場合

  • 複数のモデルをロードせずに、同じテキストから複数の IE タスクが必要な場合。
  • プライバシーまたはエッジデバイスのためにローカルで CPU に優しい推論を好む場合。
  • データが明確に定義されたスキーマに従っている場合(例:「製品名、価格、色を抽出」)。
  • 提供された LoRA アダプターを使用して、独自のデータでモデルを拡張またはファインチューニングしたい場合。

TL;DR

GLiNER2 は、エンティティ、分類、構造化レコード、関係、スパン属性を抽出するためのスキーマ駆動の単一モデルライブラリです。span-grid と boundary の両方のアーキテクチャを出荷し、CPU で効率的に実行し、プライバシーファーストのローカル推論パスを提供し、すぐに使える多言語チェックポイントと安全/PII モデルを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト