云原生向量数据库 PieCloudVector 助力多模态大模型 AI 应用

news2024/11/5 18:59:20

全球 AGI(人工通用智能)市场快速增长的背景下,企业应用成为推动这一领域发展的主要力量,企业如何选择合适的技术来支撑其智能化转型显得尤为重要。在墨天轮《数据库技术如何增强 AI 大模型?》数据库沙龙活动中,拓数派向量数据库负责人邱老师分享了向量数据库 PieCloudVector 在增强 AI 大模型方面的技术成果。

如今,大模型应用正以前所未有的速度改变着各个行业。从自然语言处理、计算机视觉到多模态任务的解决方案,AI 技术已经成为推动业务创新的核心力量。

然而,大模型的训练和推理需要处理大量高维度的向量数据,传统数据库在面对这些需求时往往力不从心。为应对这一挑战,向量数据库应运而生,本文将介绍 PieCloudVector 如何利用其独特的云原生架构和强大的向量处理能力助力 AI 大模型释放全部潜力。

1 国内 AGI 发展趋势

1.1 国内 AGI 市场分层

中国 AGI 市场自下而上分为基础设施层、模型层、中间层和应用层,这四层结构共同构成了中国 AGI 市场的技术框架。

image.png

国内 AGI 市场分层

最底层的基础设施层是 AI 应用的支柱,它提供硬件、算力和网络支持,任何 AI 应用都离不开这些技术;在基础设施层之上,核心模型的研发是重中之重,所有 AI 应用都围绕某个大模型构建,而模型的训练和能力直接影响着 AGI 应用的实际效能;进一步往上,是围绕模型提供的各种框架、工具、微调能力,它们为实际 AI 落地搭建了一个桥梁;最后的应用层面则是直面用户业务、解决具体问题的地方。

1.2 AI Agent 推动 AI 迅速发展

最近,AI 领域的一大热点是“AI Agent”,它正逐渐成为探索的核心路径。单一的大模型只能生成文字或图片,实际能够落地应用的方向比较有限。Agent 的目的旨在让大模型根据用户设定的目标,通过与周围环境交互、使用可访问的数据、调用接口和各种辅助工具,使大模型能够独立完成某些原本需要人工介入的任务,它的发展方向是深入垂直行业,通过明确和精细的任务范围来提高实现效果。

目前,Agent 应用已经相当普遍,比如智能手机上的语音助手就是一种 Agent 的具体表现形式。

image.png

Agent的概念与应用

2 云原生向量数据库 PieCloudVector

拓数派云原生向量数据库 PieCloudVector 是大模型时代的分析型数据库升维,可助力多模态大模型 AI 应用,进一步实现海量向量数据存储和高效查询,帮助基础模型在场景 AI 的快速适配和二次开发,是大模型应用必备。

2.1 大模型时代向量数据库的必要性

大模型通过庞大的语料库训练得出,但这些语料库的数据有一个截止日期,因此它们无法回答关于实时性的问题。例如,如果询问一个已经训练好的大模型“现在中国队在巴黎奥运会上拿了多少块金牌?”它必然是无法回答的。在这种情况下,就需要对大模型提供外部的上下文,让大模型可以理解实时的信息,能够更好的去回答这类问题。

其次,大模型训练的语料一般是从公开渠道获得的,并不能接触到私域数据,因此训练出来的大模型不会具有某个领域的专精知识,从而无法回答相关的问题。对于企业构建知识库应用,数据安全是一个不可忽视的问题,数据不可以随意出域暴露在公网上,这时则需要一个可以在私域部署的提供数据的平台。

最后,训练好的大模型是静态的,不包含长期记忆,例如在聊天机器人场景,用户每次与模型重新对话时,它并不会记住之前的对话历史或会话内容。

image.png

向量数据库帮助大模型更好地满足企业需求

上述大模型面临的局限性问题,都可以通过外部数据检索系统来解决,向量数据库则作为一种重要的解决方案应运而生。 通过 RAG 技术,将最新的信息存储在向量数据库中,通过持久化存储,为模型提供外部知识,提高模型在特定应用场景中的准确性和可用性。此外,还有一种方式是直接对模型进行微调,可以让大模型本身具备一些最新的信息,但其成本要高于使用向量数据库。

2.2 向量计算引擎的核心能力要求

向量数据通常由文字、语音和图像通过内嵌(Embedding)操作转换得来,对于向量数据库来说,如何对海量向量数据进行快速且准确的检索是一个巨大的技术挑战。因此,向量数据库必须采用更高级的技术和算法。

image.png

向量计算引擎的核心能力表现

在海量的向量数据中,如何快速且准确地找到与查询向量最接近的 N 个向量(KNN)是一个关键问题。为此,向量数据库通常使用改进的数据结构(R 树或 M 树等),这些复杂的数据结构能够更有效地组织和存储高维数据,从而提高检索效率。

