
- 知识问答
- 引用依据
START WITH A QUESTION
让助手回答公司的制度,而不是凭印象回答
员工问“报销要带什么材料?”通用模型未必见过公司的最新制度。把制度相关段落先找出来,再要求助手依据这些资料组织回答,就形成检索增强生成,通常简称 RAG。
RAG 不会因为读了资料就自动保证正确。资料可能被切断、相关条款没被找回,或者回答添加了原文没有的条件。因此要分开检查资料准备、检索和回答三个环节。
BUILD YOUR VOCABULARY
先把三个概念讲清楚
切分与元数据
将长文档分成便于检索的片段,并保存标题、来源、版本和权限。元数据就是描述资料的附加信息。
“报销需发票”和“还需主管审批”分在不同片段时,可能只召回一半。
召回与上下文
召回指找出候选资料;上下文是本次交给模型的信息。只取排名第一的片段可能遗漏条件,取太多也可能增加干扰。
材料要求和审批要求需要一起交给回答环节。
带引用回答与拒答
回答应能追溯到证据。资料不足时说清缺口,权限不足时不能泄露被限制资料的内容。
资料只写材料,没有金额,就不应补出报销上限。
FOLLOW THE PROCESS
把原理放进完整流程
- 01
整理资料
去除重复和失效版本,按自然条款切分,并记录权限。
- 02
检索候选
用查询找相关片段,检查是否覆盖完整问题。
- 03
组织回答
把问题和可用证据交给生成环节,要求标出引用和未知项。
- 04
核验与评估
分别检查检索是否找对、回答是否忠于证据,以及权限是否被执行。
| 片段 | 内容 | 缺失后的影响 |
|---|---|---|
| 条款 A | 提交发票与报销单 | 无法说明材料 |
| 条款 B | 提交后由主管审批 | 容易误以为交材料即可完成 |
| 无对应条款 | 金额上限未知 | 不能自行编造上限 |
CHANGE ONE THING & OBSERVE
切分方式会怎样影响证据完整性?
切换按条款切分或合并相邻条款,再调整取回片段数。观察答案是否包含材料和审批两部分。回答由固定模板展示,不调用真实大模型。
问题:报销需要什么材料,提交后还要什么流程?
报销须提交发票与报销单。
已取回报销提交后由主管审批。
未取回会议室需提前预订。
未取回材料:发票与报销单。审批流程信息不足,需要继续检索。
来源:[A]。本例以固定次序模拟已排序候选,包含会议资料时属于无关上下文。KNOW THE LIMITS
哪些结论不能直接推出?
有资料不等于已更新模型
通常的 RAG 在回答时传入资料,并不因此修改模型权重。资料更新需要同步索引与版本。
取回越多不一定越好
无关片段、过期条款和相互矛盾的信息可能降低效果;应在评估集上比较。
READ, RUN & EXPLAIN
演示检索后附上来源
以下示例仅使用 Python 3 标准库,可复制到本地 Python 环境运行。先看每一行的作用,再修改一个输入观察结果;无需网络或密钥。
docs = [('条款A', '报销须提交发票与报销单'), ('条款B', '报销提交后由主管审批')]
query = '报销'
hits = [(source, text) for source, text in docs if query in text]
if not hits:
print('当前资料不足,请补充有效制度')
else:
for source, text in hits:
print(text + ' [' + source + ']')复制或下载只获取本课示例,不会自动执行。
逐行解释(8 行)
- 第 1 行
docs = [('条款A', '报销须提交发票与报销单'), ('条款B', '报销提交后由主管审批')]每条资料保存来源标识与正文,内容为虚构教学制度。
- 第 2 行
query = '报销'用关键词作为最简单的检索条件。
- 第 3 行
hits = [(source, text) for source, text in docs if query in text]筛选正文中包含关键词的片段,不是语义检索。
- 第 4 行
if not hits:如果没有资料,走信息不足分支。
- 第 5 行
print('当前资料不足,请补充有效制度')明确表达缺少依据,不产生无来源答案。
- 第 6 行
else:有资料时进入回答组织分支。
- 第 7 行
for source, text in hits:依次使用每个命中片段。
- 第 8 行
print(text + ' [' + source + ']')原文摘录后加来源。本例是检索与引用示意,不是生成模型。
报销须提交发票与报销单 [条款A] 报销提交后由主管审批 [条款B]
CHECK YOUR UNDERSTANDING
换一个角度,检查自己是否理解
已回答 0 / 3 题 · 当前答对 0 题
TAKE IT WITH YOU
带走三个判断,再做一次迁移练习
- RAG 连接资料检索与回答,不自动保证真实。
- 自然切分、版本与权限是资料治理的一部分。
- 分开评价证据覆盖、答案忠实度与无答案处理。
参考与延伸阅读
本课例子、代码和模拟数据为教学设计。以下一手文档用于延伸核对,不代表对本示例的认证。
- Python 官方教程:数据结构列表、集合与队列等示例语法参考。
- scikit-learn:模型评估评估指标与预测、决策的区别。
- IBM:检索增强生成检索与生成组合的进一步说明。
- NIST:AI 风险管理框架可靠性与风险管理的延伸阅读;不是特定项目的合规结论。