目录

RAGFlow安装教程-带你一步步搭建RAGFlow干货分享

RAGFlow安装教程 | 带你一步步搭建RAGFlow【干货分享】

本篇给大家介绍一下RAGFlow的本地搭建,以下过程基于Ubuntu24,其它Linux系统的搭建方法也基本相同。

RAGFlow是一个基于对文档深入理解的开源 RAG(检索增强生成)引擎。它的作用是可以让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大模型提问时,RAGFlow先查找自有知识库中的切块内容,接着把查找到的知识库数据输入到对话大模型中再生成答案输出。

它能凭借引用知识库中各种复杂格式的数据为后盾,为用户提供真实可信,少幻觉的答案。RAGFlow的技术原理涵盖了文档理解、检索增强、生成模型、注意力机制等,特别强调了深度文档理解技术,能够从复杂格式的非结构化数据中提取关键信息。下面我手把手教各位同学如何在Linux系统中搭建RAGFlow。

安装前,先确保电脑符合以下要求:

  • 硬件:CPU ≥ 4 核 ; 内存≥ 16 GB; 磁盘空间 ≥ 50 GB;
  • 软件:Docker版本 ≥ 24.0.0 ;Docker Compose 版本 ≥ v2.26.1,Docker 和 Docker Compos 必须预先安装好,并且达到版本要求,我就是因为之前安装的Docker Compose 版本太低,导致安装错误,研究了好久才解决问题。

1. 更改 vm.max_map_count 值,设定为:=262144。

这个值的作用是允许Linux系统中,一个进程创建的最大内存映射区域数。如果应用程序需要创建的内存映射区域数超过了这个限制,就会导致映射失败,并可能出现性能问题或者直接导致应用程序崩溃。因此,对于依赖大量内存映射区域的应用程序(例如数据库系统、搜索引擎等),需要适当调整这个参数。

sudo sysctl -w vm.max_map_count=262144

2. 改完后查看

sysctl vm.max_map_count

3. 永久更改vm.max_map_count 值, 无需每次开机手动更改。

编辑文件:/etc/sysctl.conf

更改或加入 :vm.max_map_count=262144

4. 克隆仓库:

git clone https://github.com/infiniflow/ragflow.git

如果下载过程缓慢或不能连接,可以选用Github加速或代理,这里就不详细描述了。

5. 进入docker 文件夹,利用提前编译好的 Docker 镜像启动服务器:

cd ragflow/docker``chmod +x ./entrypoint.sh``docker compose -f docker-compose-CN.yml up -d

请注意,运行上述命令会自动下载 RAGFlow 的开发版本 docker 镜像。如果你想下载并运行特定版本的 docker 镜像,请在 docker/.env 文件中找到 RAGFLOW_VERSION 变量,将其改为最新版本。例如 RAGFLOW_VERSION=v0.10.0,v0.10.0是截止到目前最新的版本,然后再运行上述的命令。下载的包较大,超过10G,需要耐心等待。

https://img-blog.csdnimg.cn/img_convert/7b2100faac4dabf24981182727c602c3.png

另外,需要注意docker-compose 需要安装V2.26.1以上版本,如未更新,上述指令会出现这个错误。

unknown shorthand flag: 'f' in -f``See 'docker --help'.

更新方法可参考docker-compose Github:https://github.com/docker/compose#linux , 这里说明如下:

(1)这里选择较新的 docker-compose V2.29.0 下载,Github下载:https://github.com/docker/compose/releases/tag/v2.29.0,页面选择 docker-compose-linux-x86_64 文件下载。

https://img-blog.csdnimg.cn/img_convert/20bdc671f73e3b1506f0c4b614674995.png

(2)下载完成后,把docker-compose-linux-x86_64 改名为 docker-compose,放到以下目录即可:

  • /usr/local/lib/docker/cli-plugins

最后记得添加运行权限,进入存放docker-compose的文件夹,运行:

sudo chmod +x docker-compose

