介绍 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 CommentTag: vectors
介绍 大型语言模型(LLMs)是一类特定的人工智能模型,旨在理解和生成类似于人类的文本。术语“大型”通常通过它们拥有的参数数量来量化。例如,OpenAI的GPT-3模型有1750亿个参数。可以将其用于各种任务,例如文本翻译、回答问题、写作论文、总结文本。尽管有很多资源展示了LLMs的能力,并提供了有关如何设置聊天应用程序的指导,但很少有人深入研究它们在现实业务场景中的适用性。在本文中,您将学习如何使用LangChain和Flan-T5 XXL构建基于大型语言的应用程序来创建文档查询系统。 学习目标 在深入研究技术细节之前,让我们确定本文的学习目标: 了解如何利用LangChain构建基于大型语言的应用程序 简要介绍文本到文本框架和Flan-T5模型 如何使用LangChain和任何LLM模型创建文档查询系统 现在让我们深入了解这些部分,以理解每个概念。 本文是Data Science Blogathon的一部分。 LangChain在构建LLM应用程序中的作用 LangChain框架旨在开发各种应用程序,例如聊天机器人、生成式问答(GQA)和摘要,以发挥大型语言模型(LLMs)的能力。LangChain为构建文档查询系统提供了全面的解决方案。这涉及通过分块对语料库进行预处理,将这些块转换为向量空间,在提出查询时识别相似块,并利用语言模型将检索到的文档细化为合适的答案。 Flan-T5模型概述 Flan-T5是谷歌研究人员开发的一种商业可用的开源LLM。它是T5(文本到文本转换Transformer)模型的变体。T5是一种先进的语言模型,它通过将NLP任务转换为基于文本的格式来训练。FLAN是Finetuned Language Net的缩写。 让我们深入构建文档查询系统 我们可以利用LangChain和Flan-T5 XXL模型在Google Colab的免费版中构建此文档查询系统。要在Google Colab中执行以下代码,我们必须选择“T4 GPU”作为我们的运行时。按照以下步骤构建文档查询系统: 1:导入必要的库…
Leave a Comment