大模型应用开发“扫盲”——基于市场某款智能问数产品的技术架构进行解析与学习
本文将从一款问数产品相关技术架构,针对大模型应用开发中的基础知识进行“扫盲”式科普,文章比较适合新手小白,属于是我的学习笔记整理,大佬可以划走啦~产品关键信息已经进行模糊处理,如有侵权请联系删除。
文章目录
- 前言
- 一、智能问数产品的技术架构
- 二、RAG
- 1.什么是RAG
- 2.RAG的关键环节?
- 3.在问数的技术架构中,RAG是怎么发挥作用的?
- 三、知识图谱
- 1.什么是知识图谱?
- 2.知识图谱怎么构建?
- 3.知识图谱怎么发挥作用?
- 三、Agent(智能体)
- 1.什么是Agent?
- 2.智能体的核心公式
- 四、数据湖
- 1.什么是数据湖?和数据库的区别是什么?
- 2.数据湖在我们的架构中发挥什么作用?
- 五、技术架构的整体理解
前言
在数字化浪潮汹涌澎湃的当下,大模型技术如一颗璀璨新星,照亮了诸多行业的创新发展之路。从智能客服到内容创作,从数据分析到科学研究,大模型的应用日益广泛且深入。然而,对于许多刚接触这一领域的朋友来说,大模型应用开发犹如神秘的黑箱,充满未知与困惑。
今天,就让我们以市场上某款智能问数产品的技术架构为切入点,开启一场大模型应用开发的 “扫盲” 之旅。透过剖析其架构细节,一同探寻大模型如何在实际应用中发挥魔力,希望能为大家揭开大模型应用开发的神秘面纱,带来新的启发与思考。
一、智能问数产品的技术架构
智能问数产品是一种利用人工智能技术,实现用户通过自然语言与数据交互的工具 。它能让用户以类似日常对话的方式提问,快速获取数据相关答案,降低数据分析门槛。
通俗的话说,问数就是一种基于大模型语言生成的BI产品!本质功能还是分析报表,但是通过大模型的对话形式!
如图是市场上某款问数产品的相关技术架构(具体细节已经进行脱敏处理),作为一个大模型应用开发的小白,对于图中的许多名词都不够熟悉,自然也就无法理解这个产品的原理、流程。所以今天我就里面的一些名词搜集资料,整理输出如下,希望能帮助大家和自己进行扫盲!
二、RAG
1.什么是RAG
—Retrieval-Augmented Generation,检索增强生成
这是一种结合了信息检索技术与语言生成模型的人工智能技术
该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。
2.RAG的关键环节?
RAG的关键环节就是它的英文全称——检索、增强和生成三个环节。每个环节的含义如下:
检索:检索是RAG流程的第一步,从预先建立的知识库中检索与问题相关的信息。这一步的目的是为后续的生成过程提供有用的上下文信息和知识支撑。
增强:RAG中增强是将检索到的信息用作生成模型(即大语言模型)的上下文输入,以增强模型对特定问题的理解和回答能力。这一步的目的是将外部知识融入生成过程中,使生成的文本内容更加丰富、准确和符合用户需求。通过增强步骤,LLM模型能够充分利用外部知识库中的信息。
生成:生成是RAG流程的最后一步。这一步的目的是结合LLM生成符合用户需求的回答。生成器会利用检索到的信息作为上下文输入,并结合大语言模型来生成文本内容。
一句话概括RAG的作用就是:从知识库中检索到的问答对,增强LLM的提示词(prompt),LLM拿着增强后的Prompt生成问题答案。
3.在问数的技术架构中,RAG是怎么发挥作用的?
如图
我们的技术架构中,是基于RAG 把知识库中的元数据、行业知识、知识图谱等 通过检索 增强 生成 从而赋能到我们的LLM模型中来 让大语言模型掌握行业相关的知识、数据等。
三、知识图谱
1.什么是知识图谱?
是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系。
知识图谱通过对错综复杂的文档的数据进行有效的加工、处理、整合,转化为简单、清晰的“实体,关系,实体”的三元组,最后聚合大量知识,从而实现知识的快速响应和推理。下图就是一个知识图谱的例子:
2.知识图谱怎么构建?
知识图谱的构建过程如图:
从原始的数据到构造成知识图谱,经历了信息抽取、知识融合与知识加工三个模块
信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;
知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等;
知识加工:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。
上面三个模块又拆分有小模块
信息抽取:实体抽取 关系抽取 属性抽取
知识融合:实体链接 知识合并
知识加工:本体抽取、知识推理、质量评估
每个小模块的含义比较好理解了,这里不再展开。
3.知识图谱怎么发挥作用?
在深度问答应用中,系统同样会首先在知识图谱的帮助下对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化成结构化形式的查询语句,然后在知识图谱中查询答案。比如,如果用户提问:『如何判断是否感染了埃博拉病毒?』,则该查询有可能被等价变换为『埃博拉病毒的症状有哪些?』,然后再进行推理变换,最终形成等价的三元组查询语句,如(埃博拉,症状,?)和(埃博拉,征兆,?)等。如果由于知识库不完善而无法通过推理解答用户的问题,深度问答系统还可以利用搜索引擎向用户反馈搜索结果,同时根据搜索结果更新知识库,从而为回答后续的提问提前做出准备。
在我们的架构中,知识图谱应该是作为一种资料包,通过RAG喂给大模型。
三、Agent(智能体)
1.什么是Agent?
Agent 本质是能够协助我们完成既定任务的实体。
我们可以理解为是一个智能助手,只需要我们给出任务,他就可以自己作出决策并执行的智能助手。
在没有智能体之前,我们先考虑一个场景:我们需要写一篇智能体的科普文
第一步:先打开搜索引擎搜索一些相关书籍相关文章来进行阅读,打开我们的思路。
第二步:参考了大量的书籍和文章后,形成自己的思路,创建文章的大纲。
第三步:针对我们的大纲,对每个段落进行编写,编写过程中不断调整。
第四步:编写之后需要对文章进行排版,对文章进行校对,也需要对前文进行修改。
第五步:写完之后,找朋友帮忙看看,预览一下,看下有什么问题,不合理的地方进行修改。
第六步:冥思苦想一个容易爆火的标题,增加浏览量。
没有智能体前,我们要不就是人工处理,每一步都人工去做,要么写一段提示词,让大模型进行信息整理,写大纲,写章节,起标题,并进行修改。
但是单独使用大模型有以下缺点:
我们需要用不同的提示词来完成不同的任务。
大模型没有记忆能力,有上下文限制。
提示词会非常复杂,不利于维护。
所以我们使用智能体来解决上述问题
2.智能体的核心公式
Agent(智能体)=LLM(大模型)+ Planning(规划)+Memory(记忆)+ Tools(工具)
(当然我看不同资料对于这个公式/模块组成的说法不一 我选择了符合我们架构图的公式)
具体来说,这三个能力(组成)部分的定义为:
规划能力:
智能体会把大型任务分解为子任务,并规划执行任务的流程;智能体能体会对任务执行的过程进行思考和反思,从而决定是继续执行任务,或判断任务完结并终止运行。
比如写作流程,收集、写大纲,写章节等等,俗称工作流。
记忆能力:
短期记忆:执行任务过程中的上下文,会在子任务的执行过程产生和暂存,在任务完结后被清空。
长期记忆:长时间保留的信息,一般是指外部知识库。
使用工具能力:
为智能体配备工具 API,比如:计算器、搜索工具、代码执行器、数据库查询工具等。有了这些工具 API,智能体就可以和物理世界交互,解决实际的问题。
在我们的技术架构中,可能会被智能体调用的工具有如图三种
具体每个能力可以用什么方式(技术)来实现,这些文章有简单总结,也有许多论文有关,如果有需要会继续深入学习:
大模型LLM | Agent技术解读之Planning(规划)模块:什么是Planning?LLM Planning方法-CSDN博客
Agent技术解读:Memory记忆模块 - 知乎
四、数据湖
1.什么是数据湖?和数据库的区别是什么?
数据湖是一种存储数据的系统或存储库,它可以存储大量原始数据,这些数据可以是结构化(如关系型数据库中的表格数据)、半结构化(如 JSON、XML 格式的数据)或非结构化(如文本文件、图像、音频、视频等)数据。数据湖通常以对象存储的方式存储数据,它就像是一个可以容纳各种类型数据的 “大容器”。数据湖存储各种各样形式的原始数据。
数据存储后可进行多种处理,主要用于数据分析、机器学习等场景,存储成本低,读写性能相对较低。
数据库主要存储结构化数据,按照预定义模式组织,用于高效存储和检索与特定业务相关的数据,支持日常业务操作,读写性能高,但存储成本可能较高。数据湖和数据库在数据存储方式、结构、处理方式、用途、性能及成本等方面存在区别。
2.数据湖在我们的架构中发挥什么作用?
很直观的 数据湖提供模型学习的元数据(也对应知识库中的元数据)
五、技术架构的整体理解
所以我们的智能问数的技术架构到底是怎么样的?尤其是各组件之间的关系是咋样的?
首先归纳一下各个组件的功能:
组件 | 功能 |
---|---|
数据湖 | 系统底层基础,存储计划管理、生产运行、能源管理、安全环保和原油管理等各类数据,为知识库提供元数据支持 |
知识库(基于RAG技术构建) | 基于 RAG (检索增强生成)技术构建,包含元数据、行业知识和知识图谱,存储和管理经处理的结构化与非结构化数据。RAG会增强prompt来提升Agent的生成质量。 |
AI 智能问数 Agent | 核心功能模块,具规划、记忆、使用工具能力,基于知识库检索信息,结合用户问题,根据任务的需要调用 LLM(如架构图中的deepseek等)生成答案,可调用工具集功能配合完成复杂任务。 |
工具集 | 包含知识搜索、数据计算、图表生成等功能,Agent的Tools模块调用对应工具来完成复杂任务。 |
WebUI 数据可视化组件 | 及时展示智能体生成的答案结果到前端,以直观方式呈现数据,与用户进行交互 |
然后梳理一下 整个系统的运作流程可以概括为以下步骤: