本文详细介绍了在Ubuntu系统上搭建RAGFlow(开源RAG引擎)的完整过程,包括硬件要求、Docker环境配置、知识库创建、文件上传与解析、嵌入模型选择等步骤。RAGFlow能够通过检索自有知识库内容,结合大模型生成真实可信、少幻觉的答案。文章还提供了基于Ollama的本地大模型配置方案,以及RAGFlow的检索测试和AI聊天功能设置,帮助读者构建自己的知识库增强型大模型应用。
上星期给各位同学介绍了RAGFlow这个大模型RAG引擎,本篇给大家介绍一下RAGFlow的本地搭建,以下过程基于Ubuntu24,其它Linux系统的搭建方法也基本相同。
先来温补一下,RAGFlow是一个基于对文档深入理解的开源 RAG(检索增强生成)引擎。它的作用是可以让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大模型提问时,RAGFlow先查找自有知识库中的切块内容,接着把查找到的知识库数据输入到对话大模型中再生成答案输出。
它能凭借引用知识库中各种复杂格式的数据为后盾,为用户提供真实可信,少幻觉的答案。RAGFlow的技术原理涵盖了文档理解、检索增强、生成模型、注意力机制等,特别强调了深度文档理解技术,能够从复杂格式的非结构化数据中提取关键信息。下面我手把手教各位同学如何在Linux系统中搭建RAGFlow。
01.RAGFlow 安装
安装前,先确保电脑符合以下要求:
- 硬件:CPU ≥ 4 核 ; 内存≥ 16 GB; 磁盘空间 ≥ 50 GB;
- 软件:Docker版本 ≥ 24.0.0 ;Docker Compose 版本 ≥ v2.26.1,Docker 和 Docker Compos 必须预先安装好,并且达到版本要求,我就是因为之前安装的Docker Compose 版本太低,导致安装错误,研究了好久才解决问题。
- 更改 vm.max_map_count 值,设定为:=262144。
这个值的作用是允许Linux系统中,一个进程创建的最大内存映射区域数。如果应用程序需要创建的内存映射区域数超过了这个限制,就会导致映射失败,并可能出现性能问题或者直接导致应用程序崩溃。因此,对于依赖大量内存映射区域的应用程序(例如数据库系统、搜索引擎等),需要适当调整这个参数。
sudo sysctl -w vm.max_map_count=262144
- 改完后查看
sysctl vm.max_map_count
- 永久更改vm.max_map_count 值, 无需每次开机手动更改。
编辑文件:/etc/sysctl.conf
更改或加入 :vm.max_map_count=262144
- 克隆仓库:
git clone https://github.com/infiniflow/ragflow.git
如果下载过程缓慢或不能连接,可以选用Github加速或代理,这里就不详细描述了。
- 进入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,需要耐心等待。
另外,需要注意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 文件下载。
(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
- 服务器启动成功后再次确认服务器状态:
docker logs -f ragflow-server
如果您跳过这一步系统确认步骤就登录 RAGFlow,你的浏览器有可能会提示 network anomaly
或 网络异常
,因为 RAGFlow 可能并未完全启动成功,所以需要执行上述指令,确保RAGFlow 安装后能成功运行。
- 在浏览器中输入服务器对应的 IP 地址并登录 RAGFlow。
我在浏览器中打开:http://192.168.1.112 ,,即可成功打开登录页。此地址为本机IP,可以在终端中用 ifconfig 查看。
登录页中点击sign up进行注册, 填入电邮地址和密码后,返回登录页,就可以用刚刚注册的电邮地址和密码登录了。
- 关于本地对话大模型的搭建。
在对RAGFlow进行配置前,需要先确认是否搭建本地对话大模型,如果需要全套系统本地搭建的同学,也需要在本地先搭建好开源模型,我这里选用了Ollama + llama3.1:8b。
配置前,需要把Ollama 运行起来:
Ollama run llama3.1:8b
然后用浏览器打开 http://localhost:11434
可以看到页面中显示:Ollama is running,此为保证RAGFlow模型正确配置的必备条件。
另外,如果不想在本地搭建大模型,RAGFlow也可以连接各大在线模型,在配置前,各位同学需要先获取选用模型的API key 和 链接地址,这里就不做详细介绍了,大家可参考官网。
02.RAGFlow 配置
- 创建知识库
在RAGFlow系统中,用户可以拥有多个知识库,构建更灵活、更多样化的问答。这里创建第一个知识库,点击创建知识库,填入知识库名称。
- 配置知识库
以下显示了知识库的配置页面。正确配置知识库对于 AI 聊天至关重要。如果选择了错误的嵌入模型或块方法,会导致聊天中出现意外的语义丢失或不匹配的答案。
这里需要注意带星号的配置包括:语言,权限,嵌入模型,解析方法。
(1)解析方法的说明
RAGFlow 提供了多个分块模板,以便于不同布局的文件进行分块,并确保语义完整性。在 Chunk method (块方法) 中,您可以选择适合文件布局和格式的默认模板。下表显示了系统所有支持的块模板的内容及文件格式,大家根据需求自行选择。
模板 | 描述 | 文件格式 |
常规 | 文件根据预设的块标记编号连续分块。 | DOCX, EXCEL, PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF |
问答 | EXCEL, CSV/TXT | |
手动 | ||
表格 | EXCEL, CSV/TXT | |
论文 | ||
书本 | DOCX, PDF, TXT | |
法律 | DOCX, PDF, TXT | |
介绍 | PDF, PPTX | |
图片 | JPEG, JPG, PNG, TIF, GIF | |
唯一 | 整个文档被分成唯一块。 | DOCX, EXCEL, PDF, TXT |
(2)上传知识库文件,并做相应的配置,我这里选了2个关于单片机Lwip库的说明文件。
(3)选择解析方法
如无特殊要求,按默认值即可。
(4)选择 embedding model
嵌入模型(embedding model) ,这里选择默认的BAAI/bge-large-zh-v1.5,这个模型专门针对中文语义理解进行了优化,能够将文本映射为低维稠密向量,这些向量可以用于检索、分类、聚类或语义匹配等任务。
(5)解析文件
必须先对上传的文件进行解析,才能让RAGFlow执行检索知识库功能。文件解析是知识库配置中的一个关键步骤。RAGFlow 文件解析的含义有两个:基于文件布局对文件进行分块,并在这些块上构建嵌入和全文(关键字)索引。选择 chunk 方法和 embedding 模型后,您可以开始解析文件:
单击 UNSTART 旁边的播放按钮以开始文件解析。
如果文件解析长时间停止,单击红叉图标停止后,再单击刷新。
如上所示,RAGFlow 允许您对特定文件使用不同的块方法,从而提供更大的灵活性。
如上所示,RAGFlow 允许您启用或禁用单个文件,从而对基于知识库的 AI 聊天提供更精细的控制。
- 运行检索测试
RAGFlow 在其聊天中使用全文搜索和矢量搜索的多次调用。在设置 AI 聊天之前,请考虑调整以下参数以确保预期信息始终出现在答案中:
- 相似度阈值:相似度低于阈值的数据块将被过滤。默认设置为 0.2。
- 向量相似度权重:向量相似度占总分的百分比。默认设置为 0.3。
- 配置本地对话模型
在 RAGFlow 的配置页中,单击页面右上角的徽标> 然后点击右边栏的Model Providers,然后将 本地运行的Ollama 添加到 RAGFlow。
按以上内容填入,Base url需要填入本机的IP地址,并且需要在本地运行Ollama;Mode Name 我用的是llama3.1:8b;本地运行Ollama,API-key无需填写;
本地对话模型添加成功,如上图。
- 开始 AI 聊天
RAGFlow 中的聊天基于特定知识库或多个知识库。创建知识库,完成文件解析,并且配置完对话模型后,各位同学可以开始 AI 对话了。
(1)通过创建助手来开始 AI 对话。
单击页面顶部中间的 Chat 选项卡> Create an assistant 以显示下一个对话的 Chat Configuration 对话框。
(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 响应的最大长度。请注意,如果此值设置得太低,则响应可能会减少。
(6)完成以上配置后,我们就可以来到对话页,让大模型根据你的知识库内容,开始一段淋漓畅快的对话了。
零基础如何高效学习大模型?
你是否懂 AI,是否具备利用大模型去开发应用能力,是否能够对大模型进行调优,将会是决定自己职业前景的重要参数。
为了帮助大家打破壁垒,快速了解大模型核心技术原理,学习相关大模型技术。从原理出发真正入局大模型。在这里我和鲁为民博士系统梳理大模型学习脉络,这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码免费领取🆓**⬇️⬇️⬇️
【大模型全套视频教程】
教程从当下的市场现状和趋势出发,分析各个岗位人才需求,带你充分了解自身情况,get 到适合自己的 AI 大模型入门学习路线。
从基础的 prompt 工程入手,逐步深入到 Agents,其中更是详细介绍了 LLM 最重要的编程框架 LangChain。最后把微调与预训练进行了对比介绍与分析。
同时课程详细介绍了AI大模型技能图谱知识树,规划属于你自己的大模型学习路线,并且专门提前收集了大家对大模型常见的疑问,集中解答所有疑惑!
深耕 AI 领域技术专家带你快速入门大模型
跟着行业技术专家免费学习的机会非常难得,相信跟着学习下来能够对大模型有更加深刻的认知和理解,也能真正利用起大模型,从而“弯道超车”,实现职业跃迁!
【精选AI大模型权威PDF书籍/教程】
精心筛选的经典与前沿并重的电子书和教程合集,包含《深度学习》等一百多本书籍和讲义精要等材料。绝对是深入理解理论、夯实基础的不二之选。
【AI 大模型面试题 】
除了 AI 入门课程,我还给大家准备了非常全面的**「AI 大模型面试题」,**包括字节、腾讯等一线大厂的 AI 岗面经分享、LLMs、Transformer、RAG 面试真题等,帮你在面试大模型工作中更快一步。
【大厂 AI 岗位面经分享(92份)】
【AI 大模型面试真题(102 道)】
【LLMs 面试真题(97 道)】
【640套 AI 大模型行业研究报告】
【AI大模型完整版学习路线图(2025版)】
明确学习方向,2025年 AI 要学什么,这一张图就够了!
👇👇点击下方卡片链接免费领取全部内容👇👇
抓住AI浪潮,重塑职业未来!
科技行业正处于深刻变革之中。英特尔等巨头近期进行结构性调整,缩减部分传统岗位,同时AI相关技术岗位(尤其是大模型方向)需求激增,已成为不争的事实。具备相关技能的人才在就业市场上正变得炙手可热。
行业趋势洞察:
- 转型加速: 传统IT岗位面临转型压力,拥抱AI技术成为关键。
- 人才争夺战: 拥有3-5年经验、扎实AI技术功底和真实项目经验的工程师,在头部大厂及明星AI企业中的薪资竞争力显著提升(部分核心岗位可达较高水平)。
- 门槛提高: “具备AI项目实操经验”正迅速成为简历筛选的重要标准,预计未来1-2年将成为普遍门槛。
与其观望,不如行动!
面对变革,主动学习、提升技能才是应对之道。掌握AI大模型核心原理、主流应用技术与项目实战经验,是抓住时代机遇、实现职业跃迁的关键一步。
01 为什么分享这份学习资料?
当前,我国在AI大模型领域的高质量人才供给仍显不足,行业亟需更多有志于此的专业力量加入。
因此,我们决定将这份精心整理的AI大模型学习资料,无偿分享给每一位真心渴望进入这个领域、愿意投入学习的伙伴!
我们希望能为你的学习之路提供一份助力。如果在学习过程中遇到技术问题,也欢迎交流探讨,我们乐于分享所知。
*02 这份资料的价值在哪里?*
专业背书,系统构建:
-
本资料由我与鲁为民博士共同整理。鲁博士拥有清华大学学士和美国加州理工学院博士学位,在人工智能领域造诣深厚:
-
- 在IEEE Transactions等顶级学术期刊及国际会议发表论文超过50篇。
- 拥有多项中美发明专利。
- 荣获吴文俊人工智能科学技术奖(中国人工智能领域重要奖项)。
-
目前,我有幸与鲁博士共同进行人工智能相关研究。
内容实用,循序渐进:
-
资料体系化覆盖了从基础概念入门到核心技术进阶的知识点。
-
包含丰富的视频教程与实战项目案例,强调动手实践能力。
-
无论你是初探AI领域的新手,还是已有一定技术基础希望深入大模型的学习者,这份资料都能为你提供系统性的学习路径和宝贵的实践参考,助力你提升技术能力,向大模型相关岗位转型发展。
抓住机遇,开启你的AI学习之旅!