全球 AGI(人工通用智能)市场快速增长的背景下,企业应用成为推动这一领域发展的主要力量,企业如何选择合适的技术来支撑其智能化转型显得尤为重要。在墨天轮《数据库技术如何增强 AI 大模型?》数据库沙龙活动中,拓数派向量数据库负责人邱老师分享了向量数据库 PieCloudVector 在增强 AI 大模型方面的技术成果。
如今,大模型应用正以前所未有的速度改变着各个行业。从自然语言处理、计算机视觉到多模态任务的解决方案,AI 技术已经成为推动业务创新的核心力量。
然而,大模型的训练和推理需要处理大量高维度的向量数据,传统数据库在面对这些需求时往往力不从心。为应对这一挑战,向量数据库应运而生,本文将介绍 PieCloudVector 如何利用其独特的云原生架构和强大的向量处理能力助力 AI 大模型释放全部潜力。
1 国内 AGI 发展趋势
1.1 国内 AGI 市场分层
中国 AGI 市场自下而上分为基础设施层、模型层、中间层和应用层,这四层结构共同构成了中国 AGI 市场的技术框架。
国内 AGI 市场分层
最底层的基础设施层是 AI 应用的支柱,它提供硬件、算力和网络支持,任何 AI 应用都离不开这些技术;在基础设施层之上,核心模型的研发是重中之重,所有 AI 应用都围绕某个大模型构建,而模型的训练和能力直接影响着 AGI 应用的实际效能;进一步往上,是围绕模型提供的各种框架、工具、微调能力,它们为实际 AI 落地搭建了一个桥梁;最后的应用层面则是直面用户业务、解决具体问题的地方。
1.2 AI Agent 推动 AI 迅速发展
最近,AI 领域的一大热点是“AI Agent”,它正逐渐成为探索的核心路径。单一的大模型只能生成文字或图片,实际能够落地应用的方向比较有限。Agent 的目的旨在让大模型根据用户设定的目标,通过与周围环境交互、使用可访问的数据、调用接口和各种辅助工具,使大模型能够独立完成某些原本需要人工介入的任务,它的发展方向是深入垂直行业,通过明确和精细的任务范围来提高实现效果。
目前,Agent 应用已经相当普遍,比如智能手机上的语音助手就是一种 Agent 的具体表现形式。
Agent的概念与应用
2 云原生向量数据库 PieCloudVector
拓数派云原生向量数据库 PieCloudVector 是大模型时代的分析型数据库升维,可助力多模态大模型 AI 应用,进一步实现海量向量数据存储和高效查询,帮助基础模型在场景 AI 的快速适配和二次开发,是大模型应用必备。
2.1 大模型时代向量数据库的必要性
大模型通过庞大的语料库训练得出,但这些语料库的数据有一个截止日期,因此它们无法回答关于实时性的问题。例如,如果询问一个已经训练好的大模型“现在中国队在巴黎奥运会上拿了多少块金牌?”它必然是无法回答的。在这种情况下,就需要对大模型提供外部的上下文,让大模型可以理解实时的信息,能够更好的去回答这类问题。
其次,大模型训练的语料一般是从公开渠道获得的,并不能接触到私域数据,因此训练出来的大模型不会具有某个领域的专精知识,从而无法回答相关的问题。对于企业构建知识库应用,数据安全是一个不可忽视的问题,数据不可以随意出域暴露在公网上,这时则需要一个可以在私域部署的提供数据的平台。
最后,训练好的大模型是静态的,不包含长期记忆,例如在聊天机器人场景,用户每次与模型重新对话时,它并不会记住之前的对话历史或会话内容。
向量数据库帮助大模型更好地满足企业需求
上述大模型面临的局限性问题,都可以通过外部数据检索系统来解决,向量数据库则作为一种重要的解决方案应运而生。 通过 RAG 技术,将最新的信息存储在向量数据库中,通过持久化存储,为模型提供外部知识,提高模型在特定应用场景中的准确性和可用性。此外,还有一种方式是直接对模型进行微调,可以让大模型本身具备一些最新的信息,但其成本要高于使用向量数据库。
2.2 向量计算引擎的核心能力要求
向量数据通常由文字、语音和图像通过内嵌(Embedding)操作转换得来,对于向量数据库来说,如何对海量向量数据进行快速且准确的检索是一个巨大的技术挑战。因此,向量数据库必须采用更高级的技术和算法。
向量计算引擎的核心能力表现
在海量的向量数据中,如何快速且准确地找到与查询向量最接近的 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 整体架构由四个主要组件构成:管控服务、元数据服务、计算节点和存储底座。具体如下图所示:
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 模型将问题转换为向量,并在向量数据库中进行向量搜索找到与目标向量相关的所有知识块,然后将这些知识块包含的信息与原问题进行组合形成新的提示词输入给大模型,最终得到质量更高的答案。
RAG 工作流程
尽管向量搜索在 RAG 中非常有用,但也有其局限性。比如,通过向量搜索得到知识库内容同样会导致结果出现“幻觉”,输出与问题不相关的内容,这种现象可能与 Embedding 模型的选择、切块策略等因素有关。例如,如果切块时将重要信息分成了两块,或是上下文整合时丢失实际语义,还有可能是向量搜索得到的结果无法与提示词良好结合,这些因素都会影响最终生成的回答质量。这也是为什么 PieCloudVector 开始探索新一代 GraphRAG 架构的原因。
2.3.3 PieCloudVector 发展趋势:新一代 GraphRAG 架构
为克服向量 RAG 的局限性,PieCloudVector 将在不久的未来,计划结合向量搜索和图搜索的优势,即采用 GraphRAG 架构。其整体流程如下:
-
首先, 通过向量或关键词搜索找到一些初始记录,这些记录已经提前整理成知识图谱(Knowledge Graph)。
-
接着, 从这些初始节点出发,通过图遍历找到与其相关的周边节点,得到更深度的信息;
-
最终, 结合图搜索得到的深度知识与向量搜索的结果,可以生成更符合用户预期的提示词,从而提升大模型推理的准确性。
3 AIGC 全生命周期管理
对于用户来说,他们更希望企业能够基于用户提供的私域知识、语料库搭建一站式 AIGC 应用。而为了满足这些需求,拓数派提出了大模型数据计算系统 PieDataCS,并支持包括向量数据库 PieCloudVector 、云原生虚拟数仓 PieCloudDB Database、大模型机器学习 PieCloudML 三款计算引擎。
PieDataCS 将整个模型生命周期管理集成在一起,包括模型的创建、训练、质量测试、微调、部署和推理等所有操作,同时整合了多种计算引擎和各种框架,为用户提供了一个完整的解决方案。
PieDataCS 集成整个模型生命周期
在 AIGC 应用中,模型和框架的能力各占一半。通过 PieDataCS 构建 AIGC 应用的流程可分成两步:
-
根据现有的知识或语料选择合适的基础大模型,并结合私域数据进行微调,形成垂直大模型。
-
将模型与周边的框架和工具集成,通过前端程序进行可视化展示,最终形成一个完整的应用。
关于 PieDataCS 的更多信息,欢迎阅读相关文章 。
拓数派云原生向量数据库 PieCloudVector 凭借其卓越的性能和广泛适用性,已成功在多个行业领域中落地应用。
4 落地案例分享
4.1 某金融客户 AIGC 应用实践
在某金融客户 AIGC 应用的实践中,整个应用基于向量数据库 PieCloudVector 与 LangChain 框架打造,通过 Embedding 模型将收集到的法律法规、政策文件、报告以及各种投研材料等内容转换为向量并存储到 PieCloudVector 中,构建了一个强大的 RAG 框架,最终在前端的应用中可以为用户提供投研分析、量化分析、情绪分析等复杂任务,并实现了问答机器人的功能。
具体案例介绍欢迎参考相关文章 。
金融行业案例
02. 联合某高校打造多模态数据分析课程
在另一个案例中,拓数派与某高校联合打造了多模态数据分析的课程。整个数据分析的流程首先是使用 Embedding 模型将各种文本、语音、图片等数据转换为向量,然后通过对外提供的 Python SDK 将这些向量数据一同输入到 PieCloudVector 中,利用 PieCloudVector 强大的向量数据处理和分析能力,最终实现智能推荐、文档检索等功能。
多模态数据分析课程