大模型能把一句话写得很顺,顺畅并不能证明内容有出处。Grounding 的做法是先给模型一组可用材料,让回答贴着这些材料生成,材料可以来自企业知识库、公开搜索,也可以来自应用自己提供的搜索接口。
我对照了 Microsoft 的 groundedness 检测说明和 Google Cloud 的 grounding 文档。Google 的搜索接口方案会让模型向外部搜索端点发出查询,端点返回相关片段,模型把这些片段当作生成依据。使用公开搜索时,响应还可能附带网页来源信息,方便读者继续核对。
自定义搜索接口让企业继续使用已有的检索服务,接口接到模型生成的查询后,返回相关文本片段,模型再依据这些片段作答。Google 文档说明,一次请求还能组合多个 grounding 来源。来源变多以后,权限过滤和结果去重也要在进入模型前处理清楚。
有来源和有事实仍是两次检查
Grounding 解决的是回答与给定材料是否一致。材料写错、已经过期或缺少关键页,模型贴着它回答仍会得到错误结果。企业做政策问答时,应优先选择正式制度和当前版本,并给文档保留发布日期、适用范围与替换关系。
来源覆盖也会限制答案。搜索只返回三段局部文字,模型很难负责地概括整份合同。没有找到足够材料时,产品应允许回答“不知道”或缩小结论。引用链接能帮助核验,链接数量本身不代表检索已经完整。
Microsoft 的 groundedness 检测会比较模型回答与用户提供的来源,寻找材料里没有支撑的片段。快速模式返回 grounded 或 ungrounded 的判断,推理模式会给出更详细的解释,适合开发阶段排查。文档还提供基于来源自动修正的预览能力。
这些检测结果也有适用范围。当前 Microsoft 文档说明,该能力对英文内容优化,其他语言可以提交,准确度与质量未必相同。检测器本身需要评测,不能拿一个分数替代人工抽查。
检测还要区分两个问题。回答有没有超出材料是一项,材料能不能证明现实情况是另一项。前一项可以自动比较文字,后一项需要检查来源身份、发布时间和适用范围。
用可回答问题做验收
准备上线时,可以从真实资料里写一组有明确出处的问题,再加入几道资料无法回答的问题。记录检索到了哪一页、回答里的每个事实能否在来源中找到,以及系统遇到缺口时有没有收住。资料更新后重跑同一组问题,旧答案若还出现,就要检查索引和缓存是否失效。
Grounding 给模型划出了可依赖的材料范围,也给读者留下核对入口。它适合降低无依据回答的概率。最终质量仍取决于来源选得怎样、检索拿回了什么,以及系统是否愿意在证据不足时停下来。