实战教程RAG 与知识库精选分享
从检索到回答:搭建一个可评估的 RAG 知识库
演示内容:这篇文章展示社区教程的组织方式,不是来自真实用户的生产案例。你可以用自己的实践替换这些示例。
目标与效果
知识库能够回答问题只是起点。我们还需要知道检索是否命中正确材料,以及最终回答是否忠实于证据。这个示例把检索与生成分开评估,让每次优化都有依据。
环境与数据准备
准备一组不含敏感信息的文档,并手工整理一批问题与对应证据。记录分块策略、嵌入模型版本、检索条数与提示词。实验之间只改变一个变量。
python
cases = [{"question": "如何申请访问权限?", "expected_doc": "access.md"}]
for case in cases:
results = retrieve(case["question"], top_k=5)
hit = any(doc.id == case["expected_doc"] for doc in results)
print(case["question"], hit)实现步骤
先对原始文档清洗、分块和建立索引。针对每个测试问题保存召回文档及排名。确认检索命中后,再检查回答中的陈述能否在召回片段里找到依据。不要仅凭回答流畅程度判断质量。
结果与注意事项
记录命中率、回答证据覆盖和响应耗时,并保留失败案例。示例没有声称某个固定参数一定最优;应使用自己的问题集重复验证,尤其关注文档更新和权限过滤。
交流与讨论 0
登录后参与讨论,让实践碰撞出更多思路。
还没有讨论,来分享第一个思路吧。