用一个小知识库定位问题
客服问“超过30天还能退吗”,助手回答“一律不能”,但政策还有质量问题例外。本课用三段虚构资料模拟知识库,先看检索拿到了什么,再决定是改检索还是改生成提示。
目标不是搭一个完整 RAG 平台,而是得到一份可复查的检索结果、证据与答案。Python 代码只用本地样例,不调用嵌入模型。
准备三段带身份的材料
D1,当前普通退货规则:
普通退货需在签收后30天内申请,商品保持完好。
D2,当前质量问题规则:
经确认的质量问题不受普通退货30天限制,需提交问题说明与订单信息。
D3,历史规则,已失效:
所有订单仅支持7天内申请退货。
D1 与 D2 是互补条件,D3 是历史材料。若把“已失效”标签在切分时丢掉,检索就可能把旧内容当成新政策。以上均为教学虚构规则,不是现实交易建议。
先手工决定这个问题需要什么
问题:“签收40天,发现质量问题,还能申请吗?”
最少需要 D2,最好同时有 D1 解释它为什么是普通期限的例外。D3 不应进入当前答案。先写这个人工目标,再检查系统返回,避免检索出了什么就认为什么相关。
运行一个透明的词面检索
下面把中文关键词人工列出来,便于观察匹配机制,不宣称实现了中文分词或语义检索。保存为 retrieve.py 运行:
docs = [
{"id": "D1", "current": True, "terms": {"退货", "30天", "普通"},
"text": "普通退货需在签收后30天内申请,商品保持完好。"},
{"id": "D2", "current": True, "terms": {"退货", "质量", "30天"},
"text": "经确认的质量问题不受普通退货30天限制,需提交问题说明与订单信息。"},
{"id": "D3", "current": False, "terms": {"退货", "7天", "历史"},
"text": "所有订单仅支持7天内申请退货。"},
]
def retrieve(query_terms, limit=2):
scored = [(len(set(query_terms) & d["terms"]), d) for d in docs if d["current"]]
ranked = sorted(scored, key=lambda pair: (-pair[0], pair[1]["id"]))
return [d["id"] for score, d in ranked if score > 0][:limit]
assert retrieve(["退货", "质量"]) == ["D2", "D1"]
assert retrieve(["电池"]) == []
assert "D3" not in retrieve(["退货", "7天"])
print(retrieve(["退货", "质量"]))
应输出 D2、D1。尝试只用“退货”,两段得分相同;这说明词面匹配的限制,不是模型推理能力突然变差。
把检索片段交给生成步骤
在任意助手中提供 D2 与 D1 原文,使用:
只依据提供的D1、D2回答:签收40天发现质量问题,还能申请吗?
解释普通期限与质量问题例外;保留“经确认”和所需材料。
每个关键结论标注资料编号。不保证审核一定通过,不使用未提供的历史规则。
参考答案:普通退货原则上30天内申请;经确认的质量问题不受该普通期限限制,需要提交问题说明与订单信息,因此应走质量问题申请流程,能否确认仍需审核。[D1][D2]
答错了按哪一层修
| 观察到的现象 | 应优先处理 |
|---|---|
| D2 根本没进库 | 文档来源与入库,不是提示词 |
| D2 在库但没有返回 | 查询表达、切分、召回规则 |
| 返回 D2 但排在截断范围外 | 排序与保留条数 |
| D3 被当当前规则 | 版本与有效状态过滤 |
| 给了 D2 仍答一律不能 | 生成提示或答案证据核对 |
先保存实际检索结果,不要只保存最终答案。如果连结果都看不到,你很难知道应该多取资料还是改生成。
怎么测改进有没有用
准备三个问题:普通退货期限、质量问题超期、材料完全没提的运费承担。前两题应找到相应证据,第三题应报告资料不足。
需要衡量召回时,先为每题人工标出相关文档。返回两条里有一条相关,精确率是1/2;相关文档共两条只找到一条,召回率也是1/2。题目没有相关资料时别机械除零,单独评估能否拒答。
自测与答案
把返回条数无限加大就能解决吗?可能引入过时和无关信息,还会占上下文;应定位哪层丢证据。
加练:新增一条“运费规则待补充”,它不是具体运费结论。助手应继续说明未知,而非看到相关标题就猜买家承担。
交付三题、人工目标、实际检索列表和最终答案。词面脚本通过不代表真实嵌入检索或线上知识库已完成评测。
来源与内容说明
AIScope 中文手册 · AIScope 编辑
本篇为本站原创学习内容,引用资料保留参考来源。
收录:2026年10月19日
适用范围:尚未标注,请结合原文与实际环境核对
人工核验:尚无核验记录