【智能体】| 知识库、RAG概念区分以及智能体是什么

文章目录

前言

我相信很多朋友使用智能体目的,除了AI对话以外,还想建立自己的知识库,让AI能结合自己提供的资料生成更有针对性的回答。

这是一个很自然、也很美好的想法。但是,不少人上手操作以后却发现,效果根本不是自己想象的那样。

这就是本文将要探讨的问题。

很多人想象的"AI+知识库",是自己把搜集整理的资料一股脑丢进知识库,等到自己提问的时候,AI会把里面的内容认真通读一遍,从中搜集相关内容,再综合分析思考、输出一个非常完美的答复。

No,根本不是这样的!

有些人以为,自己把一堆的数据表格扔进知识库,AI会进行专业的统计分析,当自己问到某个数据,AI会对答如流,准确无误。

No,也不是这样的!

这里请记住一个知识点:你放进知识库的所有原始资料,AI(不限于DeepSeek)根本接触不到!

AI能接触到的,仅仅是可能与你的问题有关的、极少一部分的资料片段。

简介

首先明确一些基础概念,才能帮助我们理解后续的操作

2023年,检索增强型生成(RAG)技术占据了主导地位

2024年,智能体工作流程开始出现。

使用AI智能体为构建更强大的、健壮的、多功能的大型语言模型(LLM)驱动的应用开辟了新的可能性。其中一个可能性是在智能体RAG流程中增强RAG流程中的AI智能体。

大模型"幻觉"问题

在探讨RAG技术的必要性之前,我们首先需要理解大模型中有名的"幻觉"问题。

所谓"幻觉",是指大模型在试图生成内容或回答问题时,输出的结果并不完全正确,甚至会有错误,即通常所说的"一本正经地胡说八道"。因此,「这种"幻觉"可以提现在对事实的错误陈述与编造、错误的复杂推理或在复杂语境下处理能力不足等。」

而产生这种"幻觉"的主要原因是:

  • 训练知识存在偏差」:在训练大模型时输入的海量知识可能包含错误、过时,甚至带有偏见的信息。这些信息在被大模型学习后,就可能在未来的输出中被重现。
  • 过度泛化地推理」:大模型尝试通过大量的语料来学习人类语言的普遍规律与模式,这可能导致"过度泛化"的现象,即把普通的模式推理用到某些特定场景,就会产生不准确的输出。
  • 理解存在局限性」:大模型并没有真正"理解"训练知识的深层含义,也不具备人类普遍的常识与经验,因此可能会在一些需要深入理解与复杂推理的任务中出错。
  • 缺乏特定领域的知识 」:通用大模型虽然掌握了大量人类通用知识且具备超强的记忆与推理能力,但可能不是某个垂直领域的专家(比如医学或者法律专家)。当面临一些复杂度较高的领域性问题或私有知识相关的问题时(比如介绍企业的某个新产品),它就可能会编造信息并将其输出。
    除了"幻觉"问题,大模型还可能存在知识落后、输出难以解释、输出不确定等问题。

这也决定了大模型在大规模商业生产应用中面临着挑战:很多时候,我们不仅需要大模型具备理解力和创造力,还需要极高的准确性。

例如,在金融风险评估、医疗诊断、法律咨询等领域,任何错误的输出都可能导致严重的后果。因此,解决"幻觉"问题是提升大模型实际应用价值的关键。

如何解决"幻觉"问题?

如何解决"幻觉"问题基本思想可以简单表述如下:

将传统的生成式大模型与实时信息检索技术相结合,为大模型补充来自外部的相关数据与上下文,以帮助大模型生成更丰富、更准确、更可靠的内容。这允许大模型在生成内容时可以依赖实时与个性化的数据与知识,而不只是依赖训练知识。

这也就是RAG(Retrieval-Augmented Generation,检索增强生成)技术诞生的目的,正是为了尽可能解决大模型在实际应用中面临的一些问题,特别是"幻觉"问题而诞生的。

换句话说,RAG给大模型增加了一个可以快速查找的知识外挂,使得它在面对特定问题时能够参考最新的、权威的信息源,从而减少错误输出和"幻觉"的发生。

RAG、智能体、RAG智能体概念

什么是检索增强型生成(RAG)

检索增强型生成(RAG)是一种构建LLM驱动应用的技术。它利用外部知识源为LLM提供相关上下文,减少幻觉现象。

