标准答案
- 向量检索将问题和文档映射到向量空间,适合用户说法与文档措辞不同的语义查找,但可能忽略精确版本号、错误码和专有名词。
- 关键词或倒排检索适合错误日志、订单号、函数名、产品型号和必须命中的术语;它对同义表达和自然语言改写不够鲁棒。
- 混合检索可以合并两类召回,再通过统一评分或重排序取结果。应记录各路召回贡献,并在领域问题集上验证,而不是默认混合一定更好。
题目解析
不同召回方式的分数没有天然可比性。融合时可用排名融合、归一化分数或专门的重排序模型,并设置去重和多样性约束。
关键词检索不只适合全文搜索,元数据过滤也应独立执行。例如租户、版本和权限属于硬条件,不能让向量相似度把无权文档排到前面。
查询改写能改善召回,但改写后的关键词可能丢失原始错误码或否定条件。应保留原问题,并在必要时并行使用原问题和改写问题。
常见误区
- 把向量相似度当作事实相关性或权限判断。
- 认为关键词检索已经过时,忽略错误码、版本号和代码标识。
- 融合两路结果但没有去重和来源排序,导致上下文充满重复片段。