AI配套的技术: 矢量数据库的概念

一、说明

        随着人工智能的快速采用和围绕大型语言模型发生的创新,我们需要在所有这些的中心,能够获取大量数据,将其上下文化,处理它,并使其能够有意义地搜索。

        为原生整合生成式 AI 功能而构建的生成式 AI 流程和应用程序都依赖于访问向量嵌入的能力,矢量嵌入是一种数据类型,它提供了 AI 具有与我们类似的长期记忆处理所需的语义,允许它利用和调用复杂任务执行的信息。

      向量嵌入是 AI 模型(如 LLM)使用和生成的数据表示,用于做出复杂的决策。就像人脑中的记忆一样,存在复杂性、维度、模式和关系,所有这些都需要作为底层结构的一部分进行存储和表示,这使得所有这些都难以管理。

        这就是为什么对于AI工作负载,我们需要一个专门构建的数据库(或大脑),专为高度可扩展的访问而设计,并且专门为存储和访问这些向量嵌入而构建。像Datastax Astra DB(基于Apache Cassandra构建)这样的矢量数据库旨在为嵌入提供优化的存储和数据访问功能。

        矢量数据库是一种专门设计用于存储和查询高维矢量的数据库。向量是多维空间中对象或数据点的数学表示,其中每个维度对应于特定的特征或属性。

        这最终是矢量数据库的优势和力量所在。它是在多维空间中存储和检索大量数据作为向量的能力,最终实现向量搜索,这是人工智能进程用来提供数据的相关性,方法是将数据的数学嵌入或编码与搜索参数进行比较,并返回与查询轨迹相同的结果。与传统的关键字搜索相比,这允许更广泛的结果,并且可以在添加或学习新数据时考虑更多的数据。

      在这个两分钟的视频中,Charna Parkey博士介绍了使用载体数据库的三个原因。

        可能最著名的例子是一个推荐引擎,它接受用户的查询,并向他们推荐他们可能感兴趣的其他内容。假设我正在观看我最喜欢的流媒体服务,并且正在观看以科幻西部片为主题的节目。通过矢量搜索,我可以轻松快速地推荐其他最近邻匹配的节目或电影,使用整个媒体库的矢量搜索,而无需用主题标记每个媒体,此外,我可能会获得其他主题的其他最近邻结果我可能没有专门查询但与我感兴趣的节目的观看模式相关。

        与仅改进向量嵌入的搜索和检索的向量索引不同,矢量数据库提供了一种众所周知的方法来大规模管理大量数据,同时专门用于处理向量嵌入的复杂性。矢量数据库带来了传统数据库的所有功能,对存储矢量嵌入进行了特定的优化,同时提供了高性能访问传统标量和关系数据库所缺乏的嵌入所需的专业化,最终矢量数据库原生地实现了存储和检索大量数据的能力,以实现矢量搜索功能。

二、矢量数据库如何工作?

        为了使生成式人工智能发挥作用,它需要一个大脑来实时有效地访问所有嵌入,以形成见解,执行复杂的数据分析,并对所问的内容进行生成预测。想想你如何处理信息和记忆,我们处理记忆的主要方式之一是将记忆与已经发生的其他事件进行比较。例如,我们知道不要把手伸进沸水中,因为我们过去曾被沸水烫伤,或者我们知道不要吃特定的食物,因为我们有关于这种食物如何影响我们的记忆。这就是矢量数据库的工作方式,它们对齐数据(内存)以进行快速数学比较,以便通用AI模型可以找到最可能的结果。例如,像 ChatGPT 这样的东西需要能够通过快速有效地比较给定查询的所有不同选项并呈现高度准确和响应迅速的结果来比较逻辑上完成思想或句子的内容。

        挑战在于,生成式人工智能无法用传统的标量和关系方法做到这一点,它们要放慢速度、僵化和狭隘地聚焦。生成式人工智能需要一个数据库来存储数学表示,它的大脑旨在处理和提供极高的性能、可扩展性和适应性,以充分利用它拥有的所有可用数据,它需要一些设计得更像人脑的东西,能够存储记忆印记,并根据需要快速访问、关联和处理这些印迹。

        借助矢量数据库,我们能够快速加载和存储事件作为嵌入,并使用我们的矢量数据库作为为我们的AI模型提供动力的大脑,提供上下文信息,长期记忆检索,语义上的数据关联等等。

        为了实现高效的相似性搜索,矢量数据库采用专门的索引结构和算法,例如基于树的结构(例如,k-d树),基于图的结构(例如,k-最近邻图)或哈希技术(例如,局部敏感哈希)。这些索引方法有助于组织和分区载体,以便于快速检索相似向量。

在矢量数据库中,矢量通常与其关联的元数据(如标签、标识符或任何其他相关信息)一起存储。该数据库经过优化,可根据载体与其他载体的相似性或距离高效存储、检索和查询载体。

