许可证: mit
语言:
- 英文
基础模型:
- answerdotai/ModernBERT-base
任务标签: 词元分类
标签:
- 词元分类
- 幻觉检测
- 变换器模型
LettuceDetect: 幻觉检测模型
模型名称: lettucedect-base-modernbert-en-v1
机构: KRLabsOrg
GitHub: https://github.com/KRLabsOrg/LettuceDetect
概述
LettuceDetect 是一个基于变换器模型的幻觉检测模型,用于上下文和答案对的检测,专为检索增强生成(RAG)应用设计。该模型基于 ModernBERT 构建,选择并训练该模型是因为其支持扩展上下文(最多 8192 个词元)。这种长上下文处理能力对于需要处理详细且大量文档的任务至关重要,以准确判断答案是否由提供的上下文支持。
这是我们基于 ModernBERT-large 的大模型版本
模型详情
- 架构: ModernBERT(Large),支持扩展上下文(最多 8192 个词元)
- 任务: 词元分类 / 幻觉检测
- 训练数据集: RagTruth
- 语言: 英文
工作原理
该模型经过训练,能够识别答案文本中未被给定上下文支持的词元。在推理过程中,模型返回词元级别的预测结果,随后聚合为片段。这使得用户可以清楚地看到答案的哪些部分被认为是幻觉。
使用方法
安装
安装 'lettucedetect' 仓库
pip install lettucedetect
使用模型
from lettucedetect.models.inference import HallucinationDetector
detector = HallucinationDetector(
method="transformer", model_path="KRLabsOrg/lettucedect-base-modernbert-en-v1"
)
contexts = ["法国是一个欧洲国家。法国的首都是巴黎。法国的人口是 6700 万。"]
question = "法国的首都是什么?法国的人口是多少?"
answer = "法国的首都是巴黎。法国的人口是 6900 万。"
predictions = detector.predict(context=contexts, question=question, answer=answer, output_format="spans")
print("预测结果:", predictions)
性能
示例级别结果
我们在 RAGTruth 数据集的测试集上评估了我们的模型。我们的大模型 lettucedetect-large-v1 实现了总体 F1 分数 79.22%,优于基于提示的方法如 GPT-4(63.4%)和基于编码器的模型如 Luna(65.4%)。它还超越了微调的 LLAMA-2-13B(78.7%)(在 RAGTruth 中提出),并与 SOTA 微调的 LLAMA-3-8B(83.9%)(在 RAG-HAT 论文 中提出)竞争。总体而言,lettucedetect-large-v1 和 lettucedect-base-v1 是非常高效的模型,同时在推理场景中也非常有效。
示例级别的结果如下表所示。
片段级别结果
在片段级别,我们的模型在所有数据类型中均取得了最佳分数,显著超越了之前的模型。结果如下表所示。请注意,这里我们没有与 RAG-HAT 等模型进行比较,因为它们没有提供片段级别的评估。
引用
如果您使用该模型或工具,请引用以下论文:
@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},
}