Hybrid Search
探索混合搜索如何融合关键词匹配与语义 AI。学习使用来自 Ultralytics YOLO26 的元数据构建上下文感知搜索管道。
结合传统关键词匹配的精确性与现代AI的上下文理解能力,这种搜索方法通过利用稀疏和稠密数据表示来检索和排序信息。标准的search engine完全依赖于精确的关键词匹配(称为lexical search),而vector search engines则纯粹依赖于semantic similarity,混合搜索引擎则将这两种方法融合在一起,以提供高度准确且具有上下文感知的搜索结果。
工作原理#
典型的混合搜索流水线会同时执行两种不同的检索方法,并将它们的输出融合为一个经过优化的单一排序:
- Lexical (Sparse) Search:使用诸如BM25之类的算法,根据词频对精确的关键词匹配进行评分。这对于检索纯语义模型可能难以识别的具体实体、缩写、产品SKU或专业术语至关重要。
- Semantic (Dense) Search:使用AI模型生成高维数字数组,以理解查询的更深层含义和上下文。这使得系统即使在搜索查询中缺少确切词语的情况下,也能找到相关的结果。
一旦这两种方法都检索出候选结果,fusion algorithm(最常见的是Reciprocal Rank Fusion (RRF))就会将这些列表组合起来。RRF根据每个项目在各自稀疏和稠密结果集中的排名计算出一个新分数。这确保了在某一个或两个搜索中排名靠前的文件能够浮现到顶部,从而在广泛的上下文匹配与精准的关键词准确性之间取得平衡。
现实世界的AI和ML应用#
现代 AI 架构在生产环境中严重依赖这种技术,以克服仅使用单一检索方法的局限性。
- Hybrid RAG (Retrieval-Augmented Generation):在企业知识系统中,向Large Language Model (LLM)提供最相关的上下文对于防止hallucinations至关重要。混合RAG设置可确保模型既能检索到符合精确技术约束的文档,又能拉取语义相关的段落。
- E-Commerce and Visual Product Discovery:零售商使用混合搜索来赋能产品目录。用户可能会搜索“red running shoes”。词汇引擎匹配准确的品牌或类别关键词,而vision AI model则利用图像嵌入来浮现视觉上相似的项目。
如今,几乎所有主要的vector database—包括Pinecone、Qdrant、OpenSearch以及通过pgvector连接的PostgreSQL—都原生支持混合搜索。这使开发者能够在单一基础设施中高效地索引稀疏关键词和稠密向量。
为混合搜索生成元数据#
在computer vision流水线中,你可以从图像中提取有意义的关键词来构建混合索引的稀疏组件。使用Ultralytics YOLO26,你可以在图像上自动执行object detection,并将这些class names用作metadata tags。然后,这些关键词标签可以与图像的稠密向量嵌入配对,以进行全面的索引。
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 object detection model
model = YOLO("yolo26n.pt")
# Run inference to detect objects in an image
results = model("store_aisle.jpg")
# Extract predicted class names to be indexed as keyword metadata (sparse data)
keywords = [model.names[int(box.cls)] for box in results[0].boxes]
print("Sparse keywords for lexical search:", keywords)通过用精确的、AI生成的稀疏关键词丰富稠密的图像嵌入,开发者可以利用Ultralytics Platform和兼容混合搜索的向量数据库,构建出能够完美理解数据的显式文本标签和隐式视觉上下文的强大multimodal search engines。






