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

news2024/9/22 5:33:59

由于我们目前生活在人工智能革命之中,重要的是要了解许多新应用程序都依赖于向量嵌入(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)。根据我们使用的向量数据库,向量数据库将对最终最近邻进行后处理,以生成查询的最终输出。 以及可能重新排列最近的邻居以供将来参考。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot172基于springboot的二手车交易系统的设计与实现

二手车交易系统的设计与实现 摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统二手车交易信息管理难度大&…

armbian ddns

参考https://mp.weixin.qq.com/s/0Uu_nbGH_W6vAYHPH4kHqg Releases jeessy2/ddns-go GitHub mkdir -p /usr/local/ddns-go cd /usr/local/ddns-gowget https://github.com/jeessy2/ddns-go/releases/download/v6.1.1/ddns-go_6.1.1_freebsd_armv7.tar.gztar zxvf ddns-go_…

【XR806开发板试用】轻松连上华为云实现物联网

本文为极术社区XR806试用活动文章。 一.开始 偶然的机会在网上看到了鸿蒙开发板的试用,作为一个"老鸿蒙"岂能放弃这个机会,报名之后不出意料地得到了使用名额,在此感谢极术社区. 收到开发板之后其实还有点失望了,就那么一个小小的核心板,其他啥也没有,连一根数据线…

【PyQt】08 - 编辑Tab顺序

文章目录 前言一、Tab顺序二、编辑Tab顺序总结 前言 介绍了什么是Tab顺序,以及如何修改Tab顺序。 一、Tab顺序 当你的界面设计好之后,在输入栏按住Tab按键,他会按照你摆放的顺序一次转跳 二、编辑Tab顺序 方法一 然后鼠标左击就可以改变…

CTFshow web(php命令执行 45-49)

基础知识&#xff1a; 1.绕过cat使用&#xff1a; tac more less head tac tail nl od(二进制查看) vi vim sort uniq rev 2.绕过空格用&#xff1a; %09 <> ${IFS} $IFS$ {cat,fl*} %20 注&#xff1a; %09 ##&#xff08;Tab&#xff09; %20 ##&#xff08;spa…

Swift Combine 发布者publisher的生命周期 从入门到精通四

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三 1. 发布者和订阅者的生命周期 订阅者和发布者以明确定义的顺序进行通信&#xff0c;因此使得它们具有从开始到结束的生命周期&#xff1a; …

MATLAB环境下基于深层小波时间散射网络的ECG信号分类

2012年&#xff0c;法国工程学院院士Mallat教授深受深度学习结构框架思想的启发&#xff0c;提出了基于小波变换的小波时间散射网络&#xff0c;并以此构造了小波时间散射网络。 小波时间散射网络的结构类似于深度卷积神经网络&#xff0c;不同的是其滤波器是预先确定好的小波…

Postman(接口测试工具),什么是Postman接口

目录 一.基本介绍 Postman 是什么Postman 快速入门快速入门需求说明 二.Postman 完成 Controller 层测试 需要的代码&#xff1a; Java类request.jspsuccess.jsp1. 完成请求2. 完成请求3. 完成请求4. 完成请求5. 完成请求 三.发送join 目录 一.基本介绍 Postman 是什么 …

Redis核心技术与实战【学习笔记】 - 31.番外篇:Redis客户端如何与服务器端交换命令和数据

简述 Redis 使用 RESP 协议&#xff08;Redis Serialzation Protocol&#xff09;协议定义了客户端和服务器端交互的命令、数据的编码格式。在 Redis 2.0 版本中&#xff0c;RESP 协议正式称为客户端和服务器端的标准通信协议。从 Redis 2.0 到 Redis 5.0 &#xff0c;RESP 协…

电脑通电自启动设置

首先要进入BIOS&#xff0c;以华硕为例&#xff0c;按下电源键&#xff0c;在开机之前按下delete键&#xff0c;其他电脑可能是esc或者某个f键&#xff0c;请自行查找。 进入BIOS后要找到电源管理&#xff0c;可以在高级选项中找一找&#xff0c;如上图右下角选择高级模式。 …

机器学习10-特征缩放

特征缩放的目的是确保不同特征的数值范围相近&#xff0c;使得模型在训练过程中更加稳定&#xff0c;加速模型收敛&#xff0c;提高模型性能。具体而言&#xff0c;零均值和单位方差的目标有以下几点好处&#xff1a; 1. 均值为零&#xff08;Zero Mean&#xff09;&#xff1a…

移动应用开发Android 创建第一个Android项目

文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录&#xff08;所有图片、布局、字AndroidManifest.xml 有四大组件&#xff0c;程序添加权限声明 Project下的结构 二、开发android时&#xff0c;部分库下载异…

教师题不会怎么搜答案?用这三款神器就够了!!! #笔记#知识分享#职场发展

在大学生的学习过程中&#xff0c;遇到难题和疑惑是常有的事情。然而&#xff0c;随着互联网的普及和技术的发展&#xff0c;搜题和学习软件成为了大学生们解决问题的利器。今天&#xff0c;我将向大家推荐几款备受大学生喜爱的搜题和学习软件&#xff0c;帮助我们更好地应对学…

汽车零部件MES系统解决方案

汽车零部件行业现状 随着全球汽车产业不断升级&#xff0c;汽车零部件市场竞争日趋激烈&#xff0c;从上游的钢铁、塑料、橡胶等生产到下游的主机厂配套制造&#xff0c;均已成为全球各国汽车制造大佬战略目标调整的焦点&#xff0c;其意欲在汽车零部件行业快速开疆扩土&#x…

HARRYPOTTER: FAWKES

攻击机 192.168.223.128 目标机192.168.223.143 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -sV -p- -A 192.168.223.143 开启了21 22 80 2222 9898 五个端口&#xff0c;其中21端口可以匿名FTP登录&#xff0c;好像有点说法,百度搜索一下发现可以用anonymous登录…

NLP_语言模型的雏形 N-Gram 模型

文章目录 N-Gram 模型1.将给定的文本分割成连续的N个词的组合(N-Gram)2.统计每个N-Gram在文本中出现的次数&#xff0c;也就是词频3.为了得到一个词在给定上下文中出现的概率&#xff0c;我们可以利用条件概率公式计算。具体来讲&#xff0c;就是计算给定前N-1个词时&#xff0…

【Git】Windows下通过Docker安装GitLab

私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制&#xff0c;这个其实很好理解&#xff0c;毕竟使用的是云服务器&#xff0c;人家也是要交钱的。把代码完全放在别人的服务器上面&#xf…

【网工】华为设备命令学习(nat网络地址转换)

本次实验通过nat技术实现私网转公网。 实验中 pc1和ar2的基本配置省略&#xff0c;只需要配置基本IP地址就行。主要记录AR3的配置代码。 <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]int g0/0/0 [Huawei-Giga…

飞天使-k8s知识点13-kubernetes散装知识点2-statefulsetdaemonset

文章目录 RC RS DeploymentStatefulSet有状态服务控制器DaemonSet守护进程与任务job cronjob RC RS Deployment StatefulSet有状态服务控制器 statefulset StatefulSet 是 Kubernetes 1.9 版本引入的一个新的 API 对象&#xff0c;主要用于处理有状态的服务。StatefulSet 与 De…

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

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