动态传入知识库ID数组,数组长度超过一定数量时语义检索出现bug
例行检查
- [ ] 我已确认目前没有类似 issue
- [x] 我已完整查看过项目 README,以及项目文档
- [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
- [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
你的版本
- [ ] 公有云版本
- [x] 私有部署版本, 具体版本号: v4.8.21
问题描述, 日志截图,配置文件等 向量数据库:pg embedding模型:Conan
我有一个csvTable,里面有44000条数据,现在我根据装置型号不同,把该csvTable拆成了120个分组,并且通过接口自动构建、上传成为了120个知识库
现在我根据用户输入的问题不同,构建不同的知识库ID数组动态决定我需要传入哪些知识库,[{"datasetId": "xxx"}, {"datasetId": "yyy"}, {"datasetId": "zzz"}...],当数组长度较大时(比如20),语义检索就不工作了,全文检索也只检索了一部分内容,真正和问题相关的知识库内容没有被检索出
当知识库ID数组长度较短时,一切正常,我已经反复、多角度交叉验证了这个问题,发现知识库检索这个行为正常与否只和传入的知识库ID数组长度有关,现在我的做法是判断传入知识库ID数组长度,较长则平均拆分为三个子数组(datasetIdArrGroupOne、datasetIdArrGroupTwo、datasetIdArrGroupThree)才能正常工作
这块对我来说过于黑盒了,我想请问一下这到底是原因导致的T _ T
有人吗,喂喂喂?
可以开发环境下打 log 看看具体检索结果。 向量检索可能是因为你 pg 没做死元组回收的配置优化,导致无法检索到数据。(或者是没用新的版本,忘了是哪个版本,升级了 pg 到 0.8,加入了递归搜索) 全文检索就不确定了,可能就只有这几填满足全文检索条件(可以对比 3 次搜索的全文检索结果)
可以开发环境下打 log 看看具体检索结果。 向量检索可能是因为你 pg 没做死元组回收的配置优化,导致无法检索到数据。(或者是没用新的版本,忘了是哪个版本,升级了 pg 到 0.8,加入了递归搜索) 全文检索就不确定了,可能就只有这几填满足全文检索条件(可以对比 3 次搜索的全文检索结果)
好的感谢maintainer老师,上周我也开始阅读fastgpt的源码并debug了,除了这个issue之外我发现了全文检索的bug(官网最新版似乎也有这个问题)并计划这周提pr; 本人目前工作于某制造业央企,负责内部AI生产力落地,我们的项目和FastGPT深度绑定,流程复杂且已经围绕FastGPT搭建了一些列的生态软件(比如知识自动同步、专家标注系统等等),一方面我觉得我们可以作为典型案例宣传,另一方面我也希望给FastGPT贡献代码,希望能够和maintainer老师交流一下。 我的邮箱是[email protected],恰v或者邮箱都可以,如果老师方面的话。