一个简单的RAG流程包括一个检索组件(通常由一个嵌入模型和一个向量数据库组成)和一个生成组件(一个LLM)。在推理时,用户查询用于在索引文档上运行相似性搜索,检索与查询最相似的文档,并为LLM提供额外的上下文。

RAG模型的技术架构可以分为两个主要模块:检索模块(Retriever)和生成模块(Generator)

典型的RAG应用有两个相当大的局限性:

  • 简单的RAG流程只考虑一个外部知识源。然而,一些解决方案可能需要两个外部知识源,一些解决方案可能需要外部工具和API,例如网络搜索。

  • 它们是一次性解决方案,这意味着上下文只检索一次。没有对检索到的上下文的质量进行推理或验证。

为了更进一步帮助我们理解RAG的概念,举个例子。

如果把大模型比喻成一个经过大量医学知识与治疗技能训练的优秀学生,大模型响应的过程比喻成一场医学考试,那么这个学生在考试时仍然可能会对某些最新的治疗方法并不熟悉,他可能会根据自己的记忆和推理能力编造答案(即"幻觉"),导致错误。 而RAG会从最新的医学文献中检索相关信息,并提供给学生作为参考。这样,学生就可以基于最新的专业知识来回答问题,避免了"幻觉",提高了答题的准确性和可靠性。

模拟简单的RAG场景

假如你需要开发一个在线的自助产品咨询工具,允许客户使用自然语言进行交互式的产品问答,比如"请介绍一下您公司这款产品与××产品的不同之处"。为了让客户有更好的体验,你决定使用大模型来构造这样的咨询功能并将其嵌入公司的官方网站。如果你直接使用通用大模型,那么结果很可能如下所示。

复制代码
「用户提问:」

请介绍小麦公司的最新手机产品小麦Pro与iPhone有什么区别?

不出意外,大模型显然不具备贵公司的最新手机产品知识,因此无法回答客户的问题(有时候可能会尝试编造答案)。现在,如果你使用RAG的思想,那么可以先从企业私有的知识库中「检索出下面一段相关的补充知识」:

复制代码
小麦Pro手机参数简览:

系统:安卓最新版本
处理器:高性能八核处理器
显示屏:6.7英寸AMOLED全面屏,2K分辨率
后置摄像头:主摄像头6400万像素,四摄系统
前置摄像头:3200万像素,AI美颜、HDR功能
内存与存储:最高可选12GB运行内存,最高512GB存储空间
电池:5000mAh大容量电池,支持快速充电
网络:支持5G网络,Wi-Fi6,蓝牙5.2
其他特性:IP68防水防尘,面部识别和指纹识别解锁 小麦Pro以其强大的性能、清晰的显示效果、出色的摄像能力以及长久续航等特点,为用户提供优质的手机体验。

你再把检索出的补充知识组装到提示词中,将其输入大模型,并要求大模型基于提供的知识来回答你的问题。大模型很聪明地"吸收"了补充的外部知识,并结合自己已经掌握的知识,成功推理并给出了答案:

复制代码
「RAG增强后的回答:」
小麦Pro手机与iPhone12之间的主要区别可以从以下几个方面来比较:

操作系统:

小麦Pro采用安卓最新版本作为操作系统,而iPhone12运行的是苹果自家的iOS操作系统。这意味着两者的用户界面、应用生态系统、功能和定制性可能会有所不同。 处理器性能:
小麦Pro配备了一款高性能的八核处理器,而iPhone12搭载了苹果自家设计的A14仿生芯片。尽管具体的性能表现可能需要进行实际测试来比较,但两者都应该能够提供流畅的用户体验。 显示屏:
小麦Pro采用了6.7英寸的AMOLED全面屏,分辨率达到了2K级别,而iPhone12则配备了6.1英寸的屏幕。 其他特性:
小麦Pro拥有更大的电池容量(5000mAh),支持更快的充电速度,并且具备更高的防水防尘等级(IP68)。

AI系统中的智能体是什么

随着LLM的流行,AI智能体和多智能体系统的新范式已经出现。AI智能体是具有角色和任务的LLM,它们可以访问内存和外部工具。LLM的推理能力帮助智能体规划所需的步骤并采取行动来完成手头的任务。

因此,AI智能体的核心组件包括:

  • LLM(具有角色和任务)

  • 内存(短期和长期)

  • 规划(例如,反思、自我批评、查询路由等)

  • 工具(例如,计算器、网络搜索等)

一个流行的框架是ReAct框架。ReAct智能体可以在保持状态(在内存中)的同时处理顺序多部分查询,通过将路由、查询规划和工具使用结合为一个单一实体。

