深圳Yolo 视觉
深圳
立即加入
词汇表

向量数据库

探索矢量数据库如何管理高维嵌入以实现语义检索。学习如何Ultralytics 和相似度搜索为AI应用赋能。

向量数据库是一种专门设计的存储系统,用于管理、索引和查询高维向量数据,通常被称为嵌入向量。与传统关系型数据库将结构化数据组织为行和列以实现精确关键词匹配不同,向量数据库专为语义检索进行优化。它使智能系统能够找到概念相似的数据点,而非完全相同的数据点。 该能力是现代人工智能(AI)基础设施的基础,使应用程序能够通过分析数据间的数学关系来处理和理解非结构化数据——如图像、音频、视频和文本。这类数据库作为智能代理的长期记忆库,支持视觉搜索和个性化推荐等任务。

向量数据库的工作原理

向量数据库的核心功能基于向量空间的概念,其中数据项被映射为多维坐标系中的点。该过程始于特征提取阶段,此时深度学习(DL)模型将原始输入转换为数值向量。

  1. 摄入:数据由神经网络(如尖端的YOLO26)处理以生成嵌入向量。这些向量将输入的语义含义压缩为密集的浮点数列表。
  2. 索引:为确保检索过程中的低推理延迟,数据库采用专用算法组织这些向量。诸如分层可导航小世界(HNSW) 或倒排文件索引(IVF)等技术,使系统能够高效遍历数十亿向量,而无需逐条扫描每个条目。
  3. 查询:当用户提交搜索查询(例如特定鞋款的图片)时,系统将查询转换为向量,并使用余弦相似度 或欧几里得距离等距离度量计算其与存储向量的接近度。
  4. 检索:数据库返回“最近邻”,这些结果代表了上下文相关性最高的匹配项。

以下Python 如何使用标准方法生成嵌入向量: ultralytics 模型, 这是填充向量数据库前的必要步骤。

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}")

实际应用

向量数据库是当今企业环境中众多先进计算机视觉(CV) 和自然语言处理(NLP)应用背后的核心引擎。

区分相关概念

要有效实施这些系统,有必要在机器学习运维(MLOps)领域中区分向量数据库与相关技术。

  • 向量数据库与向量搜索 向量搜索是查找相似向量的操作或算法过程(即“如何”实现)。 向量数据库则是为存储数据、管理索引并大规模执行搜索而构建的强大基础设施(即“何处”实现)。
  • 向量数据库与特征存储库 特征存储库是用于管理模型训练和推理所用特征的集中式存储库,确保特征的一致性。虽然它处理特征数据,但其主要优化方向并非基于相似度的检索查询——这正是向量数据库的核心定义。
  • 向量数据库与数据湖数据湖以原始格式存储海量原始数据。向量数据库则存储经过处理的数学表示(嵌入),这些表示专为相似性搜索进行了优化。

与现代人工智能工作流程集成

实现向量数据库通常涉及一条管道,其中高效的YOLO26等模型充当嵌入引擎。这些模型在边缘或云端处理视觉数据,并将生成的向量推送到PineconeMilvus或Qdrant等解决方案中。

对于希望简化整个生命周期(从数据整理和自动标注到模型训练与部署)的团队Ultralytics 提供了一个全面的环境。通过将模型训练与高效部署策略相结合,开发者能够确保输入向量数据库的嵌入数据准确无误,从而获得更高质量的搜索结果和更智能的人工智能代理。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入