← [ BACK_TO_NOTES ]

Source Grounding

Source Grounding 是确保 LLM 回答基于检索到的内容而非模型自身知识的技术。它减少幻觉,提高回答的可信度。

#concept #evergreen #ai

[!info] related notes

Source Grounding

一句话定义

Source Grounding 是确保 LLM 回答基于检索到的内容而非模型自身知识的技术。Prompt 中明确告诉 LLM:“只用参考资料回答,不要用你自己的知识。“

核心原理

Prompt 设计

GROUNDING_PROMPT = """
请严格基于以下参考资料回答问题。

规则:
1. 只使用参考资料中的信息
2. 如果参考资料中没有相关信息,回答"根据现有资料无法回答此问题"
3. 不要使用你的训练知识
4. 引用时标注来源

参考资料:
{context}

问题: {question}
"""

Faithfulness 检查

class FaithfulnessChecker:
    def __init__(self, llm):
        self.llm = llm

    async def check(self, answer: str, context: str) -> float:
        prompt = f"""
请检查以下回答是否完全基于参考资料。

参考资料:
{context}

回答:
{answer}

回答中有多少比例的信息可以在参考资料中找到?输出 0-100 的数字。
"""
        result = await self.llm.chat(prompt)
        return int(result) / 100

常见设计模式

1. 强制引用

要求每个关键信息都标注来源。

2. 拒绝回答

参考资料不足时明确拒绝。

3. Faithfulness 评分

自动检查回答与参考资料的一致性。

常见坑

  1. 不做 Grounding: LLM 用自己的知识回答,可能过时或错误
  2. Prompt 太弱: “请参考以下资料”不如”只使用参考资料”
  3. 不做 Faithfulness 检查: 不知道回答是否真的基于资料

参考资料

创建于 2026/6/30 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本