🚀 LettuceDetect:幻觉检测模型
LettuceDetect是一个基于Transformer的模型,用于对上下文和答案对进行幻觉检测,专为检索增强生成(RAG)应用程序而设计。该模型利用了ModernBERT的长上下文支持能力,能够处理详细且广泛的文档,准确判断答案是否得到给定上下文的支持。
模型名称:lettucedect-base-modernbert-en-v1
组织:KRLabsOrg
Github:https://github.com/KRLabsOrg/LettuceDetect
🚀 快速开始
LettuceDetect是一个基于Transformer的模型,用于对上下文和答案对进行幻觉检测,适用于检索增强生成(RAG)应用。该模型基于ModernBERT构建,因其支持扩展上下文(最多8192个标记)而被特别选择和训练。这种长上下文能力对于需要处理详细和广泛文档以准确确定答案是否得到给定上下文支持的任务至关重要。
✨ 主要特性
- 长上下文支持:基于ModernBERT(Large)架构,支持扩展上下文(最多8192个标记),能够处理详细且广泛的文档。
- 精准检测:经过训练,能够识别答案文本中未得到给定上下文支持的标记,帮助用户准确找出答案中被认为是幻觉的部分。
- 多语言支持:支持英文,适用于各种英文语境下的幻觉检测任务。
📦 安装指南
安装lettucedetect
库:
pip install lettucedetect
💻 使用示例
基础用法
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."
predictions = detector.predict(context=contexts, question=question, answer=answer, output_format="spans")
print("Predictions:", predictions)
📚 详细文档
模型详情
属性 |
详情 |
模型架构 |
ModernBERT(Large),支持扩展上下文(最多8192个标记) |
任务类型 |
标记分类 / 幻觉检测 |
训练数据集 |
RagTruth |
语言 |
英文 |
工作原理
该模型经过训练,能够识别答案文本中未得到给定上下文支持的标记。在推理过程中,模型返回标记级别的预测结果,然后将其聚合为跨度,使用户能够准确查看答案中被认为是幻觉的部分。
性能表现
- 示例级别结果:在RAGTruth数据集的测试集上进行评估,大型模型lettucedetect-large-v1的整体F1分数达到79.22%,优于基于提示的方法(如GPT-4,63.4%)和基于编码器的模型(如Luna,65.4%),也超过了微调后的LLAMA-2-13B(78.7%),并与最先进的微调后的LLAMA-3-8B(83.9%)具有竞争力。
- 跨度级别结果:在跨度级别上,该模型在所有数据类型上均取得了最佳分数,显著优于之前的模型。
引用信息
如果您使用了该模型或工具,请引用以下论文:
@misc{Kovacs:2025,
title={LettuceDetect: A Hallucination Detection Framework for RAG Applications},
author={Ádám Kovács and Gábor Recski},
year={2025},
eprint={2502.17125},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2502.17125},
}
📄 许可证
本项目采用MIT许可证。