RAG 已经成为 LLM 大语言模型在企业落地的最佳方案,其中主要是因为 RAG 能够解决幻觉问题、时效性问题以及数据安全问题。

  • 解决幻觉问题

    LLM 文本生成的底层原理是基于概率的 token by token 的形式,因此会不可避免地

    产生“一本正经的胡说八道"的情况。比如:你说,”博物馆下周一开门吗?“,很有可能给你回复:”开门”,到时候就是白跑一趟了。
  • 解决时效性问题

    LLM 的规模越大,大模型训练的成本越高,周期也就越长。那么具有时效性的数据也就无法参与训练,所以也就无法直接回答时效性相关的问题,例如“帮我推荐几部热映的电影?”
  • 解决数据安全问题

    通用 LLM 没有企业内部数据和用户数据,那么企业想要在保证安全的前提下使用 LLM,最好的方式就是把数据全部放在本地,企业数据的业务计算全部在本地完成。而在线的大模型仅仅完成一个归纳的功能。

一、RAG 检索增强生成技术

“Retrieval-Augmented Generation” 的缩写,中文可以翻译为“检索增强生成”。这是一种结合了检索(Retrieval)和生成(Generation)的自然语言处理技术,用于提高语言模型在特定任务上的性能和准确性。在加上一个数据向量和索引的工作,我们对RAG就可以总概方式地理解为“ 索引、检索和生成 ”。

  • 索引(Indexing):

    将外部知识源(如文档、文章或数据库)转换为一种便于快速检索的结构化形式,并通过向量化(embedding)来实现。
  • 检索(Retrieval):

    在这个阶段,模型会从预先构建的大规模数据集中检索出与当前任务最相关的信息。这些数据集可以是文档、网页、知识库等。
  • 生成(Generation):

    在检索到相关信息后,模型会使用这些信息来生成答案或完成特定的语言任务。这个阶段通常涉及到序列生成技术,如基于Transformer的模型。

二、RAG的优势以及适用场景

  • 知识增强:通过检索外部知识源,生成模型可以访问更多信息,从而生成更准确的回答。
  • 可解释性:检索到的文档片段可以作为生成回答的依据,提高模型的可解释性。
  • 动态更新:外部知识源可以随时更新,而无需重新训练生成模型。

三、RAG 检索增强生成技术实现流程及最佳落地方案 MaxKB 的 RAG 原理解析

基于 RAG 的检索增强生成技术详细实现流程,我们可以逐一看下基于MaxKB ,一款基于大语言模型和RAG技术的开源知识库问答系统,是如何在企业落地大语言模型的外挂 RAG 技术,以下分为九点一一详细介绍:

3.1 基于 RAG 的 MaxKB 设计一:MaxKB 知识库文档管理

  1. 支持本地文档、Web 网站知识库文档。
  2. 支持 TXT、Markdown、PDF、DOCX、HTML、XLS、XLSX、CSV、ZIP等文档,同时支持表格数据以及 QA 问答等文档数据直接导入。

3.2 基于 RAG 的 MaxKB 设计二:MaxKB 文档智能化处理

  1. 支持智能文档分段:不了解如何设置分段规则时可使用智能分段;
  2. 支持高级分段:用户可根据文档规范自行设置分段标识符、分段长度及清洗规则;
  3. 支持导入时添加分段标题为关联问题:适用于标题为问题的问答对。

2.3 基于 RAG 的 MaxKB 设计三:MaxKB 支持自定义向量模型

  1. MaxKB 内置向量模型模型为 Text2vec-base-Chinese
  2. 支持自定义添加本地和公有向量模型;
  3. 目前支持公有模型包含阿里云百炼、Amazon Bedrock、Azure OpenAI、Gemini、OpenAI、SILICONFLOW、腾讯混元、千帆大模型、讯飞星火等,本地向量模型包含Ollama、Xorbits Inference等。

