はじめに
LettuceDetectは、KRLabsOrgによって開発された軽量のオープンソースツールで、特にRAG(Retrieval Augmented Generation)システムで生成される幻のコンテンツを検出するために設計されています。これは、コンテキスト、質問、答えを比較し、コンテキストによってサポートされていない答えの部分を識別することによって、開発者がコンテキストを強化するのに役立ちます。 ラグ システム精度。このツールはModernBERTテクノロジーをベースにしており、4096の トークン LettuceDetectは、従来のエンコーダモデルよりも効率的で、ラージ・ランゲージ・モデル(LLM)よりもはるかに計算コストが低い、ロング・コンテキスト処理を提供するように設計されています。LettuceDetectは、RAGTruthデータセットで良好な性能を発揮し、ラージ・モデル・バージョンのF1スコアは79.22%で、多くの既存ソリューションを凌駕しています。このプロジェクトはMITライセンスの下で公開されており、AIが生成したコンテンツの信頼性を最適化する必要のあるユーザーに対して、コードとモデルを無償でオープンにしています。
機能一覧
- トークン・レベル検出一語一語回答を分析し、幻覚の部分に正確に印をつける。
- スパンレベル検出完全なファントム・セグメントを識別する。
- ロングコンテクスト処理複雑なタスクのために4096のトークンをサポートするコンテキスト。
- 効率的な推論このモデルには150Mと396Mのモデルがあり、シングルGPUで毎秒30~60サンプルを処理する。
- オープンソース統合pip 経由でインストールでき、クリーンな Python API を提供し、RAG システムへの組み込みも簡単です。
- 複数の出力フォーマットトークン・レベルの確率とスパン・レベルの予測結果をサポートし、分析を容易にします。
- パフォーマンスベンチマーク詳細な評価データは、RAGTruthデータセットで入手可能である。
ヘルプの使用
LettuceDetectは軽量で効率的なツールで、ユーザーは簡単なインストールですぐに使い始めることができます。以下は、その機能をゼロからマスターするための詳細なインストールと使用ガイドです。
設置プロセス
- Python環境の準備
Python 3.8以上がインストールされていること、pipユーティリティがあることを確認してください。仮想環境を推奨します:python -m venv venv ソース venv/bin/activate # Linux/Mac venv/bin/activate # Windows
- LettuceDetectのインストール
PyPIから最新版をインストールする:pip install lettucedetect
インストール・プロセスは、ModernBERT モデルを含むコアの依存関係を自動的にダウンロードします。
- インストールの確認
Pythonターミナルで以下のコードを実行し、成功をチェックする:from lettucedetect.models.inference import HallucinationDetector print("LettuceDetectが正常にインストールされました!")
基本的な使い方
LettuceDetectは、わずか数行のコードで幻覚を検出するためのクリーンなPython APIを提供します。以下は基本的な例です:
サンプルコード
from lettucedetect.models.inference import 幻覚検出器
# 検出器を初期化する
detector = 幻覚検出器(
method="変流器",
model_path="KRLabsOrg/lettucedect-base-modernbert-en-v1"
)
#入力データ
contexts = ["フランスはヨーロッパの国です。 フランスの首都はパリです。 フランスの人口は6,700万人です。"]]
question = "フランスの首都は何ですか? フランスの人口は何人ですか?"
answer = "フランスの首都はパリです。 フランスの人口は6900万人です。"] question = "フランスの首都は何ですか?
# スパンレベルのテストを実行する
predictions = detector.predict(
context=contexts、
question=question、
output_format="spans"
)
#出力結果
print("Test results:", predictions)
サンプル出力::
結果: [{'start': 31, 'end': 71, 'confidence': 0.994, 'text': ' フランスの人口は6900万人です。]
その結果、「人口は6,900万人」は文脈からして6,700万人であるため、錯覚とされた。
主な機能
1. 検出器の初期化
- パラメータの説明::
方法
現在サポートされているのは "transformer "のみ。モデルパス
オプションKRLabsOrg/lettucedect-base-modernbert-ja-v1
(150M) またはKRLabsOrg/lettucedect-large-modernbert-ja-v1
(396M).
- リグベースバージョンは軽量で速く、ラージバージョンはより正確である。
2. 入場の準備
- コンテクスト背景情報を含む文字列のリストを渡す。
- 質問具体的な質問を入力する。
- 回答RAGシステムによって生成された回答を入力する。
- 銘記するコンテキストの全長が4096トークンを超えないようにしてください。
3. ランタイム検出
- メソッドを呼び出す使用
検出器.予測()
. - 出力フォーマット::
「スパン
幻覚クリップの開始位置と終了位置、テキスト、信頼度を返します。"トークン"
各トークンの錯覚確率を返す。
- リグクイックルックにはスパンレベル、詳細な分析にはトークンレベルと、適切な出力形式を選択します。
4. 分析
- スパンレベル出力幻覚の断片をひとつひとつ調べる。
テキスト
歌で応える信頼
信頼度は1に近く、幻覚の可能性が高いことを示している。 - トークン・レベル出力一語一語表示
プロブ
の値から、具体的なエラー箇所を特定する。 - フォローアップ治療RAGシステムを最適化し、その結果に基づいて問題を記録する。
注目の機能
トークン・レベル検出
LettuceDetectは、単語ごとの解析をサポートし、きめ細かな幻覚検出を提供します:
predictions = detector.predict(
context=contexts、
question=question、
answer=answer、
output_format="トークン"
)
print(predictions)
サンプル出力::
結果: [{'token': '69', 'pred': 1, 'prob': 0.95}, {'token': 'million', 'pred': 1, 'prob': 0.95}].
このことは、「6900万」が幻想であり、正確なチューニングを必要とするシナリオに適していることを示唆している。
ロング・コンテクスト・サポート
長いテキスト・タスクの場合、LettuceDetectは4096トークンを処理できる:
contexts = ["何度も繰り返される長い文脈..." * 50]
predictions = detector.predict(context=contexts, question="..." , answer="...")答え="...")
ただ、入力が制限内であることを確認してほしい。
ストリームリット・デモ
LettuceDetectはインタラクティブなプレゼンテーションを提供する:
- Streamlitをインストールする:
pip install streamlit
- デモを実行してください:
streamlit run demo/streamlit_demo.py
- ブラウザで文脈、質問、答えを入力すると、リアルタイムでテスト結果が表示されます。
上級者向け
カスタムモデルのトレーニング
- RAGTruthデータセットをダウンロードする (リンクを入れる。
データ/真実
フォルダー - データの前処理:
python lettucedetect/preprocess/preprocess_ragtruth.py --input_dir data/ragtruth --output_dir data/ragtruth
- トレーニングモデル:
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バージョンをインストールすることで、推論速度が向上します。
- バッチファイル複数のサンプルを
コンテキスト
1回限りのテストのリスト。
ほら
- 入力は英語でなければならず、他の言語は現時点ではサポートされていない。
- 最初の実行でモデルをダウンロードできるように、ネットワークが開いていることを確認する。
以上の手順で、ユーザーは簡単にLettuceDetectを使用してRAGシステムの錯覚を検出し、生成されたコンテンツの信頼性を向上させることができます。