AIパーソナル・ラーニング
と実践的なガイダンス
サイバーナイフ用ドローイングミラー

LettuceDetect:RAGシステムにおける幻覚検出のための効率的なツール

はじめに

LettuceDetectは、KRLabsOrgによって開発された軽量のオープンソースツールで、特にRAG(Retrieval Augmented Generation)システムで生成される幻のコンテンツを検出するために設計されています。これは、コンテキスト、質問、答えを比較し、コンテキストによってサポートされていない答えの部分を識別することによって、開発者がコンテキストを強化するのに役立ちます。 ラグ システム精度。このツールはModernBERTテクノロジーをベースにしており、4096の トークン LettuceDetectは、従来のエンコーダモデルよりも効率的で、ラージ・ランゲージ・モデル(LLM)よりもはるかに計算コストが低い、ロング・コンテキスト処理を提供するように設計されています。LettuceDetectは、RAGTruthデータセットで良好な性能を発揮し、ラージ・モデル・バージョンのF1スコアは79.22%で、多くの既存ソリューションを凌駕しています。このプロジェクトはMITライセンスの下で公開されており、AIが生成したコンテンツの信頼性を最適化する必要のあるユーザーに対して、コードとモデルを無償でオープンにしています。

LettuceDetect:RAGシステムにおける幻覚検出のための効率的なツール-1


 

機能一覧

  • トークン・レベル検出一語一語回答を分析し、幻覚の部分に正確に印をつける。
  • スパンレベル検出完全なファントム・セグメントを識別する。
  • ロングコンテクスト処理複雑なタスクのために4096のトークンをサポートするコンテキスト。
  • 効率的な推論このモデルには150Mと396Mのモデルがあり、シングルGPUで毎秒30~60サンプルを処理する。
  • オープンソース統合pip 経由でインストールでき、クリーンな Python API を提供し、RAG システムへの組み込みも簡単です。
  • 複数の出力フォーマットトークン・レベルの確率とスパン・レベルの予測結果をサポートし、分析を容易にします。
  • パフォーマンスベンチマーク詳細な評価データは、RAGTruthデータセットで入手可能である。

 

ヘルプの使用

LettuceDetectは軽量で効率的なツールで、ユーザーは簡単なインストールですぐに使い始めることができます。以下は、その機能をゼロからマスターするための詳細なインストールと使用ガイドです。

設置プロセス

  1. Python環境の準備
    Python 3.8以上がインストールされていること、pipユーティリティがあることを確認してください。仮想環境を推奨します:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
  1. LettuceDetectのインストール
    PyPIから最新版をインストールする:

    pip install lettucedetect
    

    インストール・プロセスは、ModernBERT モデルを含むコアの依存関係を自動的にダウンロードします。

  2. インストールの確認
    Pythonターミナルで以下のコードを実行し、成功をチェックする:

    from lettucedetect.models.inference import HallucinationDetector
    print("LettuceDetect 安装成功!")
    

基本的な使い方

LettuceDetectは、わずか数行のコードで幻覚を検出するためのクリーンなPython APIを提供します。以下は基本的な例です:

サンプルコード

from lettucedetect.models.inference import HallucinationDetector
# 初始化检测器
detector = HallucinationDetector(
method="transformer",
model_path="KRLabsOrg/lettucedect-base-modernbert-en-v1"
)
# 输入数据
contexts = ["France is a country in Europe. The capital of France is Paris. The population of France is 67 million."]
question = "What is the capital of France? What is the population of France?"
answer = "The capital of France is Paris. The population of France is 69 million."
# 执行 span 级检测
predictions = detector.predict(
context=contexts,
question=question,
answer=answer,
output_format="spans"
)
# 输出结果
print("检测结果:", predictions)

サンプル出力::

检测结果: [{'start': 31, 'end': 71, 'confidence': 0.994, 'text': ' The population of France is 69 million.'}]

その結果、「人口は6,900万人」は文脈からして6,700万人であるため、錯覚とされた。

