WeKnora icon indicating copy to clipboard operation
WeKnora copied to clipboard

[Bug]: 通过混合搜索知识库内容可以搜索到关键词相关内容,但通过会话问答就提示no-match,且会话时似乎只引用了其中一个文档的内容进行回答

Open smallderui opened this issue 1 month ago • 8 comments

相关组件

后端服务及API

Bug 描述

通过混合搜索知识库内容可以搜索到关键词相关内容,但通过会话问答就提示no-match,且会话时似乎只引用了其中一个文档的内容进行回答,知识库内有两篇内容,但是只能搜索到其中一篇文章的内容,另外一篇的内容通过原话也搜索不到

期望行为

两篇文章中的内容都应被参与检索

相关日志


操作系统

ubantu24.4

确认事项

  • [x] 我已经搜索了现有的 issues,确认这是一个新问题

smallderui avatar Nov 03 '25 07:11 smallderui

试试 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接口应该被废弃了

begoniezhao avatar Nov 03 '25 07:11 begoniezhao

试试 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这个接口可以正常搜索,使用你提到的这里的搜索接口搜索就会出现只检索其中一个文件的问题

smallderui avatar Nov 03 '25 08:11 smallderui

对话的搜索流程目前使用的是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": "你要搜索的知识库"
}'

begoniezhao avatar Nov 03 '25 09:11 begoniezhao

对话的搜索流程目前使用的是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": "你要搜索的知识库"
}'

Image您好,需要再请教您一下,这个接口您那里可以正常调用吗,我这里报404,但是下面这个就可以

Image

smallderui avatar Nov 03 '25 09:11 smallderui

抱歉写错了,是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": "你要搜索的知识库"
}'

begoniezhao avatar Nov 03 '25 09:11 begoniezhao

抱歉写错了,是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中对应的内容,请问您那里有这个问题吗?

smallderui avatar Nov 03 '25 09:11 smallderui

试试换个embedding模型

begoniezhao avatar Nov 03 '25 09:11 begoniezhao

试试换个embedding模型

感觉确实跟召回的排序有关系,我用的是阿里的text-embedding-v4这个模型

smallderui avatar Nov 04 '25 05:11 smallderui