3.4 基于 RAG 的 MaxKB 设计四:用户提问问题优化完善

  1. 支持工作流编排增加问题优化节点;
  2. 支持语音提问以及表单搜集、文件上传等补充完善提问;
  3. 支持设置提问角色以及提示词并能够基于大语言模型进行问题优化;
  4. 支持将优化后的问题输出到知识库检索;
  5. 支持通过函数获取更多信息补充完善问题。

3.5 基于 RAG 的 MaxKB 设计五:支持向量数据库检索参数自定义

1、支持向量数据库检索自定义设置检索模式:向量检索、全文检索、混合检索;

2、支持设置检索相似度、引用分段数 TOP以及最多应用字符数;

3、支持设置知识库检索不到时是否咨询大模型等参数设置。

3.6 基于 RAG 的 MaxKB 设计六:支持自定义工作流基于重排模型进行多路召回

  1. 支持添加本地和公有重排模型;
  2. 支持公有模型包含阿里云百炼、SILICONFLOW等,本地向量模型包含Xorbits Inference等;
  3. 支持基于工作流编排添加多路召回节点,通过设置重排内容以及重排模型重新输出重排结果。

3.7 基于 RAG 的 MaxKB 设计七:知识库检索结果输出为AI对话提示词

  1. 支持将知识库搜索结果的分段列表输出作为 AI 对话提示词;
  2. 支持将用户提问问题作为 AI 对话提示词;
  3. 支持将定义 AI 节点扮演角色。

3.8 基于 RAG 的 MaxKB 设计八:模型中立,支持主流的公有和本地大语言模型

  1. 支持添加本地和公有大语言、语言识别、语音生成、视觉模型以及图片生成模型;
  2. 模型管理用于对接供应商的大语言模型,支持对接主流的大模型,包括本地私有大模型(Llama 3 / Qwen 2 等)、国内公共大模型( DeepSeek / SILICONFLOW / Kimi / 通义千问 / 智谱 AI / 百度千帆 等)和国外公共大模型(OpenAI / Azure OpenAI / Anthropic / Gemini 等),支持的类型包括文本生成、向量模型、重排、语音识别、语音合成、视觉模型、图片生成等。

3.9 基于 RAG 的 MaxKB 设计九:支持 AI 智能回答以及指定答复

  1. 支持大语言模型智能回答;
  2. 支持通过判断器让回答更加准确;
  3. 支持通过语音合成模型实现语言答复;
  4. 支持通过函数、内置标签等方式展示为不同格式的答复:图片、表格、图标、网页标签、文档等。

基于以上,MaxKB 基于大语言模型和检索增强生成 RAG 技术,为企业和个人提供了高效的知识管理和智能问答功能。MaxKB 支持多种文件格式的知识库导入,并配备了直观的 UI 界面进行模型配置和知识库管理。其内置的强大工作流引擎和函数库,能够支持复杂业务场景下的 AI 工作过程编排。此外,MaxKB 还支持将知识库问答系统无缝嵌入到第三方业务系统中,满足了企业多样化的需求。通过 MaxKB,用户可以轻松创建和管理知识库,实现快速且准确的知识检索和问答,是 RAG技 术的一个实用且高效的落地方案。

关于 MaxKB 更多资料及案例参见如下:

  1. MaxKB官网:https://maxkb.cn/index.html
  2. GitHub地址:https://github.com/1Panel-dev/MaxKB
  3. BBS论坛:https://bbs.fit2cloud.com/c/mk/11
  4. 培训认证中心:https://edu.fit2cloud.com/