复制代码
ReAct = 推理 + 行动(使用LLM)

这个过程包括以下步骤:

  • 思考:在接收到用户查询后,智能体推理下一步行动

  • 行动:智能体决定行动并执行它(例如,工具使用)

  • 观察:智能体观察行动的反馈

这个过程一直迭代,直到智能体完成任务并响应用户。

什么是Agentic RAG?

Agentic RAG描述了基于AI智能体实现的RAG。具体来说,它将AI智能体纳入RAG流程中,以协调其组件并执行超出简单信息检索和生成的额外行动,以克服非智能体流程的局限性。

复制代码
Agentic RAG描述了基于AI智能体实现的RAG。

Agentic RAG如何工作?

尽管智能体可以被纳入RAG流程的不同阶段,智能体RAG最常用于检索组件中的智能体

具体来说,检索组件通过使用具有访问不同检索工具的检索智能体而变得智能体化,例如:

向量搜索引擎(也称为查询引擎),它在向量索引上执行向量搜索(像典型的RAG流程中一样)

  • 网络搜索

  • 计算器

  • 任何用于以编程方式访问软件的API,例如电子邮件或聊天程序

然后RAG智能体可以在以下示例检索场景中进行推理和行动:

  • 决定是否检索信息

  • 决定使用哪个工具检索相关信息

  • 制定查询本身

  • 评估检索到的上下文,并决定是否需要重新检索。

Agentic RAG架构

与顺序的简单RAG架构相比,智能体RAG架构的核心是智能体。智能体RAG架构可以有不同程度的复杂性。在最简单的形式中,单智能体RAG架构是一个简单的路由器。然而,你也可以将多个智能体添加到多智能体RAG架构中。

Agentic RAG与(普通)RAG

虽然RAG(发送查询、检索信息、生成响应)的基本概念保持不变,但工具使用扩展了它,使其更加灵活和强大。

可以这样想:普通的(普通)RAG就像在图书馆(在智能手机出现之前)回答一个具体问题。另一方面,智能体RAG就像手中有一部带有网络浏览器、计算器、电子邮件等的智能手机。

知识库基本原理

上一章节对常见的概念进行了阐述,不同的概念之下工作原理还是有些不同,但万变不离其宗,下面我们就要来探究上述概念中的一个关键环节------知识库,大部分内容其实是重复了上一章节,但是侧重点不同,帮助更好理解

知识库在RAG中流程

传统的生成模型往往依赖于模型自身的生成能力,而RAG技术则通过引入外部信息,不仅缓解了生成模型常有的幻觉问题,还提高了响应的准确性。这使得RAG技术在生成任务中表现出更高的灵活性和针对性。同时,知识库RAG技术的上下文感知能力更强,更擅长处理复杂任务,适用于不同领域的垂直和专有数据。

如果你想用好知识库,就一定要搞明白知识库的基本原理和工作流程,也就一定要搞明白下面这张图。

这个流程图虽然看起来有一点复杂,但是逻辑关系非常清晰,下面我会尽量用简单易懂的方式,给你解释清楚。

这张图从上到下被虚线分为三部分:

原始资料的处理过程

在第一行里,当用户把各种原始资料添加进知识库里,会有程序首先进行预处理,对它们提取有用的文本内容,剔除没用的干扰信息,然后把它们拆分成无数个文本块(chunk)。

你可以类比为把一整本的书,拆分成了一段一段(甚至于一句一句)的内容。

这些文本块被添加进(嵌入)向量数据库的时候,会被嵌入模型进行向量化。也就是把原来的文本片段,通过算法变成了一个超级长的数字序列,就像这样的:

复制代码
[-0.023 0.145 -0.067 0.098 0.032 0.124  -0.012 ...]

假如嵌入模型是1024维,那么每个片段都会被转换成一个包含1024个数值的向量。

然后,最终被存进向量数据库的,不单单是无数个这样向量值,还有它们所对应的文本块内容。

在这一步请认真思考:什么样的资料适合被拆分?哪些资料不适合?

用户问题的处理过程

在流程图第二行里可以看到,用户提出的问题,并不是直接就到了大模型那里,而是先要嵌入进行向量化处理,也会变成一个包含1024个数值的向量。

然后,把它拿到向量数据库进行相似匹配

请注意:这里匹配的不是文字内容,而是通过算法对完全由数字组成的向量进行一一匹配。

通过大量快速的向量匹配,最终在向量库里筛选出了一些(极少量)匹配度比较高的向量。知识库再调出这些向量对应的的片段原文,也就是最有可能和用户的问题相关的文本片段。