三、矢量数据库的优势是什么?

        与在行和列中存储多种标准数据类型(如字符串、数字和其他标量数据类型)的传统数据库不同,矢量数据库引入了一种新的数据类型,即向量,并围绕此数据类型构建优化,专门用于实现快速存储、检索和最近邻搜索语义。在传统数据库中,使用查找完全匹配项的索引或键值对对数据库中的行进行查询,并返回这些查询的相关行。

        传统的关系数据库经过优化,围绕结构数据提供垂直可扩展性,而传统的NOSQL数据库则为非结构化数据提供水平可扩展性。像Apache Cassandra这样的解决方案旨在围绕结构化和非结构化数据提供优化,并增加了存储向量嵌入的功能,像Datastax Astra DB这样的解决方案非常适合传统和基于AI的存储模型。

        与矢量数据库的最大区别之一是,传统模型旨在提供精确的结果,但对于矢量数据库,数据存储为一系列浮点数,搜索和匹配数据不一定是完全匹配的,但可以是查找与我们的查询最相似的结果的操作。

        矢量数据库使用许多不同的算法,这些算法都参与近似最近邻(ANN)搜索,并允许快速有效地检索大量相关信息。这就是专门构建的矢量数据库(如DataStax Astra DB)为生成式AI应用程序提供显着优势的地方。传统数据库根本无法扩展到需要搜索的高维数据量。AI 应用程序需要能够在高度分布式、高度灵活的解决方案中存储、检索和查询密切相关的数据。

四、矢量数据库如何帮助提升人工智能

        矢量数据库为 AI 带来的最大好处之一是能够通过高效访问和检索数据进行实时操作,从而跨大型数据集利用现有模型。矢量数据库为记忆回忆提供了基础,这与我们在有机大脑中使用的记忆回忆相同。通过矢量数据库,人工智能分为认知功能(LLM),记忆回忆(矢量数据库),专门的记忆印迹和编码(矢量嵌入)和神经通路(数据管道)。

        这些过程协同工作,使人工智能能够无缝地学习、增长和访问信息。矢量数据库保存所有记忆印迹,并为认知功能提供回忆触发类似体验的信息的能力。就像我们人类的记忆一样,当一个事件发生时,我们的大脑会回忆起其他事件,这些事件会引起同样的喜悦、悲伤、恐惧或希望的感觉。

        借助矢量数据库,生成AI过程能够访问大量数据,以高效的方式关联该数据,并使用该数据对接下来发生的事情做出上下文决策,当进入神经系统时,数据管道允许在制作新记忆时存储和访问, AI 模型能够通过利用提供历史记录、分析或实时信息的工作流程来自适应学习和成长。

        无论您是在构建推荐系统、图像处理系统还是异常检测,在所有这些 AI 功能的核心,您都需要一个高效、优化的矢量数据库,例如 Astra DB。Astra DB 的设计和构建旨在为人工智能的认知过程提供支持,人工智能可以将数据作为来自多个来源的数据管道流式传输,例如 Astra 流,并使用这些来发展和学习以提供更快、更高效的结果。

五、使用 DataStax 开始使用矢量数据库

        随着生成式人工智能在所有行业中的快速增长和加速,我们需要一种专门构建的方式来存储用于推动上下文决策的大量数据。矢量数据库是专门为此任务构建的,它为管理用于 AI 的矢量嵌入的挑战提供了专门的解决方案。这就是矢量数据库的真正力量所在,即能够启用静态和动态上下文数据,为AI处理提供核心内存召回。

        虽然这听起来很复杂,但DataStax Astra DB上的矢量搜索通过一个完全集成的解决方案为您解决了所有这些问题,该解决方案提供了上下文数据所需的所有部分。从基于数据管道构建的神经系统到嵌入,再到核心内存存储和检索、访问和处理,再到易于使用的云平台。立即免费试用。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端——html面试题(一)

文章目录 前言一、说说你对 html 语义化的理解。二、html的标签有哪些三、标签类型1、问题:请说说你对块级元素、行内元素、空元素的理解,它们分别都有哪些常见的标签? 总结 前言 说说对html语义化的理解html的标签标签类型 一、说说你对 ht…

【C语言】汉诺塔 —— 详解

一、介绍 汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大焚天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。 大焚天命令婆罗门把圆盘从下面开始按…

2023蓝帽杯半决赛电子取证+CTF部分题解

文章目录 电子取证123456789101112131415 CTFWeb | MyLinuxBotWeb | AirticleShareCrypto | ezrsaPwn | AdminPwn | uafmisc|排排坐吃吃果果 电子取证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CTF Web | MyLinuxBot Web | AirticleShare import requests import times reques…

lv7 嵌入式开发-网络编程开发 05 字节序及IP地址转换

目录 1 主机字节序和网络字节序 1.1 什么是字节序? 1.2 查看主机字节序 2 字节序转换函数 3 IP地址字节序转换函数 4 练习 1 主机字节序和网络字节序 1.1 什么是字节序? 字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序&a…

不做静态化,当部署到服务器上的项目刷新出现404【已解决】

