什么是向量数据库?为什么向量数据库对LLM很重要?

由于我们目前生活在人工智能革命之中,重要的是要了解许多新应用程序都依赖于向量嵌入(vector embedding)。因此,有必要了解向量数据库以及它们对 LLM 的重要性。

我们首先定义向量嵌入。向量嵌入是一种携带语义信息的数据表示形式,可以帮助人工智能系统更好地理解数据并能够维持长期记忆。

嵌入是由例如 LLM 这样的人工智能模型生成的,它包含大量特征,导致其表示难以管理。嵌入表示数据的不同维度,以帮助人工智能模型理解不同的关系、模式和隐藏结构。

使用传统的基于标量的数据库进行向量嵌入是一个挑战,因为它无法处理或跟上数据的规模和复杂性。由于向量嵌入带来的所有复杂性,所以可以想象它需要的专用数据库。这就是向量数据库发挥作用的地方。

向量数据库为向量嵌入的独特结构提供优化的存储和查询功能。它们通过比较值并查找彼此之间的相似性来提供轻松的搜索、高性能、可扩展性和数据检索。

虽然向量数据库可以处理向量嵌入的复杂结构。但是向量数据库的实现非常困难。

到目前为止,向量数据库仅由那些不仅有能力开发它们而且有能力管理它们的科技巨头使用。向量数据库价格昂贵,因此确保对其进行正确校准对于提供高性能非常重要。

那么向量数据库的工作原理是什么呢?

图片

比如,当我们使用 chatGPT 或者其他的 LLM 应用程序时:

  1. 作为用户,我们将在应用程序(application)中输入查询(query)。

  2. 然后,我们的查询将被插入到嵌入模型(embedding model)中,该模型根据我们想要索引的内容创建向量嵌入(vector embedding)。

  3. 再然后,向量嵌入会根据嵌入的内容移入向量数据库(vector database)。

  4. 最后,向量数据库产生输出并将其作为查询结果(query result)发送回用户。

当用户继续进行查询时,它将通过相同的嵌入模型来创建嵌入,以在数据库中查询类似的向量嵌入。向量嵌入之间的相似性基于创建嵌入的原始内容。

图片

传统数据库在行和列中存储字符串、数字等。当从传统数据库查询时,我们正在查询与我们的查询匹配的行。然而,向量数据库使用向量而不是字符串等。向量数据库还应用相似性度量,用于帮助找到与查询最相似的向量。

向量数据库由不同的算法组成,这些算法都有助于近似最近邻 (Approximate Nearest Neighbor,ANN) 搜索。这是通过散列、基于图形的搜索或量化来完成的,它们被组装到 pipeline 中以检索查询向量的邻居。

结果基于其与查询的接近或近似程度,因此考虑的主要元素是准确性和速度。查询输出越慢,结果越准确。

向量数据库查询经历的三个主要阶段是:

  1. 索引(indexing)。如上例所示,一旦向量嵌入移入向量数据库,它就会使用各种算法将向量嵌入映射到数据结构,以便更快地搜索。

  2. 查询(querying)。一旦完成搜索,向量数据库就会将查询的向量与索引向量进行比较,应用相似性度量来查找最近的邻居。

  3. 后处理(post processing)。根据我们使用的向量数据库,向量数据库将对最终最近邻进行后处理,以生成查询的最终输出。 以及可能重新排列最近的邻居以供将来参考。

随着我们不断看到人工智能的发展和每周都会发布的新系统,向量数据库的增长正在发挥重要作用。向量数据库使公司能够通过准确的相似性搜索更有效地进行交互,为用户提供更好更快的输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/379667.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

了解海外云手机的多种功能

随着社会的高度发展,海外云手机成为商家不可或缺的工具,为企业出海提供了便利的解决方案。然而,谈及海外云手机,很多人仍不了解其强大功能。究竟海外云手机有哪些功能,可以为我们做些什么呢? 由于国内电商竞…

树与二叉树---数据结构

树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点: 1)树的根结点没有前驱,除根结点外的所有结点有 且只有一个前驱。 2)树中所有结点可以有零个或多个后继。 树结点数据结构 满二叉树和完全二…

Vue3编写简单的App组件(二)

一、Vue3页面渲染基本流程 1、入口文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><link rel"icon" href"/favicon.ico"><meta name"viewport" content"widthde…

PlantUML绘制UML图教程

UML&#xff08;Unified Modeling Language&#xff09;是一种通用的建模语言&#xff0c;广泛用于软件开发中对系统进行可视化建模。PlantUML是一款强大的工具&#xff0c;通过简单的文本描述&#xff0c;能够生成UML图&#xff0c;包括类图、时序图、用例图等。PlantUML是一款…

【前端web入门第四天】01 复合选择器与伪类选择器

文章目录: 1. 复合选择器 1.1 后代选择器 1.2 子代选择器 1.3 并集选择器1.4 交集选择器(了解) 2.伪类选择器 2.1 伪类-文本2.2 伪类-超链接&#xff08;拓展) 1. 复合选择器 什么叫复合选择器? 由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 复合选择器的作…

Python中使用opencv-python库进行颜色检测