对于不同的Linux系统,亦可尝试放这几处:

  • /usr/local/libexec/docker/cli-plugins`

  • /usr/lib/docker/cli-plugins

  • /usr/libexec/docker/cli-plugins

6. 服务器启动成功后再次确认服务器状态:

docker logs -f ragflow-server

https://img-blog.csdnimg.cn/img_convert/b15a37ef01ac51aa05c94ce5cf4345df.png

如果您跳过这一步系统确认步骤就登录 RAGFlow,你的浏览器有可能会提示 network anomaly网络异常,因为 RAGFlow 可能并未完全启动成功,所以需要执行上述指令,确保RAGFlow 安装后能成功运行。

7. 在浏览器中输入服务器对应的 IP 地址并登录 RAGFlow。

我在浏览器中打开:http://192.168.1.112 ,,即可成功打开登录页。此地址为本机IP,可以在终端中用 ifconfig 查看。

https://img-blog.csdnimg.cn/img_convert/241b7545b02b3d79e7663deb4ccca270.png

登录页中点击sign up进行注册, 填入电邮地址和密码后,返回登录页,就可以用刚刚注册的电邮地址和密码登录了。

8. 关于本地对话大模型的搭建。

在对RAGFlow进行配置前,需要先确认是否搭建本地对话大模型,如果需要全套系统本地搭建的同学,也需要在本地先搭建好开源模型,我这里选用了Ollama + llama3.1:8b。

配置前,需要把Ollama 运行起来:

Ollama run llama3.1:8b

然后用浏览器打开 http://localhost:11434

可以看到页面中显示:Ollama is running,此为保证RAGFlow模型正确配置的必备条件。

另外,如果不想在本地搭建大模型,RAGFlow也可以连接各大在线模型,在配置前,各位同学需要先获取选用模型的API key 和 链接地址,这里就不做详细介绍了,大家可参考官网。

1. 创建知识库

在RAGFlow系统中,用户可以拥有多个知识库,构建更灵活、更多样化的问答。这里创建第一个知识库,点击创建知识库,填入知识库名称。

2. 配置知识库

以下显示了知识库的配置页面。正确配置知识库对于 AI 聊天至关重要。如果选择了错误的嵌入模型或块方法,会导致聊天中出现意外的语义丢失或不匹配的答案。

这里需要注意带星号的配置包括:语言,权限,嵌入模型,解析方法。

https://img-blog.csdnimg.cn/img_convert/84453adfc6e63b4f83edea5733f4a872.png

(1)解析方法的说明

RAGFlow 提供了多个分块模板,以便于不同布局的文件进行分块,并确保语义完整性。在 Chunk method (块方法) 中,您可以选择适合文件布局和格式的默认模板。下表显示了系统所有支持的块模板的内容及文件格式,大家根据需求自行选择。

模板描述文件格式
常规文件根据预设的块标记编号连续分块。DOCX, EXCEL, PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF
问答EXCEL, CSV/TXT
手动PDF
表格EXCEL, CSV/TXT
论文PDF
书本DOCX, PDF, TXT
法律DOCX, PDF, TXT
介绍PDF, PPTX
图片JPEG, JPG, PNG, TIF, GIF
唯一整个文档被分成唯一块。DOCX, EXCEL, PDF, TXT

(2)上传知识库文件,并做相应的配置,我这里选了2个关于单片机Lwip库的说明文件。

https://img-blog.csdnimg.cn/img_convert/022d5943f844c6e2dd89c9a4e70ca2ac.png

(3)选择解析方法

https://img-blog.csdnimg.cn/img_convert/9afe31a0243f54f4176350a2dfb7f258.png

如无特殊要求,按默认值即可。

(4)选择 embedding model

嵌入模型(embedding model) ,这里选择默认的BAAI/bge-large-zh-v1.5,这个模型专门针对中文语义理解进行了优化,能够将文本映射为低维稠密向量,这些向量可以用于检索、分类、聚类或语义匹配等任务。

(5)解析文件

必须先对上传的文件进行解析,才能让RAGFlow执行检索知识库功能。文件解析是知识库配置中的一个关键步骤。RAGFlow 文件解析的含义有两个:基于文件布局对文件进行分块,并在这些块上构建嵌入和全文(关键字)索引。选择 chunk 方法和 embedding 模型后,您可以开始解析文件:

https://img-blog.csdnimg.cn/img_convert/6ee114b4661e2e74890b3f02b9e2a397.png

https://img-blog.csdnimg.cn/img_convert/cd594cd398de2e8d11562b6febc10957.png

单击 UNSTART 旁边的播放按钮以开始文件解析。

如果文件解析长时间停止,单击红叉图标停止后,再单击刷新。

如上所示,RAGFlow 允许您对特定文件使用不同的块方法,从而提供更大的灵活性。

如上所示,RAGFlow 允许您启用或禁用单个文件,从而对基于知识库的 AI 聊天提供更精细的控制。

3. 运行检索测试

RAGFlow 在其聊天中使用全文搜索和矢量搜索的多次调用。在设置 AI 聊天之前,请考虑调整以下参数以确保预期信息始终出现在答案中:

  • 相似度阈值:相似度低于阈值的数据块将被过滤。默认设置为 0.2。
  • 向量相似度权重:向量相似度占总分的百分比。默认设置为 0.3。

4. 配置本地对话模型

在 RAGFlow 的配置页中,单击页面右上角的徽标> 然后点击右边栏的Model Providers,然后将 本地运行的Ollama 添加到 RAGFlow。

https://img-blog.csdnimg.cn/img_convert/cb3beabc615d8d2483cee75da98d1fa8.png

https://img-blog.csdnimg.cn/img_convert/f0d7d504bb0cc7fed61f76af7d7ee9a8.png

按以上内容填入,Base url需要填入本机的IP地址,并且需要在本地运行Ollama;Mode Name 我用的是llama3.1:8b;本地运行Ollama,API-key无需填写;

https://img-blog.csdnimg.cn/img_convert/f723ee7294138e42616577d3f104f6c3.png

本地对话模型添加成功,如上图。

5. 开始 AI 聊天

RAGFlow 中的聊天基于特定知识库或多个知识库。创建知识库,完成文件解析,并且配置完对话模型后,各位同学可以开始 AI 对话了。

(1)通过创建助手来开始 AI 对话。

单击页面顶部中间的 Chat 选项卡> Create an assistant 以显示下一个对话的 Chat Configuration 对话框。

https://img-blog.csdnimg.cn/img_convert/a553c90fbffe48064005650e5f85614c.png

(2)更新 Assistant Setting(助理配置):

配置页中需要关注以下选项:

  • Assistant name 是您的聊天助理的名称。每个助手都对应于一个对话框,其中包含知识库、提示、混合搜索配置和大模型设置的唯一组合。
  • Empty response(空响应):当RAGFlow 没有在知识库中检索到答案时,它会统一响应您在此处设置的内容。
  • 如果希望 RAGFlow 未能在你的知识库中检索到答案时,根据对话大模型的内容即兴创作,请将其留空,但这可能会出现幻觉答案。
  • Show Quote(显示引述的文档): 这是 RAGFlow 的一个关键功能,默认情况下是启用的。RAGFlow 不像黑匣子那样工作,让人无法得知引述的内容。相反,它清楚地显示了其答案的信息来源。

(3)更新 Prompt Engine(提示引擎):这里的内容一般根据系统默认即可,有需要的同学,可以查看官方文档。

(4)更新 Model Setting (模型配置)

  • Model :选择 Chat (对话) 模型。尽管您在系统模型设置中选择了默认聊天模型,但 RAGFlow 允许您为对话选择替代聊天模型,选择正确的对话模型十分重要,这个影响到系统能否正常运行,如果对话模型配置错误,将导致不能输出正确的对话内容。
  • Freedom:指 LLM 即兴创作的级别。从 Improvise、Precise 到 Balance,每个自由度级别都对应于 Temperature、Top P、Presence Penalty 和 Frequency Penalty 的独特组合。
  • Temperature: LLM 的预测随机性水平。值越高,LLM 的创意就越大。
  • Top P:也称为“细胞核采样”,选用默认值即可。
  • Max Tokens:LLM 响应的最大长度。请注意,如果此值设置得太低,则响应可能会减少。

(5)完成以上配置后,我们就可以来到对话页,让大模型根据你的知识库内容,开始一段淋漓畅快的对话了。

https://img-blog.csdnimg.cn/img_convert/49f99362b96c542e15ee7d30d7a01cbd.png

https://img-blog.csdnimg.cn/img_convert/8a40005e962e9c321da0eae269f47007.png

RAGFlow是一个基于检索增强生成(Retrieval-Augmented Generation,简称RAG)的框架,它结合了检索(Retrieval)和生成(Generation)两个关键的自然语言处理技术。为我们提供了一种强大的方式来处理复杂的自然语言处理任务,它能够生成更加准确、丰富和相关的结果。


AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了 一份 全面的AI大模型学习资源 ,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等, 资料免费分享

https://img-blog.csdnimg.cn/img_convert/3f148c655f218bc2965ab56fc9b9c206.png

要学习一门新的技术,作为新手一定要 先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

https://i-blog.csdnimg.cn/direct/b2e9d9b8d3244782977a5bece8cadfbf.png#pic_center

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档, 它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

https://i-blog.csdnimg.cn/direct/3095a9078ce24db69abf285b5652ee53.png#pic_center

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们 提供了丰富的大模型视频教程 ,以动态、形象的方式展示技术概念, 帮助你更快、更轻松地掌握核心知识

https://i-blog.csdnimg.cn/direct/d7b864768a9346cfb5de052b851947b6.png#pic_center

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

https://i-blog.csdnimg.cn/direct/c11b60bcfd524446a917ced9e492b012.png#pic_center

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战, 在实际操作中检验和巩固你所学到的知识 ,同时为你找工作和职业发展打下坚实的基础。

https://i-blog.csdnimg.cn/direct/f2f79ffa09034d96b2f7aec1f58afcbf.png#pic_center

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

https://i-blog.csdnimg.cn/direct/b3703bef006543de963beb642ae787ea.png#pic_center

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以 微信扫描下方CSDN官方认证二维码 ,免费领取【 保证100%免费

https://img-blog.csdnimg.cn/img_convert/2c74f8ae683a20dc159a85f384036825.png