MaxKB Version
v2.10.5
Please describe your needs or suggestions for improvements
在代码里面发现,@@ 左边是段落的 search_vector,右边是问题编成的查询条件。
在 MaxKB 的用法里(问题词经分词后空格拼接,再走 websearch_to_tsquery),业务上是:
查询里切出来的多个词,默认按 同时满足(AND) 理解;
也就是:查询侧切出的词,在分段索引里都要能找到,@@ 才为真;
那么,
少一个对不上 → 整段直接淘汰,不会给一个「很低的相似度」。
用户问「请问什么是 maxkb」时,问题会被切成一串词(可能含「请问」「什么」「是」「maxkb」等)。@@ 默认要求这些词在分段的 search_vector 里都能找到才为真。
知识库正文通常是「MaxKB 是……」,里面往往没有「请问」。于是哪怕有 maxkb,缺「请问」等词时,全文模式仍可能整段不命中——不是语义理解,是字面词集合是否覆盖。
但在实际智能体里面,无论是直接传入检索还是少样本问题优化后的结果,都会带上一些提问词,这些提问词都必须都出现?这个看着是设计上的问题。不知道我有没有理解对
Please describe the solution you suggest
No response
Additional Information
No response
MaxKB Version
v2.10.5
Please describe your needs or suggestions for improvements
在代码里面发现,@@ 左边是段落的 search_vector,右边是问题编成的查询条件。
在 MaxKB 的用法里(问题词经分词后空格拼接,再走 websearch_to_tsquery),业务上是:
查询里切出来的多个词,默认按 同时满足(AND) 理解;
也就是:查询侧切出的词,在分段索引里都要能找到,@@ 才为真;
那么,
少一个对不上 → 整段直接淘汰,不会给一个「很低的相似度」。
用户问「请问什么是 maxkb」时,问题会被切成一串词(可能含「请问」「什么」「是」「maxkb」等)。@@ 默认要求这些词在分段的 search_vector 里都能找到才为真。
知识库正文通常是「MaxKB 是……」,里面往往没有「请问」。于是哪怕有 maxkb,缺「请问」等词时,全文模式仍可能整段不命中——不是语义理解,是字面词集合是否覆盖。
但在实际智能体里面,无论是直接传入检索还是少样本问题优化后的结果,都会带上一些提问词,这些提问词都必须都出现?这个看着是设计上的问题。不知道我有没有理解对
Please describe the solution you suggest
No response
Additional Information
No response