为了评估大语言模型 (LLM) 的回答是否完全由其检索上下文支持,开发者可以结合使用与来源直接比对验证和使用辅助模型自动化交叉核实的方法。目标是确保回答中的每个事实性陈述或关键细节都与提供的上下文一致,从而最大程度地减少无依据的断言或幻觉。
首先,**直接与来源进行比对验证**涉及将回答分解为独立的陈述,并检查每个陈述是否明确存在于检索上下文中。例如,如果回答陈述“《凡尔赛条约》于 1919 年签订”,则上下文应包含该确切日期或明确暗示(例如,“一战开始五年后签订”)。开发者可以通过使用命名实体识别 (NER) 从回答和上下文中提取日期、名称或统计数据,然后进行比较来实现自动化。spaCy 或正则表达式模式等工具可以标记不匹配项。对于细微的陈述,语义相似性模型(例如句子嵌入)可以检测到转述匹配。如果上下文缺乏支持任何陈述的证据,则将回答的该部分标记为无依据。
其次,**使用辅助模型交叉核实事实**增加了另一层验证。一个更小、更专业的模型(例如,经过微调的 BERT 分类器)可以训练来分类一个陈述是否由上下文支持、矛盾或未提及。例如,如果回答声称“气候变化完全由人类活动引起”,但上下文只提到“人类活动做出了显著贡献”,则辅助模型会标记“完全”这个词为夸大。这种方法非常适合检测细微的不一致性,例如不正确的因果关系(例如,“A 导致 B”与“A 与 B 相关”)。开发者可以使用 HuggingFace Transformers 等框架将其集成到流程中,让辅助模型与主 LLM 并行运行。
最后,结合这两种方法可以提高可靠性。例如,系统可以首先提取回答陈述,并使用精确匹配或嵌入将其与上下文进行比对验证。然后,任何模糊或未经验证的陈述将传递给辅助模型进行更深入的分析。这种混合方法对于复杂的回答特别有用,例如医疗建议或技术文档,其中精确度至关重要。开发者还可以记录不匹配项,以优化检索系统或调整 LLM 的提示词。通过系统地验证回答的每个部分,团队可以建立对 LLM 输出的信任,同时保持可扩展性。