LLM 大模型向量数据库技术架构浅析

news2024/11/24 14:59:49

▼最近直播超级多,预约保你有收获

近期直播:LLM 大模型向量数据库技术架构剖析和应用案例实战

 1

AI 智能时代,开发者需要一个真正的向量数据库吗?

答案很简单,这取决于开发者的应用场景。举个例子,晚饭选择去一家五星级餐厅用餐或是是快餐店,往往和你的胃口和期望有关。

如果只是想简单解决一顿饭,一家快餐店就能满足你。同理,如果想为自己的个人网站快速搭建一个问答机器人,或者为相册里的十万张照片建立一个索引,你可以选择最熟悉和便捷的方法,无论是使用免费的向量检索云服务,或者安装基于 PostgreSQL 的开源向量检索插件 PG Vector,抑或是在本地通过 pip 安装 Faiss、HNSW、Annoy 等开源向量检索库,都是不错的选择。

然而,如果我们的目标是一个品质高端的晚宴,大概率会选择一个五星级餐厅。这就好像我们想要构建一个企业级的向量检索应用,数据量超过千万级,要求延迟在 10ms 以下,需要使用高级功能如标量过滤、动态架构、多租户、实时更新/删除、批量导入等。不止如此,我们甚至希望能够在短短十分钟内快速构建一个可用的 Demo……这就不得不借助原生向量数据库的能力和优势了,它就像五星级餐厅一般,不仅可以满足你的基本需求,更是质量和服务的保证。

bf97760ec253017e8a94a13b3433283d.jpeg

 2 

什么是向量检索?

向量数据库具有快速计算向量相似度的优势,能在 N 个向量中找出与目标向量在高维空间中最相似的前 K 个向量。然而,这种能力并非仅有向量数据库所具备。例如,我们可以通过使用 Python 的 NumPy 库,用不到 20 行代码就能实现最近邻算法,比如:

6e4cb2c35a8049ce27d1720a749c0357.png

我们可以试着生成 100 个 2 维向量,然后找出与向量[0.5,0.5]最近的邻居,代码如下:

8a785feb90657bf4704c8248ae8a5ba8.png

3

向量数据库的底层技术

向量数据库底层技术已经被研究多年,有以下3点关键技术:

第一、基于嵌入的检索( Embedding-Based Retrieval, EBR)已经被研究了十多年。

第二、相似性搜索(Similarity Search)持续了长达半个世纪。

第三、NumPy 或其他 FAISS 向量搜索库也可以用来构建向量搜索系统。

为什么最近向量数据库变成如此火热,推动力就是 LLM 大语言模型。推动从算法向应用系统转变的,是新的「数据密集型应用程序」 = 大量的「非结构化」数据存储 + 「可靠、安全、快速和可伸缩」的查询处理能力。

传统数据库以行和列的表格式存储数据,并且基于精确匹配或预定义条件搜索精确的数据。

然而,大量业务数据是非结构化的,以文本、图像、音频、视频或其他格式存储,这给传统数据库带来了挑战。

Vector Database 存储的“向量数据”,通常是通过对这些非结构化数据使用某种转换或嵌入函数来生成的。

a90296ded5fb092f55e4144c329c2f8f.png

 4

免费超干货 LLM 向量数据库直播

为了帮助同学们掌握好 LLM 大模型的向量数据库技术架构和企业级应用实战,明晚8点,我会开一场直播和同学们深度聊聊向量数据库技术架构剖析、利用向量数据库构建企业应用案例实战请同学点击下方按钮预约直播,咱们明晚8点不见不散哦~~

近期直播:LLM 大模型向量数据库技术架构剖析和应用案例实战

END

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

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

相关文章

【C++】多态(重写)的实现过程及其原理【核心知识点精讲】(22)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.基础知识介绍1)虚函数&a…

It Is All About Data: A Survey on the Efects of Data on Adversarial Robustness

It Is All About Data: A Survey on the Effects of Data on Adversarial Robustness----《这一切都关乎数据:关于数据对对抗性鲁棒性影响的调查》 摘要 对抗性示例是攻击者故意设计的机器学习模型的输入,目的是迷惑模型,使其犯错误。这些例…

Java对象的深拷贝

什么是深拷贝 在Java中,对象的深拷贝是指创建一个新的对象,并复制原始对象的所有字段和属性,包括嵌套对象。深拷贝确保原始对象和拷贝对象是完全独立的,对其中一个对象的修改不会影响另一个对象。 深拷贝需要注意的点 在Java中…

震裕科技-300953 三季报分析(20231108)

震裕科技-300953 基本情况 公司名称:宁波震裕科技股份有限公司 A股简称:震裕科技 成立日期:1994-10-18 上市日期:2021-03-18 所属行业:专用设备制造业 周期性:0 主营业务:精密级进冲压模具及下游…

【hcie-cloud】【5】华为云Stack规划设计之华为云Stack标准化配置、缩略语【下】

