1. RAG系统召回测试的核心价值
第一次接触RAG系统时,我犯了个典型错误——把所有精力都放在优化大模型生成效果上,结果发现AI经常"一本正经地胡说八道"。后来才明白,如果检索环节没做好,再强大的模型也像巧妇难为无米之炊。这就好比让米其林大厨用发霉的食材做菜,技术再好也白搭。
召回测试就是检查你的"食材仓库"是否运转正常。具体来说,当用户问"如何重置路由器密码"时,系统能否准确找到产品手册里的相关段落?我见过最离谱的案例是某客服系统把"路由器"识别成"旅游路线",返回了一堆景点介绍。这种问题不通过召回测试根本发现不了。
在Dify平台上,召回测试可以帮你验证三个关键点:
- 知识库分段是否合理(内容是否被切得太碎或太长)
- Embedding模型是否适配(能否理解"重置密码"和"恢复出厂设置"是同义词)
- 检索参数是否优化(该返回几个片段?相似度阈值设多少?)
2. 关键指标解读与实战计算
2.1 指标定义与计算方法
Recall@k是我最看重的指标,它回答的问题是:"该找到的资料都找到了吗?"计算公式很简单:
def calculate_recall(relevant_docs, retrieved_docs):
correct = len(set(relevant_docs) & set(retrieved_docs))
return correct / len(relevant_docs)
比如知识库里有5篇关于"数据备份"的文档,系统返回的Top3结果中包含其中2篇,那么Recall@3=2/5=0.4。这个值越高,说明漏检越少。
Precision@k则关注"返回的结果有多少是靠谱的"。还以刚才为例,如果Top3里只有1篇真正相关,那么Precision@3=1/3≈0.33。我在金融行业项目中要求这个值至少达到0.7。
2.2 Dify平台上的指标观察
Dify的调试模式会显示

3506

被折叠的 条评论
为什么被折叠?



