【浅谈向量数据库】

浅谈向量数据库

1. 背景

信息有多种形式。有些信息是非结构化的,例如文本文档、富媒体和音频,有些则是结构化的,例如应用程序日志、表格和图表。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。

向量数据库能够将向量存储为高维点并进行检索。这些数据库增加了额外的功能,可以高效、快速地查找 N 维空间中的最近邻。这些功能通常由 k 最近邻(k-NN)索引提供支持,并使用分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等算法构建。向量数据库提供了其他功能,例如数据管理、容错、身份验证和访问控制以及查询引擎。

2. 核心技术演进

背后涉及众多的底层技术,其中主要包括:

  • 向量索引技术:向量索引是向量数据库的核心技术之一,它通过构建高效的索引结构来实现快速的向量检索。常见的向量索引包括FLATHNSWIVF等。

  • 向量相似度计算技术:向量相似度计算是向量数据库的另一个核心技术,它用于度量向量之间的相似度。常见的向量相似度计算方法包括余弦相似度欧几里得距离等。

  • Embedding技术:利用Embedding技术将高维度的数据(例如文字、图片、 音频)映射到低维度空间,即把图片、音频和文字转化为向量来表示,将这些向量存储起来就构成向量数据库。

3. 常见的向量数据库

  • Elasticsearch : 在 7.10 版本中,Elasticsearch 添加了对将向量索引到专用数据结构的支持,以支持通过 kNN 搜索 API 进行快速 kNN 检索。 在 8.0 版本中,Elasticsearch 添加了对带有向量场的原生自然语言处理 (NLP) 的支持。
  • FAISS : Meta的Faiss是一个用于高效相似性搜索和密集向量聚类的库。 它包含搜索任意大小的向量集的算法,直到可能不适合 RAM 的向量集。 它还包含用于评估和参数调整的支持代码。
  • Milvus : Milvus 是一个开源向量数据库,旨在为 AI 应用程序提供可扩展的高性能向量搜索。 它支持多种语言,
  • Weaviate : Weaviate是一个开源向量数据库,允许你存储数据对象和来自你最喜欢的 ML 模型的向量嵌入,并无缝扩展到数十亿个数据对象。
  • Pinecone : Pinecone专为机器学习应用程序设计的矢量数据库。 它速度快、可扩展,并支持多种机器学习算法。Pinecone 建立在 Faiss 之上,Faiss 是一个用于密集向量高效相似性搜索的库。
  • Vespa : Vespa是一个功能齐全的搜索引擎和矢量数据库。 它支持向量搜索 (ANN)、词法搜索和结构化数据搜索,所有这些都在同一个查询中。 集成的机器学习模型推理允许你应用 AI 来实时理解你的数据。
  • ScaNN : ScaNN(Scalable Nearest Neighbours)是一个用于高效向量相似性搜索的库,它找到 k 个与查询向量最近的向量,通过相似性度量来衡量。 矢量相似性搜索对于图像搜索、自然语言处理、推荐系统和异常检测等应用非常有用。
  • pg_vector : pgvector是PostgreSQL 的开源扩展,允许你在数据库中存储和查询向量嵌入。 它建立在 Faiss 库之上,Faiss 库是一个流行的密集向量高效相似性搜索库。 pgvector 易于使用,只需一条命令即可安装。

4. 总结

本文只是对向量数据数据库的简单介绍,后续会继续深入学习。就目前Milvus相对比较成熟,后续会继续学习。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦兮其若朴,旷兮其若谷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值