从朴素切片到带引用溯源的检索链路,中途踩了分块粒度和权限隔离两个大坑。附三次架构图对比和评测集……
给一家 30 人律所做了文书知识库,8000 份判决书和合同模板,三个月迭代了三版架构。把每版的形态和翻车点写出来,做 RAG 的可以参考。
按 500 字固定切片 + 向量检索,上线第一天律师就问崩了:「连带责任」检索回来的全是合同模板里的定义,判例里的裁判观点一条没出。教训:法律文书必须按「条款/段落语义」切片,固定长度切片会切断裁判说理段。
换成按文书结构切片(首部/事实/理由/判决结果),向量 + BM25 混合检索,准确率从 61% 到 83%。但引用的文书编号律师不敢信,要自己再核对——效率打折。
每个答案段落后面挂原文定位(文书名+页码+段落),点击跳到原文高亮。律师的信任度一下子上来了,现在所里日均使用 200 次。中途还踩了权限隔离的坑:实习律师和合伙人的可查范围不同,向量库层面就要做集合隔离,事后过滤会漏。
评测集我整理了 200 条问答对,做法律 RAG 的朋友可以私信我拿。
评论(7)
「权限隔离要在向量库层面做」这条价值千金,我见过事后过滤漏出保密卷宗的,差点出事故。
引用溯源是信任的关键,+1。我们给医院做病历检索也是同样结论:没有原文定位,医生根本不敢用。
混合检索用的什么方案?ES 还是向量库自带的 BM25?
回复 @天府三街打工人:向量库自带的稀疏向量(用的 Qdrant 混合查询),少维护一套 ES,一个人扛得动。
200 条评测集求一份!正在给会计师事务所做类似的东西,条款切片的经验应该能复用。
回复 @薛峰:已私信。注意财务文书和法律文书的切片结构不一样,财报是表格密集,评测集结构可以参考,切片规则要重调。
这种硬核复盘多来点,比市面上的 RAG 教程实在十倍。