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

向量数据库

了解向量数据库如何通过为智能系统实现高效的相似性搜索、语义搜索和异常检测来革新 AI。

矢量数据库是一种专门的存储系统,用于管理、索引和查询高维矢量数据、 通常称为嵌入。与传统的 关系数据库不同,传统的关系数据库将结构化数据存储在行和列中,以便进行精确的关键字匹配。 矢量数据库经过优化,可根据语义相似性查找项目。这种功能使其成为现代 人工智能(AI) 基础设施的基石,使系统能够通过理解非结构化数据(如图像、音频和文本)之间的上下文关系来处理它们。 它们之间的上下文关系。它们本质上是 机器学习应用的长期记忆,实现 高效检索概念相关而非相同的信息。

向量数据库的工作原理

向量数据库的核心功能依赖于通过一个称为特征提取的过程,将原始数据转化为数学向量。 称为特征提取的过程。A 深度学习模型,如 视觉Transformer (ViT)卷积神经网络(CNN)等深度学习模型对数据进行分析,并输出一个向量--代表数据特征的一长串数字。

生成这些向量后,数据库会使用专门的算法对其进行索引,例如 近似近邻 (ANN)。当用户执行查询时,系统会将搜索词(图像或文本)转换成向量,并使用距离度量(如近似近邻算法)计算其与存储向量的接近程度。 与存储向量的近似程度。 余弦相似度欧氏距离。这样,数据库就能快速 找出 "最近 "的邻居,它们代表了最相关的结果。

下面的代码片段演示了如何使用 模型生成嵌入,这是将数据存储到 向量数据库之前的第一步。

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Generate feature embeddings for an image file
# This converts the visual content into a numerical vector
results = model.embed("bus.jpg")

# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")

实际应用

矢量数据库是商业和企业软件中许多智能功能背后的引擎。

  • 视觉推荐引擎:在零售业的人工智能领域 在零售业的人工智能领域,平台使用矢量数据库来 支持 "外观购物 "功能。当顾客查看产品时,系统会查询矢量数据库 查找具有相似视觉嵌入的商品,推荐具有匹配款式、颜色或图案的商品。这 通过提供 通过提供超越简单类别标签的个性化推荐,增强了用户体验。
  • 检索-增强生成 (RAG):矢量数据库对于 检索-增强生成(RAG) 系统至关重要。通过存储庞大的内部知识库的嵌入,公司可以让 大型语言模型 (LLM)在检索 在生成答案之前,大型语言模型(LLM)可以检索精确的最新上下文。这样可以减少幻觉,确保人工智能根据检索到的资料提供 根据检索到的文档提供符合事实的回答。

区分相关概念

要了解这个生态系统,将矢量数据库与相关术语区分开来很有帮助:

  • 矢量数据库与矢量搜索 矢量搜索是寻找相似矢量的操作或算法过程。矢量数据库是 基础设施或软件系统,用于存储这些矢量,并以可扩展和持续的方式执行搜索。 持续执行搜索。
  • 矢量数据库与嵌入 嵌入是实际的数据有效载荷--输入的数字表示。矢量数据库是 容器,用于组织这些嵌入数据,以便快速访问。
  • 向量数据库与特征工程 特征工程 特征工程是为模型创建特征的广泛过程。向量数据库存储的是 由深度学习模型执行的自动特征工程(嵌入)。

流行的矢量数据库解决方案

市场为实施矢量存储提供了多种强大的选择,从开源工具到托管服务,不一而足。 服务:

  • 松果完全托管的云原生矢量数据库 设计用于高速可扩展性和易于在生产中使用。
  • Milvus开源矢量数据库,用于可扩展的 相似性搜索,常用于大规模 计算机视觉应用中。
  • Qdrant用 Rust 编写的高性能向量搜索引擎、 为复杂查询提供高级过滤功能。
  • Weaviate人工智能原生矢量数据库,可同时存储对象和矢量 和矢量,可结合矢量和关键字进行搜索。

通过将这些工具集成到 开发人员可以 构建真正 "理解 "数据内容的系统,实现语义搜索、异常检测和个性化内容交付等高级功能、 异常检测和个性化内容交付等高级功能。

加入Ultralytics 社区

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

立即加入