[Bug]: 通过混合搜索知识库内容可以搜索到关键词相关内容,但通过会话问答就提示no-match,且会话时似乎只引用了其中一个文档的内容进行回答
相关组件
后端服务及API
Bug 描述
通过混合搜索知识库内容可以搜索到关键词相关内容,但通过会话问答就提示no-match,且会话时似乎只引用了其中一个文档的内容进行回答,知识库内有两篇内容,但是只能搜索到其中一篇文章的内容,另外一篇的内容通过原话也搜索不到
期望行为
两篇文章中的内容都应被参与检索
相关日志
操作系统
ubantu24.4
确认事项
- [x] 我已经搜索了现有的 issues,确认这是一个新问题
试试 https://github.com/Tencent/WeKnora/blob/main/docs/API.md#%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BDapi 这里的knowledge-search接口,实际搜索使用的文档来自这里,/knowledge-bases/:id/hybrid-search接口应该被废弃了
试试 https://github.com/Tencent/WeKnora/blob/main/docs/API.md#%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BDapi 这里的knowledge-search接口,实际搜索使用的文档来自这里,/knowledge-bases/:id/hybrid-search接口应该被废弃了
这里knowledge-search调用没给入参示意,试了一下没调用起来。试用/knowledge-bases/:id/hybrid-search这个接口可以正常搜索,使用你提到的这里的搜索接口搜索就会出现只检索其中一个文件的问题
对话的搜索流程目前使用的是knowledge-search,会比knowledge-search(已废弃)多出很多处理流程,包括过滤,rerank,合并文档等等等等
接口可以参考
curl --location --request GET 'http://localhost:8080/api/v1/knowledge-search' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: sk-xxxxxxx \
--data '{
"query": "你要搜索的内容",
"knowledge_base_id": "你要搜索的知识库"
}'
对话的搜索流程目前使用的是knowledge-search,会比knowledge-search(已废弃)多出很多处理流程,包括过滤,rerank,合并文档等等等等
接口可以参考
curl --location --request GET 'http://localhost:8080/api/v1/knowledge-search' \ --header 'Content-Type: application/json' \ --header 'X-API-Key: sk-xxxxxxx \ --data '{ "query": "你要搜索的内容", "knowledge_base_id": "你要搜索的知识库" }'
您好,需要再请教您一下,这个接口您那里可以正常调用吗,我这里报404,但是下面这个就可以
抱歉写错了,是post方法
curl 'http://localhost:8080/api/v1/knowledge-search' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: sk-xxxxxxx' \
--data '{
"query": "你要搜索的内容",
"knowledge_base_id": "你要搜索的知识库"
}'
抱歉写错了,是post方法
curl 'http://localhost:8080/api/v1/knowledge-search' \ --header 'Content-Type: application/json' \ --header 'X-API-Key: sk-xxxxxxx' \ --data '{ "query": "你要搜索的内容", "knowledge_base_id": "你要搜索的知识库" }'
感谢感谢,post方法正确了,但是我故意用另外文件A中的内容进行搜索,返回的结果还是文件B没有找到文件A中对应的内容,请问您那里有这个问题吗?
试试换个embedding模型
试试换个embedding模型
感觉确实跟召回的排序有关系,我用的是阿里的text-embedding-v4这个模型