文章目录 前言、华为云Stack交付综述为云Stack标准组网华为云Stack标准化配置华为云Stack配置概览华为云Stack云服务全视图华为云Stack部署方案节点类型说明华为云Stack云服务组件部署场景管理节点部署原则云平台管理规格华为云Stack IaaS场景&高阶场景起步必选部署组件x86…

Python高级语法----Python多线程与多进程

文章目录 多线程多进程注意事项多线程与多进程是提高程序性能的两种常见方法。在深入代码之前,让我们先用一个简单的比喻来理解它们。 想象你在一家餐厅里工作。如果你是一个服务员,同时负责多个桌子的顾客,这就类似于“多线程”——同一个人(程序)同时进行多项任务(线程…

RflySim | 滤波器设计实验二

本讲是关于无人机滤波器,其中包括无人机滤波器简介、测量原理、线性互补滤波器设计、线性互补滤波器参数分析、卡尔曼滤波器设计等。 滤波器设计实验2 卡尔曼滤波器是一种递推线性最小方差估计算法,它的最优估计需满足以下三个条件: 1&#…

【Spring】静态代理

例子: 租房子 角色: 我 (I ) 中介( Proxy ) 房东( host ) Rent 接口 package org.example;public interface Rent {void rent(); }房东 package org.example;public class Host implements Rent{Overridepublic void rent() …

NAT协议

目录 NAT 前言 NAT地址转换表 NAT分类 前言 静态NAT 192.168.1.2访问200.1.1.2执行过程 动态NAT 192.168.1.2访问200.1.1.2执行过程 NAPT 192.168.1.2的5000端口访问200.1.1.2的80端口执行过程 基本命令 配置动态NAPT转换 定义内外网接口 配置NAPT 静态NAPT配置…

NetworkManager 图形化配置 bond

1、在桌面右下角找到网络连接标识,鼠标右击,选择编辑连接,如下图 注意:此次示例使用 ens37 和 ens38 两张网卡组成 bond。在配置 bond 前为了网 络稳定如果子网卡已有网络连接的建议先删除 bond 子网卡的网络连接。 2、单击按钮&a…

Python高级语法----Python异步编程入门

文章目录 异步编程概念asyncio模块基础event loop和coroutineasync与await关键字代码示例结论在现代软件开发中,异步编程已经成为一个不可或缺的概念,尤其是在处理I/O密集型任务和高并发需求时。Python作为一门多范式编程语言,自3.5版本以来,通过引入asyncio模块和async/aw…

UseGalaxy.cn生信云平台文本文件操作手册

文本文件是生物信息学中应用非常广泛的文本格式,甚至可以说是最重要的文件格式,比如常见的测序下机数据Fastq、参考基因组保存格式Fasta、比对文件SAM,以及突变列表VCF,它们都是文本文件。熟练地进行文本文件的处理,对…

facebook分享-错误记录

无法拉起分享 "code":30000,"msg":"fail:API_ERROR: API_ERROR" 1.确认facebook的app_id是否一致 2.确认是否在app_id应用的白名单里,注册meta开发者,然后把主页的user_id给管理员加 A ContentProvider for this app was…

响应式生活常识新闻博客资讯网站模板源码带后台

模板信息: 模板编号:30483 模板编码:UTF8 模板分类:博客、文章、资讯、其他 适合行业:博客类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统,原创设计、手工书写DIVCSS&a…

Pandas - 数据转换

数据转换一班包括一列数据转换为多列数据,行列转换,DataFrame转换为字典、DataFrame转换为列表和DataFrame转换为元组等。 1.一列数据转换为多列数据 如原始地址数据为:“广东省 深圳市 罗湖区 xxxx”, 此时如果我们需要按照省来…

解密网易数帆DataOps“三剑客”:从数据开发治理、指标中台到ChatBI

大数据产业创新服务媒体 ——聚焦数据 改变商业 近日,以“数智聚力,共赴新程”为主题的2023网易数字大会在杭州召开。在这次大会上,数据猿采访了网易副总裁、网易数帆总经理汪源,网易数帆大数据产品线总经理余利华,对…

centos7部署Canal与Canal集成使用

1、简介 canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigge…

项目实战:中央控制器实现(2)-优化Controller,将共性动作抽取到中央控制器

1、FruitController FruitController已经和Web没有关系了,和Web容器解耦,可以脱离Web容器做单元测试 package com.csdn.fruit.controller; import com.csdn.fruit.dto.PageInfo; import com.csdn.fruit.dto.PageQueryParam; import com.csdn.fruit.dto.R…

Linux C基础(7)

1、二维数组 1.1 概念 本质:元素为一堆数组的数组(数组的数组)数组的特点:(1)数据类型相同 (2)地址连续 1.2 定义 数组:存储类型 数据类型 数组名[元素个数]二维数组&…

TinyEngine 开源低代码引擎首次直播答疑QA合集

前言 10月27日晚8点,OpenTiny 社区开启了 TinyEngine 开源低代码引擎首次答疑直播,本次直播我们通过收集开发者诉求,精心策划和组织了内容,希望提供给大家最明确和清晰的答疑方式。这是 TinyEngine 低代码引擎直播计划的开端&…