另外,向量引擎还可以采用近似检索算法(ANN),通过牺牲一定程度的精度,近似检索算法能够大幅提升检索效率,常用的算法包括 IVF、HNSW 等。目前没有一个通用算法能在任意数据集上达到所有指标(recall/qps/内存)均最优,一般都需要做取舍以达到整体平衡。

最后,向量间距离的计算是向量检索的核心操作,与大模型的推理或训练过程类似,即重复进行同样的计算。这类操作非常适合使用 GPU 或 FPGA 进行加速,单纯依赖 CPU 的效率则较低。因此,硬件加速是向量计算引擎不可或缺的能力。

2.3 云原生向量数据库 PieCloudVector

拓数派旗下云原生数据库 PieCloudVector 基于 PostgreSQL 内核打造,支持单机和分布式部署,具备完整的 ACID 特性。PieCloudVector 支持向量标量混合查询,即在同一个表中包含向量列和标量列,可以使用 SQL 对向量列进行 ANN 近似查找,并对标量列进行条件筛选。PieCloudVector 兼容 LangChain、LlamaIndex 等主流大模型应用框架,并对外提供了 SQL/REST/Python 接口。

2.3.1 PieCloudVector 架构特点

PieCloudVector 整体架构由四个主要组件构成:管控服务、元数据服务、计算节点和存储底座。具体如下图所示:

image.png

PieCloudVector 整体架构

PieCloudVector 的计算节点可弹性扩容,具备专用的元数据存储服务,可通过存储底座访问本地文件系统或 S3 或其他数据湖等存储。计算节点默认分为协调器和执行器两个角色,协调器负责接收 SQL 查询,并进行解析和优化,最终将任务分发给执行器,执行器则负责实际的向量搜索操作。

PieCloudVector 支持主流的 ANN 算法, 包括 IVF、HNSW 以及新加入的 ScaNN 和 DiskANN,并支持利用 GPU 进行加速计算,大幅提升性能。整套计算节点服务既可以在裸机上直接部署,也可以部署在带有管控层的平台上,同时也支持在公有云环境进行部署。

PieCloudVector 管控服务是与用户直接进行交互的接口,提供了管控页面和各种 API 接口,在管控服务中可以进行所有向量索引的管理、整个集群的监控、不同集群之间的备份、用户权限管理和数据洞察等操作。

2.3.2 PieCloudVector RAG 工作流程

PieCloudVector 支持 RAG 相关应用能力。 RAG 是一种将检索模型(通常是向量数据库)和生成模型结合在一起的技术,核心思路是使用来自私有数据源的信息来辅助模型生成更为准确的内容。

下面将介绍 PieCloudVector 基于 RAG 技术构建知识库应用的流程:

  • 将现有所有的知识、文档、信息进行整理,通过原始数据解析之后,对其进行切块(块的大小根据实际文档类型进行调整);

  • 通过 Embedding 模型将所有的块转换为向量,并将这些向量存储到 PieCloudVector 中;

  • 为所有的向量建立索引以便后续加速查询。

对于应用使用者,当用户提出问题时,应用会通过同样的 Embedding 模型将问题转换为向量,并在向量数据库中进行向量搜索找到与目标向量相关的所有知识块,然后将这些知识块包含的信息与原问题进行组合形成新的提示词输入给大模型,最终得到质量更高的答案。

image.png

RAG 工作流程

尽管向量搜索在 RAG 中非常有用,但也有其局限性。比如,通过向量搜索得到知识库内容同样会导致结果出现“幻觉”,输出与问题不相关的内容,这种现象可能与 Embedding 模型的选择、切块策略等因素有关。例如,如果切块时将重要信息分成了两块,或是上下文整合时丢失实际语义,还有可能是向量搜索得到的结果无法与提示词良好结合,这些因素都会影响最终生成的回答质量。这也是为什么 PieCloudVector 开始探索新一代 GraphRAG 架构的原因。

2.3.3 PieCloudVector 发展趋势:新一代 GraphRAG 架构

为克服向量 RAG 的局限性,PieCloudVector 将在不久的未来,计划结合向量搜索和图搜索的优势,即采用 GraphRAG 架构。其整体流程如下:

  • 首先, 通过向量或关键词搜索找到一些初始记录,这些记录已经提前整理成知识图谱(Knowledge Graph)。

  • 接着, 从这些初始节点出发,通过图遍历找到与其相关的周边节点,得到更深度的信息;

  • 最终, 结合图搜索得到的深度知识与向量搜索的结果,可以生成更符合用户预期的提示词,从而提升大模型推理的准确性。

3 AIGC 全生命周期管理

