under_stars 发表于 2023-5-10 12:45:20

AI向量数据库【Top 10】

矢量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学暗示。 每个向量都有必然数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。
矢量数据库(Vector Database)和矢量开发库(Vector Library)都是实现矢量相似性搜索的技术,但它们在功能和可用性上有所分歧。 矢量数据库可以存储和更新数据,措置各种类型的数据源,在数据导入期间执行查询,并提供用户友好和企业就绪的功能。 矢量库只能存储数据,只能措置矢量,需要在成立索引之前导入所有数据,而且需要更多的技术专业常识和手动配置。


保举:用NSDT场景设计器快速搭建3D场景。一些矢量数据库成立在现有库之上,例如 Faiss。 这使他们能够操作库的现有代码和功能,从而节省开发时间和精力。
这些矢量数据库和库用于人工智能 (AI) 应用法式,例如机器学习、自然语言措置和图像识别。 它们有一些共同的特点:

[*]撑持向量相似性搜索,它会找到与查询向量比来的 k 个向量,这是通过相似性度量来衡量的。 矢量相似性搜索对于图像搜索、自然语言措置、保举系统和异常检测等应用非常有用。
[*]使用矢量压缩技术来减少存储空间并提高查询性能。 矢量压缩方式包罗标量量化、乘积量化和各向异性矢量量化。
[*]可以执行精确或近似的比来邻搜索,具体取决于准确性和速度之间的权衡。 精确比来邻搜索提供了完美的召回率,但对于大型数据集可能会很慢。 近似比来邻搜索使用专门的数据布局和算法来加快搜索速度,但可能会牺牲一些召回率。
[*]撑持分歧类型的相似性度量,例如 L2 距离、内积和余弦距离。 分歧的相似性度量可能适合分歧的用例和数据类型。
[*]可以措置各种类型的数据源,例如文本、图像、音频、视频等。 可以使用机器学习模型将数据源转化为向量嵌入,例如词嵌入、句子嵌入、图像嵌入等。
1、Elasticsearch

ElasticSearch是一个撑持各种类型数据的分布式搜索和分析引擎。 Elasticsearch 撑持的数据类型之一是矢量字段,它存储密集的数值矢量。

http://pic4.zhimg.com/v2-67b044b5c2005f213c3e6cdf1ad2bedf_r.jpg
在 7.10 版本中,Elasticsearch 添加了对将向量索引到专用数据布局的撑持,以撑持通过 kNN 搜索 API 进行快速 kNN 检索。 在 8.0 版本中,Elasticsearch 添加了对带有向量场的原生自然语言措置 (NLP) 的撑持。
2、Faiss

Meta的Faiss是一个用于高效相似性搜索和密集向量聚类的库。 它包含搜索任意大小的向量集的算法,直到可能不适合 RAM 的向量集。 它还包含用于评估和参数调整的撑持代码。


3、Milvus

Milvus是一个开源矢量数据库,可以打点万亿矢量数据集,撑持多种矢量搜索索引和内置过滤。

http://pic2.zhimg.com/v2-6c595e3c51f409fe068d98f331817e41_r.jpg
4、Weaviate

Weaviate是一个开源向量数据库,允许你存储数据对象和来自你最喜欢的 ML 模型的向量嵌入,并无缝扩展到数十亿个数据对象。


5、Pinecone

Pinecone专为机器学习应用法式设计的矢量数据库。 它速度快、可扩展,并撑持多种机器学习算法。

http://pic4.zhimg.com/v2-97852e5c4f1b4e6cfde317756a519d87_r.jpg
Pinecone 成立在 Faiss 之上,Faiss 是一个用于密集向量高效相似性搜索的库。
6、Qdrant

Qdrant是一个矢量相似度搜索引擎和矢量数据库。 它提供了一个出产就绪的处事,带有一个便利的 API 来存储、搜索和打点点——带有额外有效负载的矢量。


Qdrant 专为扩展过滤撑持而定制。 它使它可用于各种神经网络或基于语义的匹配、分面搜索和其他应用法式。
7、Vespa

Vespa是一个功能齐全的搜索引擎和矢量数据库。 它撑持向量搜索 (ANN)、词法搜索和布局化数据搜索,所有这些都在同一个查询中。 集成的机器学习模型推理允许你应用 AI 来实时理解你的数据。

http://pic2.zhimg.com/v2-a78730ea0a7d75c344d29baa4b4cb571_r.jpg
8、Vald

Vald是一个高度可扩展的分布式快速近似比来邻密集向量搜索引擎。 Vald是基于Cloud-Native架构设计和实现的。 它使用最快的 ANN 算法 NGT 来搜索邻居。


Vald 具有自动向量索引和索引备份,以及程度缩放,可从数十亿特征向量数据中进行搜索。
9、ScaNN (Google Research)

ScaNN(Scalable Nearest Neighbours)是一个用于高效向量相似性搜索的库,它找到 k 个与查询向量比来的向量,通过相似性度量来衡量。 矢量相似性搜索对于图像搜索、自然语言措置、保举系统和异常检测等应用非常有用。


10、pgvector

pgvector是PostgreSQL 的开源扩展,允许你在数据库中存储和查询向量嵌入。 它成立在 Faiss 库之上,Faiss 库是一个风行的密集向量高效相似性搜索库。 pgvector 易于使用,只需一条命令即可安装。


<hr/>原文链接:10个顶级矢量数据库 - BimAnt
页: [1]
查看完整版本: AI向量数据库【Top 10】