关于RAG调优,寻求各位佬的宝贵意见

我有一个知识库,其中涉及到政策文件的补充或修改。比如,A文件是一个统一的管理文件,而B文件对A文件中的几条规定进行了修改。

在这种情况下,B文件的修改会像这样描述:“为进一步规范和促进理财业务的发展,现对商业银行个人理财业务管理的有关规定做出以下调整:一、根据《国务院关于第四批取消和调整行政审批项目的决定》(国发〔2007〕33号)的相关规定,取消原《办法》中对商业银行发行保证收益性质的理财产品需要向中国银监会申请批准的相关规定,改为实行报告制。” 其他A文件中的条款保持不变,因此A文件仍需要保留。

我的问题是,如果有提问涉及到修改内容的部分,如何确保大模型在做RAG时能够根据B文件中的最新内容作出回答,而不是仍然基于A文件中的旧内容。希望各位佬不吝赐教!

个人观点,单纯的 RAG 应该无法解决这个问题,需要做个工作流。

你用于 RAG 的知识库应该只包含 B 文件,A 文件应该有单独的地方存储

个人观点, 有一种思路是可以按照文件创建时间或者修改时间进行判断

修改文档后,实时去更新向量数据库的数据。

感谢佬的回复,不知道graphrag能不能解决这种问题

感谢您的回复~我的场景是这样,B文件中只有几条修改,其他大部分规定都还需要参照A文件

对,我也有这样的想法,就怕补丁文件太多,粗排阶段检索不到最新发的那个文件

GraphRAG 应该也解决不了这种问题:thinking:

这个不太可行佬,因为知识库里的东西都是制度文件,规定是写死的

我感觉 rag 无法彻底解决不了这个问题。
可能有很多种手段,能偶尔解决 1-2 个文件的问题,但大批量的来讲,完全没戏。

那是否可以从文件命名入手呢?添加类似时间tag?

好的谢谢佬…那我就不费时间尝试了

感觉需要比较复杂的工作流校验,或者专家经验加入到提示词里做判断

我感觉工作流+提示词也解决不了这个问题,还得靠人工去合并。

工作流应该是解决这种问题的最佳方案

嗯嗯,这也是我暂时想到的一种比较粗暴的方式,感谢佬~

明白,谢谢佬~~确实感觉需要人工介入,纯凭模型效果不会很好

先在B找,找不到再去A找。

我这边就简单粗暴,直接把文件融合在一起,对应条款该删除删除,仅仅保留一份文件。