对于用户来说,他们更希望企业能够基于用户提供的私域知识、语料库搭建一站式 AIGC 应用。而为了满足这些需求,拓数派提出了大模型数据计算系统 PieDataCS,并支持包括向量数据库 PieCloudVector 、云原生虚拟数仓 PieCloudDB Database、大模型机器学习 PieCloudML 三款计算引擎。

PieDataCS 将整个模型生命周期管理集成在一起,包括模型的创建、训练、质量测试、微调、部署和推理等所有操作,同时整合了多种计算引擎和各种框架,为用户提供了一个完整的解决方案。

image.png

PieDataCS 集成整个模型生命周期

在 AIGC 应用中,模型和框架的能力各占一半。通过 PieDataCS 构建 AIGC 应用的流程可分成两步:

  • 根据现有的知识或语料选择合适的基础大模型,并结合私域数据进行微调,形成垂直大模型。

  • 将模型与周边的框架和工具集成,通过前端程序进行可视化展示,最终形成一个完整的应用。

关于 PieDataCS 的更多信息,欢迎阅读相关文章

拓数派云原生向量数据库 PieCloudVector 凭借其卓越的性能和广泛适用性,已成功在多个行业领域中落地应用。

4 落地案例分享

4.1 某金融客户 AIGC 应用实践

在某金融客户 AIGC 应用的实践中,整个应用基于向量数据库 PieCloudVector 与 LangChain 框架打造,通过 Embedding 模型将收集到的法律法规、政策文件、报告以及各种投研材料等内容转换为向量并存储到 PieCloudVector 中,构建了一个强大的 RAG 框架,最终在前端的应用中可以为用户提供投研分析、量化分析、情绪分析等复杂任务,并实现了问答机器人的功能。

具体案例介绍欢迎参考相关文章

image.png

金融行业案例

02. 联合某高校打造多模态数据分析课程

在另一个案例中,拓数派与某高校联合打造了多模态数据分析的课程。整个数据分析的流程首先是使用 Embedding 模型将各种文本、语音、图片等数据转换为向量,然后通过对外提供的 Python SDK 将这些向量数据一同输入到 PieCloudVector 中,利用 PieCloudVector 强大的向量数据处理和分析能力,最终实现智能推荐、文档检索等功能。

image.png

多模态数据分析课程

PPT 下载

演讲回放

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

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

相关文章

C语言典型例题55

《C程序设计教程(第四版)——谭浩强》 题目: 例题4.7 兔子的繁殖。这是一个有趣的古典问题:有一对兔子,从出生后的第3个月开始起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。假设所有兔子都不死,…

深度解读SGM41511电源管理芯片I2C通讯协议REG08寄存器解释

REG08 是 SGM41511 的第九个寄存器,地址为 0x08。这是一个只读(R)寄存器,用于报告各种状态信息。上电复位值(PORV)为 xxxxxxxx,表示上电时的初始状态是不确定的。这个寄存器提供了充电器当前状态…

HarmonyOS--合理使用页面间转场

一、概述 页面间转场是用户从一个页面切换到另一个页面时的过程,一个无缝流畅的转场动效可以提升用户的交互体验。从主页到详情页、从列表页到结果页都需要去设置一些转场动效使得用户体验更加流畅。基于用户行为和应用设计模式,我们总结出了一些常见的转…

C#/.net core “hello”.IndexOf(“\0”,2)中的坑

先想想看,你认为下面代码返回值是多少? "hello".IndexOf("", 2); "hello".IndexOf("\0", 2); "hello".IndexOf(\0, 2); 今天和大家分享关于.net core中与字符相关的一些奇怪问题。 首先我们先以.N…

Golang | Leetcode Golang题解之第383题赎金信

题目&#xff1a; 题解&#xff1a; func canConstruct(ransomNote, magazine string) bool {if len(ransomNote) > len(magazine) {return false}cnt : [26]int{}for _, ch : range magazine {cnt[ch-a]}for _, ch : range ransomNote {cnt[ch-a]--if cnt[ch-a] < 0 {r…

大模型知识检索RAG业务实践实践(初级篇)

大模型知识检索RAG业务实践实践(初级篇) 1.知识检索大图 大模型是现在一个非常热门的话题,大模型表现出的生成能力也是非常惊艳。但是强如 GPT4 这样的大模型,它在知识更新和幻觉上也会存在问题。比如说我们问互联网行业有什么大事,GPT4 的回答是三年前的内容。主要是说疫…

机械学习—零基础学习日志(如何理解概率论12)

假设检验 假设检验是有一些参数&#xff0c;已知条件&#xff0c;让你检验某种假设是否成立。 我们通过具体的题目来说明&#xff1a; 这里我们需要确认使用什么公式&#xff1a; 使用下面的公式如下图&#xff1a; 题目中&#xff0c;以21作为分界线&#xff0c;所以我们将是…