回复内容的生成过程

在流程图的第三行,才是大模型真正开始回答问题的过程。

从向量数据库里调出的片段原文,再加上用户的问题原文,合并在一起提交给大模型(DeepSeek)以后,它会结合这些信息,以及自己训练的数据,进行综合的分析推理,最终生成回复内容给用户。

这一步请注意两个问题:图中原始资料和大模型之间的距离有多远?知识库中的那么多资料,大模型最终获取到的有多少?

向量化知识库

向量化知识库的核心步骤

向量化知识库本质上是优化检索和信息组织的方式,它通过语义向量化(Embedding)技术,将文本内容转换成数学向量存储在向量数据库(Vector Database) 中,便于大模型进行高效查询和匹配。

简单来说,它的核心作用是:

  • 突破 LLM 训练时间点的限制,让 AI 能够访问新信息。

  • 优化 Prompt 长度,减少无关内容,降低 Token 费用。

  • 节省计算资源,相比直接传输完整文档,更节省算力。

与其把整个知识库硬塞进 LLM 的 Prompt,不如用向量化检索先找到最相关的内容,再让 LLM 进行推理,从而提高回答的质量和准确性。

向量化知识库的核心步骤

1、文本向量化(Embedding)

将文本转换成向量的方式,通常使用 Embedding 模型(如 OpenAI ada-002、BGE、M3E)进行语义编码,把每段文本映射到高维向量空间。

复制代码
示例:
"员工必须每年接受一次安全培训" → [0.34, -0.12, 0.87, ...]

2、存储到向量数据库

存储到 FAISS、Milvus、Weaviate 等向量数据库中,以支持高效的相似度检索。

3、用户提问向量化 + 语义匹配

当用户提问时,系统会:

复制代码
将问题转换为向量。

在向量数据库中进行语义搜索,匹配最相关的文本。

返回最高相似度的几个片段。

4、结合 LLM 生成答案(RAG)

将检索到的知识片段拼接到 Prompt,然后让 LLM 综合推理,生成最终答案。

复制代码
示例:

知识库信息:
- [条目 1] 员工需每年接受一次安全培训。
- [条目 2] 2024 年政策:新增远程办公选项。
 
用户问题:
"员工安全培训的要求是什么?"
 
请根据以上知识回答:

LLM 生成答案:

复制代码
根据公司规定,所有员工每年必须完成一次安全培训,以确保工作环境的安全性。

搜索引擎与向量化知识库的关系

实际上,调用搜索引擎(如 Google/Bing)也是类似的:

  • 用户提问 → 通过 API 调用搜索引擎。

  • 搜索引擎返回最相关的页面内容。

  • 向量化搜索引擎的返回结果,进行筛选、去重。

  • 将处理后的搜索结果拼接到 Prompt,LLM 进行最终回答。

这使得 AI 既能访问最新网络信息,又能结合私有知识库,形成一个强大的实时动态知识体系。

相关推荐
Sunday_ding1 小时前
NLP 与常见的nlp应用
人工智能·自然语言处理
一ge科研小菜鸡1 小时前
当下主流 AI 模型对比:ChatGPT、DeepSeek、Grok 及其他前沿技术
人工智能
ai产品老杨2 小时前
全流程数字化管理的智慧物流开源了。
前端·javascript·vue.js·人工智能·安全
mzgong2 小时前
图像分割的mask有空洞怎么修补
人工智能·opencv·计算机视觉
一面千人2 小时前
从零开始:基于 PyTorch 的图像分类模型
pytorch·深度学习·cnn·图像分类·模型优化·cifar-10·调试经验·前沿趋势
墨绿色的摆渡人2 小时前
pytorch小记(十二):pytorch中 masked_fill_() vs. masked_fill() 详解
人工智能·pytorch·python
迷鹿鹿鹿鹿鹿3 小时前
【基于深度学习的验证码识别】---- part3数据加载、模型等API介绍(1)
人工智能·pytorch·爬虫·深度学习
scdifsn3 小时前
动手学深度学习11.9. Adadelta-笔记&练习(PyTorch)
pytorch·笔记·深度学习·优化器·adadelta算法
QBorfy3 小时前
08篇 AI从零开始 - LangChain学习与实战(5) 基于RAG开发问答机器人
前端·人工智能·deepseek
赛卡4 小时前
Python直方图:从核密度估计到高维空间解析
开发语言·人工智能·python·matlab