混合检索
混合搜索集成了向量搜索和关键词搜索两种不同的搜索策略,优化了信息检索的效率和准确性。混合搜索通过并行执行向量搜索和关键词搜索,各自独立召回文档块集合,以提高领域文档召回率,模块的输入是用户的问题,输出则是召回的文档集合。
向量检索
向量搜索通过计算查询向量与数据库内每个存储向量之间的相似性得分,以此确定并返回相关性最高的记录。向量搜索旨在从知识库中检索出与用户查询语义最相关的文档,本模块将用户查询的向量化表示emb_query作为输入,并返回相关性最高的TopK文文档作为输出,如下图所示。
向量检索参数表
序号 参数 参数类型 说明
1 data list 待检索的查询向量集合,由 BGE Embedding 模型生成。
2 anns_field str Milvus 索引中存储文档向量的字段名,固定为 vec。
3 metric_type str 向量距离计算方式,BGE 模型固定使用 COSINE 余弦相似度。
4 limit int 向量粗召回返回候选片段数量,配置为 30,预留数据供 Rerank 精排。
5 nprobe int 检索遍历的聚类分片数量,单机离线环境推荐取值 10~16,平衡检索速度与准确率。
查询阶段,将输入向量与预定向量的最近邻聚类中的向量进行比较,以此确定最相似的文档。通过限制搜索范围,在保持精度损失最小的前提下,显著提高了查询效率。
本项目采取Collapsed Tree Retrieval(展开树检索)方式,即将RAPTOR树展开单层,然后直接对所有文档节点进行向量相似性检索,检索出所有的相关节点文档。

RAPTOR树向量查询流程
2.关键词搜索
关键词搜索通过全文搜索技术,检索并返回包含特定关键词的文档。关键词搜索旨在从索引中搜索出与用户查询文档最匹配的文档,本模块将用户查询作为输出,并返回文档匹配度最高的TopK文档作为输出。首先分析用户输入的查询语句中的关键词,进而生成对应每个关键词的文档列表。当查询涉及多个关键词时,对各关键词的列表执行交集运算,以获得含有全部关键词的文档列表,随后,根据特定算法对文档列表进行排序,确保与查询最相关的文档优先展示,最终,系统返回排名靠前的文档作为搜索结果,通过引入基于长度的惩罚机制来避免模型得分偏好长度较短文档的问题。

posted on 2026-08-14 16:19  畅游lj  阅读(2)  评论(0)    收藏  举报