用manim证明函数的左右极限

http://t.csdnimg.cn/2pVdFhttp://t.csdnimg.cn/2pVdF在上一节的最后两个示例中&#xff0c;我们看到了两个不存在的限制。然而&#xff0c;对于每个例子来说&#xff0c;每个限制不存在的原因是不同的。 我们看一下下面的例子&#xff1a; 极限不存在&#xff0c;因为函数没有…

Redis基本全局命令

文章目录 get和setkeysexistsdelexpirettltype redis全局命令&#xff1a; redis支持很多种数据结构&#xff0c;整体上来说。redis是键值对结构&#xff0c;key固定就是字符串&#xff0c;value实际上就会有很多种&#xff0c;比如说&#xff1a; 字符串哈希表列表有序集合 …

linux系统编程-网络-tcp(29)

C/S B/S P2p模型 在Linux系统编程中&#xff0c;C/S&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09;和B/S&#xff08;Browser/Server&#xff0c;浏览器/服务器&#xff09;模型是两种常见的架构模式&#xff0c;用于构建分布式应用程序。它们在设计和实现上…

C语言 | Leetcode C语言题解之第384题打乱数组

题目&#xff1a; 题解&#xff1a; typedef struct {int* num;int* src;int numsize; } Solution;Solution *obj NULL;Solution* solutionCreate(int* nums, int numsSize) {if (obj ! NULL) {return obj;}Solution *obj (Solution*)malloc(sizeof(Solution));obj->nums…

#C++ 笔记二

四、运算符重载 1.友元 1.1 概念 类实现了数据的隐藏和封装&#xff0c;类的数据成员一般定义为私有成员&#xff0c;仅能通过类的公有成员函数才能进行读写。 如果数据成员定义成公共的&#xff0c;则又破坏了封装性。但是在某些情况下&#xff0c;需要频繁的读写数据成员…

Java 7.3 - 分布式 id

分布式 ID 介绍 什么是 ID&#xff1f; ID 就是 数据的唯一标识。 什么是分布式 ID&#xff1f; 分布式 ID 是 分布式系统中的 ID&#xff0c;它不存在于现实生活&#xff0c;只存在于分布式系统中。 分库分表&#xff1a; 一个项目&#xff0c;在上线初期使用的是单机 My…

2-80 基于matlab-GUI,实现kalman滤波对目标物的位置进行检测跟踪

基于matlab-GUI,实现kalman滤波对目标物的位置进行检测跟踪。检测汽车中心和最大半径&#xff0c;与背景差分选择较大差异的区域进行形态学处理&#xff0c;用冒泡法对目标面积从大到小排序。程序已调通&#xff0c;可直接运行。 2-80 kalman视频跟踪滤波 - 小红书 (xiaohongsh…

光学涡旋Talbot阵列照明器的matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 光学涡旋 Talbot 阵列照明器是一种利用光学涡旋&#xff08;Optical Vortex&#xff09;和 Talbot 效应&#xff08;Talbot Effect&#xff09;相结合的技术&…

【HTML源码】上传即可使用的在线叫号系统源码

这个叫号系统的过程是这样的 接了一个任务&#xff0c;某学校要对学生进行逐个面试&#xff0c;希望能有类似医院门诊那种叫号系统。 条件&#xff1a;首先说硬件&#xff0c;就是教室里边一台笔记本电脑&#xff0c;同屏到教室外面的电视机。 需求&#xff1a;软件需求是可…

汉诺塔递归解决思路图解分析,python代码实现

目录 4.假设四层汉诺塔&#xff0c;n4&#xff0c;利用整体思想分解为两层的情况 3.分解到n3 3.1 分解上面n4时第一个步骤&#xff1a; 3.2 分解上面n4时第三个步骤&#xff1a; 2.继续分解到n2 &#xff08;同理略&#xff09; 1.当分解到n1 python代码 问题&#xff1…

【Linux】升级OpenSSH版本规避远程代码执行漏洞

本文首发于 ❄️慕雪的寒舍 升级OpenSSH版本规避远程代码执行漏洞。 说明 今天早上逛别人的博客的时候看到了这个重磅消息。OpenSSH爆出能远程通过root身份执行任意代码的漏洞&#xff0c;影响版本是 8.5p1 < OpenSSH < 9.8p1&#xff0c;奇安信的报告可以点我查看。 上…

计算机三级网络第4套练习记背

计算机三级网络第4套练习记背

全志/RK安卓屏一体机:医疗自助服务终端,支持鸿蒙国产化

医疗自助服务终端 为了解决传统医疗模式下的“看病难、看病慢”等问题&#xff0c;提高医疗品质、效率与效益&#xff0c;自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一&#xff0c;它通…