omni-nli について
Omni-NLIは、テキストの一貫性を検証するアプリケーションやエージェント向けのセルフホスト可能な自然言語推論サービスです。RESTとMCPを通じて、前提と仮説の関係を含意・矛盾・中立に分類し、複数のモデルバックエンドに対応します。
主な機能
- 01含意・矛盾・中立の分類
- 02RESTとMCPのインターフェース
- 03複数のモデルバックエンドに対応
- 04信頼度と任意の推論トレース
- 05設定機能と組み込みキャッシュ
活用シーン
- 01生成された返信と会話文脈の照合
- 02要約と原文の矛盾確認
- 03検索結果がクエリを裏付けるかの評価
- 04事実が文章を裏付けるかの確認
MCP 対応
MCPを通じて自然言語推論機能を提供し、AIエージェントが前提と仮説の関係を評価できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Omni-NLI は、自然言語推論(NLI)機能を RESTful インターフェースおよび Model Context Protocol(MCP)インターフェースを通じて提供する、セルフホスト可能なサーバーです。 REST API を介したスケーラビリティの高いスタンドアロンのステートレスなマイクロサービスとしても、AI ベースのアプリケーションに検証レイヤーを実装する AI エージェント向けの MCP サーバーとしても利用できます。
NLI とは?
前提と仮説と呼ばれる 2 つのテキストが与えられたとき、NLI(テキスト含意とも呼ばれます)とは、人間の読み手が認識する両者の方向性のある関係を判断するタスクです。 関係は、次の 3 つのラベルのいずれかで示されます。
"entailment":仮説が前提によって裏付けられている"contradiction":仮説が前提と矛盾している"neutral":仮説は前提によって裏付けられても、否定されてもいない
重要
NLI は論理的含意と同じではありません。 その目的は、合理的な人間が仮説は前提から導かれると考えるかどうかを判断することです。 これは仮説の絶対的な真偽ではなく、一貫性を確認するものです。
NLI の一般的な用途には、次のようなものがあります。
- あるテキストが、ほかのテキストと一貫しているかどうかを確認できます。たとえば、チャットボットや AI アシスタントからの新しい応答が、会話の前の部分で述べられた内容と矛盾しているかどうかを確認できます。
- 要約が元のテキストと何らかの形で矛盾していないかどうかを確認できます。
- ランク付けされた検索結果の一覧にある文書が、クエリを含意しているかどうかを確認できます。
- あるテキストが、何らかの事実によって裏付けられているかどうかを確認できます。ただし、これは論理を使うこととは異なります。
重要
結果の品質は、使用するモデル(LLM)に大きく左右されます。 まず、アプリケーションの領域に関連する、前提・仮説・ラベルの三つ組からなるデータセットを使ってモデルをファインチューニングするのが有効です。
Omni-NLI の主な機能
- 生成された内容が事実に基づいているかを検証し、LLM のハルシネーションの軽減に役立ちます
- Ollama、HuggingFace(公開モデルおよび非公開/アクセス制限付きモデル)、OpenRouter など、さまざまなバックエンドが提供するモデルに対応しています
- REST API(従来のアプリケーション向け)と MCP(AI エージェント向け)のインターフェースに対応しています
- キャッシュ機能を内蔵し、柔軟に設定でき、高い拡張性を備えています
- 説明可能性のため、信頼度スコアと(オプションで)推論トレースを提供します
実装済みおよび実装予定の機能については、ROADMAP.md をご覧ください。
重要
Omni-NLI は開発初期段階のため、バグや互換性を損なう変更が発生する可能性があります。 バグの報告や機能のリクエストには、issues page をご利用ください。
クイックスタート
1. インストール
pip install omni-nli[huggingface]
2. サーバーの起動
omni-nli
3. NLI の評価(REST API を使用)
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"premise": "A football player kicks a ball into the goal.",
"hypothesis": "The football player is asleep on the field."
}' \
http://127.0.0.1:8000/api/v1/nli/evaluate
応答の例:
{
"label": "contradiction",
"confidence": 0.99,
"model": "microsoft/Phi-3.5-mini-instruct",
"backend": "huggingface"
}
4. NLI の評価(MCP インターフェースを使用)

ドキュメント
設定オプション、API リファレンス、使用例などの詳細については、Omni-NLI Documentation をご覧ください。
コントリビューション
コントリビューションをいつでも歓迎します! 始め方の詳細については、CONTRIBUTING.md をご覧ください。
ライセンス
Omni-NLI は MIT License の下でライセンスされています(LICENSE を参照)。
謝辞
- ロゴは SVG Repo のものを一部変更して使用しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。