介绍 Vector数据库已经成为存储和索引非结构化和结构化数据表示的首选位置。这些表示是由嵌入模型生成的向量嵌入。向量存储已成为开发带有深度学习模型的应用程序的重要组成部分,尤其是大型语言模型。在向量存储的不断发展中,Qdrant是最近推出的一个功能齐全的向量数据库。让我们深入了解一下。 学习目标 熟悉Qdrant的术语,以更好地理解它 深入研究Qdrant Cloud并创建Clusters 学习如何创建我们的文档的嵌入并将它们存储在Qdrant Collections中 探索在Qdrant中查询的工作原理 在Qdrant中调试过滤器,以检查其工作原理 本文作为Data Science Blogathon的一部分发表。 什么是嵌入? 嵌入是一种以数字形式表示数据的方式,即以n维空间中的数字或数值向量的形式表示不同类型的数据,如文本、照片、音频、视频等。嵌入使我们能够以这种方式对相关数据进行分组。使用特定模型可以将某些输入转换为向量。Google创建的一种广为人知的嵌入模型是将单词转化为向量(向量是具有n维的点),称之为Word2Vec。每个大型语言模型都有一个嵌入模型,用于生成LLM的嵌入。 嵌入的用途是什么? 将单词转换为向量的一个优点是可以进行比较。当拿到两个单词作为数字输入或向量嵌入时,计算机可以进行比较,尽管它无法直接比较它们。可以将具有可比较嵌入的单词分组在一起。因为它们彼此相关,诸如“王”、“皇后”、“王子”和“公主”这些术语将出现在一个聚类中。 从这个意义上讲,嵌入帮助我们找到与给定术语相关的单词。这可以用于句子,我们输入一个句子,提供的数据返回相关的句子。这为许多用例奠定了基础,包括聊天机器人、句子相似性、异常检测和语义搜索。我们开发的用于根据我们提供的PDF或文档回答问题的聊天机器人利用了这种嵌入概念。所有生成式大型语言模型都使用这种方法,以获得与他们提供的查询相关联的内容。 什么是向量数据库? 如前所述,嵌入是各种数据的表示,通常是非结构化数据以数字格式在n维空间中。那么我们该如何存储它们呢?传统的关系型数据库管理系统(RDMS)不能用于存储这些向量嵌入。这就是向量存储/向量数据库发挥作用的地方。向量数据库的设计目的是以高效的方式存储和检索向量嵌入。有许多不同的向量存储器,它们通过所支持的嵌入模型和用于获取相似向量的搜索算法的种类而有所不同。 什么是Qdrant? Qdrant是一种新型的向量相似性搜索引擎和向量数据库,采用Rust语言构建的可用于生产的服务。Qdrant具有用户友好的API,用于存储、搜索和管理具有元数据的高维点(点就是向量嵌入),这些元数据称为载荷。这些载荷成为有价值的信息,提高搜索精度,并为用户提供有见地的数据。如果您熟悉其他向量数据库,如Chroma,Payload类似于元数据,它包含有关向量的信息。 Qdrant是用Rust编写的,即使在负载很重的情况下也是快速可靠的向量存储。Qdrant与其他数据库的区别在于它提供的客户端API数量。目前,Qdrant支持Python、TypeScript/JavaScript、Rust和Go。它使用HSNW(层次可导航小世界图)进行向量索引,并提供了许多距离度量,如余弦、点和欧氏距离。它还提供了一个内置的推荐API。 了解Qdrant术语 要顺利开始使用Qdrant,熟悉Qdrant向量数据库中的术语/主要组件是一个好习惯。…
Leave a Comment