当线上项目刷新出现404页面解决方法: 在nginx配置里加入这样一段代码 try_files $uri $uri/ /index.html; 它的作用是尝试按照给定的顺序访问文件 变量解释 try_files 固定语法 $uri 指代home文件(ip地址后面的路径,假如是127.0.0.1/index/a.png&…

【OpenCV-Torch-dlib-ubuntu】Vm虚拟机linux环境摄像头调用方法与dilb模型探究

前言 随着金秋时节的来临,国庆和中秋的双重喜庆汇聚成一片温暖的节日氛围。在这个美好的时刻,我们有幸共同迎来一次长达8天的假期,为心灵充电,为身体放松,为未来充实自己。今年的国庆不仅仅是家国团聚的时刻&#xff…

信息安全:网络安全审计技术原理与应用.

信息安全:网络安全审计技术原理与应用. 网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在于建立“事后“安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线…

全新UI彩虹外链网盘系统源码(前后端美化模板)

全新UI彩虹外链网盘系统源码前后端美化模板,支持所有格式文件的上传、生成文件外链、图片外链、音乐视频外链等功能,同时还可以自动生成相应的 UBB 代码和 HTML 代码,支持文本、图片、音乐、视频在线预览。这不仅仅是一个网盘,更是…

RabbitMQ学习笔记(消息发布确认,死信队列,集群,交换机,持久化,生产者、消费者)

MQ(message queue):本质上是个队列,遵循FIFO原则,队列中存放的是message,是一种跨进程的通信机制,用于上下游传递消息。MQ提供“逻辑解耦物理解耦”的消息通信服务。使用了MQ之后消息发送上游只…

软件设计模式系列之二十四——模板方法模式

在软件设计领域,设计模式是一组被反复使用、多次实践验证的经典问题解决方案。其中,模板方法模式是一种行为型设计模式,用于定义一个算法的骨架,将算法中的某些步骤延迟到子类中实现,从而使子类可以重新定义算法的某些…

lv7 嵌入式开发-网络编程开发 03 TCP/IP与五层体系结构

目录 1 TCP/IP协议族体系结构 1.1 OSI与TCP/IP 1.2 TCP/IP 的体系结构 1.3 TCP/IP 体系结构的另一种表示方法 1.4 沙漏计时器形状的 TCP/IP 协议族 2 五层协议的体系结构 2.1 各层的主要功能 2.2 互联网中客户-服务器工作方式 2.3 同时为多个客户进程提供服务 3 练…

react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容

1.需求 最近在做一个国际网站app,需要把app中某个页面的图文链接分享到国外各大社交平台上(facebook,whatapp,telegram,twitter等),以及通过WhatApp聊天方式分享,和SMS短信方式分享链接内容,该怎么做呢?图示如下: 分享到国外各大社交平台&am…

Kubernetes 学习总结(38)—— Kubernetes 与云原生的联系

一、什么是云原生? 伴随着云计算的浪潮,云原生概念也应运而生,而且火得一塌糊涂,大家经常说云原生,却很少有人告诉你到底什么是云原生,云原生可以理解为“云”“原生”,Cloud 可以理解为应用程…

选择排序算法:简单但有效的排序方法

在计算机科学中,排序算法是基础且重要的主题之一。选择排序(Selection Sort)是其中一个简单但非常有用的排序算法。本文将详细介绍选择排序的原理和步骤,并提供Java语言的实现示例。 选择排序的原理 选择排序的核心思想是不断地从…

Springboot+Vue+Mysql实现模拟汽车保养系统(附源码)

前言 本项目基于springbootvue搭建的汽车保养的系统,页面较为粗糙,前端好的小伙伴可自行优化。 项目环境 -环境框架后端JDK1.8SpringBootmybatisPlus前端NodeJS16.0Vue2.0ElementPlus数据库MySQL8.0- 数据库设计 数据表备注banner轮播图表car用户汽…

C++ 程序员入门之路——旅程的起点与挑战

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【maven】idea中基于maven-webapp骨架创建的web.xml问题

IDEA中基于maven-webapp骨架创建的web工程&#xff0c;默认的web.xml是这样的。 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name…

本地部署 Qwen-Agent

本地部署 Qwen-Agent 1. Qwen-Agent 概述2. Github 地址3. 创建虚拟环境4. 安装 flash-attention5. 部署 Qwen 模型服务6. 部署 Qwen-Agent7. 浏览器访问 Qwen Agent8. 安装浏览器助手 1. Qwen-Agent 概述 Qwen-Agent 是一个代码框架&#xff0c;用于发掘开源通义千问模型&…

2120 -- 预警系统题解

Description OiersOiers 国的预警系统是一棵树&#xff0c;树中有 &#xfffd;n 个结点&#xff0c;编号 1∼&#xfffd;1∼n&#xff0c;树中每条边的长度均为 11。预警系统中只有一个预警信号发射站&#xff0c;就是树的根结点 11 号结点&#xff0c;其它 &#xfffd;−1…

面试题:Kafka 为什么会丢消息?

文章目录 1、如何知道有消息丢失&#xff1f;2、哪些环节可能丢消息&#xff1f;3、如何确保消息不丢失&#xff1f; 引入 MQ 消息中间件最直接的目的&#xff1a;系统解耦以及流量控制&#xff08;削峰填谷&#xff09; 系统解耦&#xff1a; 上下游系统之间的通信相互依赖&a…