主な機能

1. 検出器の初期化

  • パラメータの説明::
    • method現在サポートされているのは "transformer "のみ。
    • model_pathオプション KRLabsOrg/lettucedect-base-modernbert-en-v1(150M) または KRLabsOrg/lettucedect-large-modernbert-en-v1(396M).
  • リグベースバージョンは軽量で速く、ラージバージョンはより正確である。

2. 入場の準備

  • コンテクスト背景情報を含む文字列のリストを渡す。
  • 質問具体的な質問を入力する。
  • 回答RAGシステムによって生成された回答を入力する。
  • 銘記するコンテキストの全長が4096トークンを超えないようにしてください。

3. ランタイム検出

  • メソッドを呼び出す使用 detector.predict().
  • 出力フォーマット::
    • "spans"幻覚クリップの開始位置と終了位置、テキスト、信頼度を返します。
    • "tokens"各トークンの錯覚確率を返す。
  • リグクイックルックにはスパンレベル、詳細な分析にはトークンレベルと、適切な出力形式を選択します。

4. 分析

  • スパンレベル出力幻覚の断片をひとつひとつ調べる。 text 歌で応える confidence信頼度は1に近く、幻覚の可能性が高いことを示している。
  • トークン・レベル出力一語一語表示 prob の値から、具体的なエラー箇所を特定する。
  • フォローアップ治療RAGシステムを最適化し、その結果に基づいて問題を記録する。

注目の機能

トークン・レベル検出

LettuceDetectは、単語ごとの解析をサポートし、きめ細かな幻覚検出を提供します:

predictions = detector.predict(
context=contexts,
question=question,
answer=answer,
output_format="tokens"
)
print(predictions)

サンプル出力::

检测结果: [{'token': '69', 'pred': 1, 'prob': 0.95}, {'token': 'million', 'pred': 1, 'prob': 0.95}]

このことは、「6900万」が幻想であり、正確なチューニングを必要とするシナリオに適していることを示唆している。

ロング・コンテクスト・サポート

長いテキスト・タスクの場合、LettuceDetectは4096トークンを処理できる:

contexts = ["A long context repeated many times..." * 50]
predictions = detector.predict(context=contexts, question="...", answer="...")

ただ、入力が制限内であることを確認してほしい。

ストリームリット・デモ

LettuceDetectはインタラクティブなプレゼンテーションを提供する:

  1. Streamlitをインストールする:
    pip install streamlit
    
  2. デモを実行してください:
    streamlit run demo/streamlit_demo.py
    
  3. ブラウザで文脈、質問、答えを入力すると、リアルタイムでテスト結果が表示されます。

上級者向け

カスタムモデルのトレーニング

  1. RAGTruthデータセットをダウンロードする (リンクを入れる。 data/ragtruth フォルダー
  2. データの前処理:
    python lettucedetect/preprocess/preprocess_ragtruth.py --input_dir data/ragtruth --output_dir data/ragtruth
    
  3. トレーニングモデル:
    python scripts/train.py --data_path data/ragtruth/ragtruth_data.json --model_name answerdotai/ModernBERT-base --output_dir outputs/hallucination_detector --batch_size 4 --epochs 6 --learning_rate 1e-5
    

パフォーマンス最適化

  • GPUアクセラレーションPyTorch CUDAバージョンをインストールすることで、推論速度が向上します。
  • バッチファイル複数のサンプルを contexts 1回限りのテストのリスト。

ほら

  • 入力は英語でなければならず、他の言語は現時点ではサポートされていない。
  • 最初の実行でモデルをダウンロードできるように、ネットワークが開いていることを確認する。

以上の手順で、ユーザーは簡単にLettuceDetectを使用してRAGシステムの錯覚を検出し、生成されたコンテンツの信頼性を向上させることができます。

無断転載を禁じます:チーフAIシェアリングサークル " LettuceDetect:RAGシステムにおける幻覚検出のための効率的なツール
ja日本語