Vector Search
探索向量搜索如何使用嵌入来查找相似数据。了解如何使用 Ultralytics YOLO26 生成高质量向量,以实现精准的信息检索。
向量搜索是一种复杂的信息检索方法,它根据数据集内项目的数学特征来识别相似项目,而不是进行精确的关键词匹配。不同于依赖查找特定字符字符串的传统关键词搜索,向量搜索会分析数据底层的语义含义。由于能够让计算机理解抽象概念之间的关系,并以极高的准确度处理图像、音频文件和自然语言文本等非结构化数据,这项技术是现代人工智能 (AI)应用的基础。
向量搜索的工作原理#
向量搜索的核心是将原始数据转换为称为嵌入的高维数值向量。此过程会将项目映射为空间中的点,在这个多维空间中,概念上相似的项目彼此靠近。
-
向量化:一个深度学习 (DL)模型会处理输入数据(例如一张狗的图像),并输出一个特征向量。像YOLO26这样的高级模型通常用于高效生成这些丰富的特征表示。
-
索引:为了快速执行搜索,这些向量会使用专用算法进行组织,通常存储在专用的向量数据库中。
-
相似度计算:当用户提交查询时,系统会将该查询转换为向量,并使用余弦相似度或欧氏距离等指标来测量其与已存储向量之间的距离。
-
检索:系统会返回“最近邻”,它们代表在上下文中最相关的结果。
使用 Python 生成嵌入的示例#
要实现向量搜索,你必须先将数据转换为向量。以下代码片段演示了如何使用 ultralytics 包和预训练的 YOLO26 模型,从图像生成特征图和嵌入。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")实际应用#
向量搜索是当今软件生态系统中许多直观功能背后的引擎,弥合了计算机视觉 (CV)与用户意图之间的鸿沟。
- 视觉推荐系统:在零售业中的 AI领域,向量搜索为“照着搭配购买”功能提供支持。如果顾客喜欢某款手提包,系统会查找视觉向量相似的商品(匹配形状、纹理和风格),从而创建个性化的推荐系统。
- 检索增强生成 (RAG):为了增强大型语言模型 (LLMs),开发者会使用向量搜索从知识库中检索相关文档。这为 AI 提供了上下文,减少幻觉,并提高聊天机器人交互的准确性。
- 异常检测:通过对“正常”操作的向量进行聚类,系统可以识别远离聚类中心的异常值。这对于制造业质量控制和数据安全中的异常检测至关重要。
区分相关概念#
区分向量搜索与相似术语,有助于理解完整的机器学习 (ML)流程。
- 向量搜索与语义搜索的对比:语义搜索是理解用户意图(“是什么”)这一更广泛的应用。向量搜索则是通过计算向量接近程度(“怎么做”)来实现这一目标的具体算法方法。
- 向量搜索与向量数据库的对比:向量数据库是用于大规模存储和管理嵌入的基础设施。向量搜索则是查询该数据库以检索信息的过程。
- 向量搜索与关键词搜索的对比:关键词搜索会匹配完全相同的文本字符串(例如,“apple”匹配“apple”)。向量搜索匹配的是含义,因此即使词语不同,“apple”也可能匹配“fruit”或“red”。
与 Ultralytics 平台集成#
对于构建相似度搜索系统的团队来说,管理数据集和训练嵌入模型是至关重要的第一步。Ultralytics 平台通过提供数据管理、云端训练和模型部署工具,简化了这一工作流程。无论基础模型用于目标检测还是分类,只要确保其性能出色,就能确保生成的向量提供准确且有意义的搜索结果。









