Hybrid Search
混合搜索将关键词匹配与向量搜索结合起来,利用稀疏和稠密表示对结果进行排序。介绍其用途以及 YOLO26 中的元数据。
这种搜索方法结合了传统关键词匹配的精准性与现代 AI 的上下文理解能力,通过利用稀疏和稠密数据表示来检索并排序信息。标准搜索引擎完全依赖精确的关键词匹配(即词法搜索),而向量搜索引擎则完全依赖语义相似度;混合搜索引擎将这两种方法结合起来,从而提供准确且能理解上下文的结果。
工作原理#
典型的混合搜索流水线会同时执行两种不同的检索方法,并将它们的结果融合为一个经过优化的排序列表:
- 词法(稀疏)搜索:使用 BM25 等算法,根据词频为精确关键词匹配打分。这对于检索特定实体、缩写、产品 SKU 或专业术语至关重要,因为纯语义模型可能难以识别这些内容。
- 语义(稠密)搜索:使用 AI 模型生成高维数字数组,以理解查询更深层的含义和上下文。即使搜索查询中没有出现完全相同的词语,系统也能找到相关结果。
两种方法各自检索到候选结果后,融合算法(最常见的是倒数排名融合(RRF))会将结果列表合并。RRF 根据每个条目在相应稀疏和稠密结果集中的排名计算新分数。这能确保在任一或两种搜索中排名靠前的文档排到前面,在广泛的上下文匹配与精准的关键词匹配之间取得平衡。
AI 和 ML 的实际应用#
现代 AI 架构大量采用这项技术,以克服生产环境中使用单一检索方法的局限性。
- 混合 RAG(检索增强生成):在企业知识系统中,为大语言模型(LLM)提供最相关的上下文,对于防止幻觉至关重要。混合 RAG 设置可确保模型检索到符合精确技术约束的文档,同时也能找到语义相关的段落。
- 电子商务与视觉商品发现:零售商使用混合搜索为商品目录提供搜索能力。用户可能会搜索“红色跑鞋”。词法引擎会匹配准确的品牌或类别关键词,而视觉 AI 模型则利用图像嵌入展示视觉上相似的商品。
如今,几乎所有主流向量数据库(包括 Pinecone、Qdrant和 OpenSearch)都原生支持混合搜索;PostgreSQL 也可以将 pgvector与内置全文搜索结合使用。这样一来,开发者就能在单一基础设施中高效地索引稀疏关键词和稠密向量。
为混合搜索生成元数据#
在计算机视觉流水线中,你可以从图像中提取有意义的关键词,构建混合索引的稀疏部分。使用Ultralytics YOLO26,你可以自动对图像执行目标检测,并将类别名称用作元数据标签。随后,可以将这些关键词标签与图像的稠密向量嵌入配对,进行全面索引。
from ultralytics import YOLO
# 加载推荐的 Ultralytics YOLO26 目标检测模型
model = YOLO("yolo26n.pt")
# 运行推理,在图像中检测目标
results = model("store_aisle.jpg")
# 提取预测的类别名称,将其作为关键词元数据(稀疏数据)进行索引
keywords = [model.names[int(box.cls)] for box in results[0].boxes]
print("Sparse keywords for lexical search:", keywords)通过使用精准的 AI 生成稀疏关键词丰富稠密图像嵌入,开发者可以借助 Ultralytics Platform和兼容混合搜索的向量数据库,构建强大的多模态搜索引擎,理解数据中明确的文本标签和隐含的视觉上下文。










