知识库单次搜索条数限制
例行检查
- [x] 我已确认目前没有类似 issue
- [x] 我已完整查看过项目 README,以及项目文档
- [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
- [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
你的版本
- [x]公有云版本
- [ ] 私有部署版本, 具体版本号:
问题描述 之前的版本,知识库有单次搜索的条数上限,现在变成了tokens数量上限。
使用的时候,容易出现一下情况: 提问问题1,回答问题1到问题5的答案。
若是旧版本,可通过单次搜索的条数上限(top_K),限制只回答问题1的答案; 现在新版本,很难通过tokens数量上限,限制只回答问题1的答案。
相关截图
刚刚看了一下文档说明,目前的版本确实是不支持top_K的。但我个人觉得,将top_K参数换成引用上限的token数其实不好,因为每个知识条的token都不一样,很难设置一个合适的token数,来限制检索到多少个知识。
会不会还是恢复top_K参数好些呢?我之前使用过langchain-chatchat,使用过程中,top_K的结果还是很稳定的。
我自己加了个条数过滤逻辑,最终效果是max tokens和最大条数一起生效,是参考了之前的commit 2e063dae818f0e4775f7a0e0167ce437fa0ecdb9
效果是这样,只想使用max tokens时调到最大就行
确实是这样,单纯的按照tokens或者top_k 返回知识库引用,可能都有缺点,二者结合起来比较好,双重定义限制,应付各种复杂需求情况,希望能考虑pr 一下,后续版本能加上该特性
我自己加了个条数过滤逻辑,最终效果是max tokens和最大条数一起生效,是参考了之前的commit 2e063dae818f0e4775f7a0e0167ce437fa0ecdb9 效果是这样,只想使用max tokens时调到最大就行
好的好的谢谢!我也看看commit #582 尝试一下~
确实是这样,单纯的按照tokens或者top_k 返回知识库引用,可能都有缺点,二者结合起来比较好,双重定义限制,应付各种复杂需求情况,希望能考虑pr 一下,后续版本能加上该特性
确实,我也觉得tokens和top_k 两者结合起来用比较好,我后期pr一下,谢谢建议!
我也这么想。让我想想有没有比较简单的一种组合