Python中使用opencv-python库进行颜色检测 之前写过一篇VC中使用OpenCV进行颜色检测的博文&#xff0c;当然使用opencv-python库也可以实现。 在Python中使用opencv-python库进行颜色检测非常简单&#xff0c;首选读取一张彩色图像&#xff0c;并调用函数imgHSV cv2.cvtColor…

从REPR设计模式看 .NET的新生代类库FastEndpoints的威力

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 又到了一年年末,春节将至…

Android SDK 上传 Maven 喂奶级教程

最近领导给安排了个任务&#xff0c;让我把我们现有的一个 SDK 上传到 Maven 上去&#xff0c;方便客户直接用 gradle 依赖&#xff0c;不再需要拷贝 jar 和 so 了&#xff0c;此前我也看过一些相关的文章我想问题也不大&#xff0c;觉得工作量也就一两天的事情&#xff0c;主要…

深度学习在知识图谱问答中的革新与挑战

目录 前言1 背景知识2 基于深度学习改进问句解析模型2.1 谓词匹配2.2 问句解析2.3 逐步生成查询图 3 基于深度学习的端到端模型3.1 端到端框架3.2 简单嵌入技术 4 优势4.1 深入的问题表示4.2 实体关系表示深挖4.3 候选答案排序效果好 5 挑战5.1 依赖大量训练语料5.2 推理类问句…

【原创 附源码】Flutter海外登录--Tiktok登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月7日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&#…

uniapp的配置和使用

①安装环境和编辑器 注册小程序账号 微信开发者工具下载 uniapp 官网 HbuilderX 下载 首先先下载Hbuilder和微信开发者工具 &#xff08;都是傻瓜式安装&#xff09;&#xff0c;然后注册小程序账号&#xff1a; 拿到appid&#xff1a; ②简单通过demo使用微信开发者工具和…

Ribbon全方位解析:构建弹性的Java微服务

第1章 引言 大家好,我是小黑,咱们今天聊聊Ribbon,这货是个客户端负载均衡工具,用在Spring Cloud里面能让咱们的服务调用更加灵活和健壮。负载均衡,听起来挺高大上的,其实就是把外界的请求平摊到多个服务器上,避免某个服务器压力太大,其他的却在那儿闲着。 Ribbon的牛…

npm install express -g报错或一直卡着,亲测可解决

问题描述&#xff1a; 最近学习vue3前端框架&#xff0c;安装Node.js之后&#xff0c;在测试是否可行时&#xff0c;cmd窗口执行了&#xff1a;npm install express -g&#xff0c;发现如下图所示一直卡着不动&#xff0c;最后还报错了&#xff0c;网上找了好久&#xff0c;各…

Springboot根据环境读取application配置文件

目录 1. 首先创建两个不同配置文件 2. pom.xml 配置文件 3. 指定环境 4. 最后启动测试 1. 首先创建两个不同配置文件 分别为开发环境和生产环境 application-dev.properties 和 application-prod.properties application-dev.properties 配置为 1931 端口 application-pro…

12个最常用的matplotlib图例 !!

文章目录 1、折线图 2、散点图 3、直方图 4、柱状图 5、箱线图 6、热力图 7、饼图 8、面积图 9、等高线图 10、3D图 11、时间序列图 12、树状图 总结 1、折线图 折线图&#xff08;Line Plot&#xff09;&#xff1a;用于显示数据随时间或其他连续变量的变化趋势。在实际项目中…

奇异果投屏的进化之路

笔者按&#xff1a;奇异果投屏伴随奇异果TV一路发展至2022年&#xff0c;日活用户已达300多万&#xff0c;用户和我们都对投屏的功能和性能提出了更多的诉求和更高要求&#xff0c;因此2022开始系统地对投屏功能和性能做了扩展和优化。本文立足于TV端&#xff0c;为大家介绍爱奇…

百家cms代审

环境搭建 源码链接如下所示 https://gitee.com/openbaijia/baijiacms 安装至本地后 直接解压到phpstudy的www目录下即可 接下来去创建一个数据库用于存储CMS信息。&#xff08;在Mysql命令行中执行&#xff09; 接下来访问CMS&#xff0c;会默认跳转至安装界面 数据库名称和…

spring boot(2.4.x 开始)和spring cloud项目中配置文件application和bootstrap加载顺序

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 spring boot 2.4.x 版本之前通过 ConfigFileApplicationListener 加载配置 https://github.com/spring-projects/spring-boot/blob/v2.3.12.RELEASE/spring-boot-project/spring-boot/src/mai…

ElasticSearch之search API

写在前面 本文看下查询相关内容&#xff0c;这也是我们在实际工作中接触的最多的&#xff0c;所以有必要好好学习下&#xff01; 1&#xff1a;查询的分类 主要分为如下2类&#xff1a; 1:基于get查询参数的URI search 2&#xff1a;基于post body的request body search&am…

8868体育助力法甲巴黎圣日耳曼俱乐部 运作球员转会

法甲的巴黎圣日耳曼足球俱乐部是8868的体育助力球队之一&#xff0c;根据法国媒体RMC的消息&#xff0c;巴黎圣日尔曼仍然希望在一月份增强球队的后防实力。虽然之前球队已经从圣保罗引进了20岁的巴西中后卫卢卡斯-贝拉尔多&#xff0c;而这名小将也将会是巴黎圣日耳曼冬窗的一…