Vector Database
了解向量数据库如何管理用于语义检索的高维嵌入。学习利用 Ultralytics YOLO26 和相似性搜索为 AI 应用提供支持。
向量数据库是一种专门的存储系统,旨在管理、索引和查询高维向量数据,通常被称为 embeddings。与将结构化数据组织成行和列以进行精确关键词匹配的传统 relational database 不同,向量数据库针对语义检索进行了优化。它使智能系统能够找到概念上相似而非完全相同的数据点。这种能力是现代 artificial intelligence (AI) 基础设施的基础,允许应用程序通过分析数据点之间的数学关系来处理和理解 unstructured data,例如图像、音频、视频和文本。这些数据库充当智能代理的长期记忆,促进视觉搜索和个性化推荐等任务。
Link to this section向量数据库的工作原理#
向量数据库的功能核心在于向量空间的概念,数据项被映射为多维坐标系中的点。这一过程始于 feature extraction,其中 deep learning (DL) 模型将原始输入转换为数字向量。
-
数据摄入: 数据由神经网络(例如最先进的 YOLO26)进行处理,以生成 embeddings。这些向量将输入的语义含义压缩为密集的浮点数列表。
-
索引: 为了确保检索过程中的低 inference latency,数据库使用专门的算法来组织这些向量。诸如 Hierarchical Navigable Small World (HNSW) 或 Inverted File Index (IVF) 等技术使系统能够高效地导航数十亿个向量,而无需扫描每一个条目。
-
查询: 当你提交搜索查询时(例如特定鞋款的图像),系统会将查询转换为向量,并使用 cosine similarity 或 Euclidean distance 等距离度量计算其与已存储向量的邻近度。
-
检索: 数据库返回“最近邻”,它们代表了语境上最相关的结果。
以下 Python 代码片段展示了如何使用标准 ultralytics 模型生成 embeddings,这是填充向量数据库之前的必要步骤。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image file
# The 'embed' method creates the vector representation needed for the database
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")Link to this section实际应用#
向量数据库是当今企业环境中许多高级 computer vision (CV) 和 Natural Language Processing (NLP) 应用程序背后的引擎。
- 检索增强生成 (RAG): 在 generative AI 时代,向量数据库允许 Large Language Models (LLMs) 访问海量的私有、最新数据。通过根据用户提示的语义含义检索相关文档,系统减少了 hallucinations in LLMs,并提供基于事实、具有上下文感知的响应。
- 视觉推荐引擎: 在 AI in retail 中,平台利用向量数据库来驱动“选购相似款式”功能。如果用户查看某款夏季连衣裙,系统会查询数据库中具有相似视觉 embeddings 的其他产品图像(匹配图案、剪裁和颜色),从而提供比简单的基于标签的过滤更好的 user experience。
- 异常和威胁检测: 安全系统利用向量数据库进行 anomaly detection。通过存储“正常”行为或授权人员的 embeddings,系统可以立即标记出向量空间中偏离预期聚类的异常值,从而加强 data security 和设施监控。
Link to this section区分相关概念#
为了有效地实现这些系统,区分向量数据库与 machine learning operations (MLOps) 领域中的相关技术是很有帮助的。
- 向量数据库 vs. Vector Search: 向量搜索是寻找相似向量的行为或算法过程(即“如何做”)。向量数据库是为存储数据、管理索引并在大规模下执行这些搜索而构建的稳健基础设施(即“在哪里做”)。
- 向量数据库 vs. Feature Store: 特征存储是一个集中式存储库,用于管理模型训练和推理中使用的特征,以确保一致性。虽然它处理特征数据,但它并未针对定义向量数据库的基于相似性的检索查询进行主要优化。
- 向量数据库 vs. Data Lake: 数据湖以原始格式存储海量数据。向量数据库存储这些数据的处理后的数学表示(embeddings),专门针对 similarity search 进行了优化。
Link to this section与现代 AI 工作流程集成#
实现向量数据库通常涉及一个管道,其中高效的 YOLO26 等模型充当 embedding 引擎。这些模型在边缘或云端处理视觉数据,并将生成的向量推送到诸如 Pinecone、Milvus 或 Qdrant 等解决方案中。
对于希望精简整个生命周期(从数据策展和自动标注到模型训练和部署)的团队,Ultralytics Platform 提供了全面的环境。通过将模型训练与高效的部署策略相结合,开发者可以确保输入到其向量数据库中的 embeddings 是准确的,从而获得更高质量的搜索结果和更智能的 AI 代理。