【最佳方案】RAG 技术深度剖析及 MaxKB 在企业 AI 落地中的应用策略的更多相关文章

  1. 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

    摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...

  2. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  3. WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

    原文:WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话 ...

  4. CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点

    深圳云栖大会已经圆满落幕,在3月29日飞天技术汇-弹性计算.网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了<海量短视频极速分发>的主题分享,带领我们从视频内容采集.上传.存储 ...

  5. [转帖]深度剖析一站式分布式事务方案 Seata-Server

    深度剖析一站式分布式事务方案 Seata-Server https://www.jianshu.com/p/940e2cfab67e 金融级分布式架构关注 22019.04.10 16:59:14字数 ...

  6. [转帖]首颗国产DRAM芯片的技术与专利,合肥长鑫存储的全面深度剖析

    首颗国产DRAM芯片的技术与专利,合肥长鑫存储的全面深度剖析 https://mp.weixin.qq.com/s/g_gnr804q8ix4b9d81CZ1Q 2019.11 存储芯片已经成为全球珍 ...

  7. DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)

           最近花了点时间把<破坏之王-DDOS攻击与防范深度剖析>看了一遍,坦白来说,这本书比较浅显,可以说是入门书,当然对于我这种对DDOS一知半解的人来说,也是一本不错的书,起码我 ...

  8. [Android] Toast问题深度剖析(二)

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一,由于其方便的api设计和简洁的交互体验,被我们所广泛采用 ...

  9. Java_深度剖析ConcurrentHashMap

    本文基于Java 7的源码做剖析. ConcurrentHashMap的目的 多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用Hash ...

  10. QQ现状深度剖析:你还认为QQ已经被微信打败了吗?

    本文来自“人人都是产品经理”公众号作者栗栗粥的原创分享. 1.前言   移动端的时代里,微信占据了社交领域的半壁江山,不得不让人想起曾经PC时代里的王者“QQ”,微信的爆发和QQ的停滞让很多人认为微信 ...

随机推荐

  1. 鸿蒙UI开发快速入门 —— part07:组件状态管理之@Prop/@Link装饰器

    1.前言 我们在上一章学习了@State装饰器,@State装饰器的作用范围仅仅在当前组件,接下来,我们讨论如何从父组件中传入参数到子组件,让子组件随着父组件的状态发生变化.本章将要介绍的就是:@Pr ...

  2. 【分块】LibreOJ 6282 数列分块入门6

    题目 https://loj.ac/p/6282 题解 数据范围 \(1 \leq n \leq 10^5\),因此进行分块最多分 \(\sqrt{10^5} ≈ 318\) 块.且数据是随机生成的, ...

  3. 【报错解决】使用代理后从Github中clone仓库报错

    当电脑使用代理后,会造成Github的clone和push等功能无法正常使用 报错内容:Failed to connect to github.com port 443 after ***** ms: ...

  4. archlinux 显卡驱动

    https://arch.icekylin.online/guide/rookie/graphic-driver.html archlinux 显卡驱动# 接天莲叶无穷碧,映日荷花别样红# 近年来,a ...

  5. Windows10中安装了ubuntu虚拟机后xshell无法连接到ubuntu

    安装了ubuntu虚拟机后发现shell无法连接到ubuntu的排查步骤: 步骤 1: 检查虚拟机网络配置确认虚拟机网络模式:确认虚拟机的网络模式是否设置为桥接模式或NAT模式.桥接模式可以让你的虚拟 ...

  6. Intellij IDEA部署Web项目到tomcat时提示:Error:Cannot build Artifact ':war exploded' because it is included into a circul

    在Idea中使用Maven创建父子工程,第一个Model的那个项目可以很好的运行,在创建一个Model运行时报这个错.原因是tomcat部署了多个Web项目,可能最开始是两个项目的配置文件混用用,最后 ...

  7. C#HTTP网络请求时GetResponseAsync()方法抛出“远程服务器返回错误: (411) 所需的长度”异常

    在请求HttpWebRequest的报了如下的错误"远程服务器返回错误: (411) 所需的长度",结果网上 百度了一下说,再请求POST的时候,若没有参数的情况下,需要将进行如下 ...

  8. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  9. DVWA靶场Command Injection(命令注入) 漏洞low(低),medium(中等),high(高)所有级别通关教程及源码审计

    命令注入 命令注入漏洞是一种安全漏洞,攻击者可以通过向应用程序输入恶意命令,诱使系统执行这些命令,从而达到未授权访问.数据篡改.系统控制等目的.该漏洞通常出现在应用程序未对用户输入进行充分验证和清理时 ...

  10. 聊一聊 C#异步中的Overlapped是如何寻址的

    一:背景 1. 讲故事 前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传 lpOverlapped 到内核层,那在内核层回头时,它是如何通过这 ...