说到RAGFlow,它本质上是一个基于深度文档理解构建的开源RAG引擎。简单来说,就是能帮你把各种复杂格式的文档扔进去,然后结合大语言模型,实现精准问答和带引用的可靠回答。无论是企业还是个人,这套工具都能让RAG工作流变得清晰易用。RAGFlow作为一款企业级文档问答系统,正受到越来越多开发者的关注。
介绍
RAGFlow是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎,专为提升文档检索与生成质量而设计。
RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。无论是在企业内部知识库还是个人学习场景,它都能高效处理PDF、Word等多种文档格式。
环境准备
前提条件
在动手之前,先确认一下你的硬件和软件环境是否达标。核心要求是:确保服务器或本地环境满足以下配置,才能顺利运行RAGFlow服务:
- CPU >= 4 核
- RAM >= 16 GB
- Disk >= 50 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1
系统参数(MACOS跳过)
在Linux系统上,需要确保vm.max_map_count不小于262144——这是一个关键的系统参数,直接影响Elasticsearch的运行。你可以用以下命令检查当前值:
$ sysctl vm.max_map_count
如果发现值小于262144,那就临时调整一下,以避免Elasticsearch启动失败:
$ sudo sysctl -w vm.max_map_count=262144
不过要注意,这个改动重启后会失效。如果想永久生效,还得在/etc/sysctl.conf文件里加上一行,确保系统重启后参数依然生效:
vm.max_map_count=262144
获取项目文件
如果你能直接git clone,那当然最方便,可以快速获取最新源代码:
git clone https://github.com/infiniflow/ragflow.git
如果网络环境受限,也可以通过Download ZIP的方式下载压缩包,同样能完成部署。
环境变量设置
下载完成后,切换到对应的目录,进入RAGFlow的Docker配置文件夹:
cd ragflow/docker
如果是通过ZIP下载的,目录名可能略有不同,注意检查:
cd ragflow-main/docker
接下来需要修改.env文件,根据你的实际情况取消下面几行注释,以优化镜像下载速度和系统兼容性:
# 如果访问huggingface.co有困难,建议取消此注释,使用国内镜像:
HF_ENDPOINT=https://hf-mirror.com
# 如果操作系统是MacOS,取消此注释:
MACOS=1
参数1建议开启,能解决下载镜像时可能遇到的网络问题,让部署过程更顺畅;参数2仅在MacOS环境下使用Docker时才需要开启,否则可能导致容器运行异常。
另外,RAGFlow默认没有开启MCP功能。如果你想通过MCP调用知识库,需要在docker-compose.yml中取消相关注释并设置api-key,以便启用MCP服务器:
services:
ragflow:
...
image: ${RAGFLOW_IMAGE}
# Example configuration to set up an MCP server:
command:
- --enable-mcpserver
- --mcp-host=0.0.0.0
- --mcp-port=9382
- --mcp-base-url=http://127.0.0.1:9380
- --mcp-script-path=/ragflow/mcp/server/server.py
- --mcp-mode=self-host
- --mcp-host-api-key=ragflow-xxxxxxx
如果暂时用不上MCP,可以直接跳过这一步,不会影响核心功能的使用。
启动RAGFlow
环境准备就绪后,就可以启动服务了,一键部署RAGFlow容器集群:
$ cd ragflow/docker
# 使用CPU进行嵌入和DeepDoc任务:
$ docker compose -f docker-compose.yml up -d
启动完成后,系统会自动下载并运行所需的镜像,无需额外操作。
访问RAGFlow
服务启动后,默认会在80端口运行。打开浏览器,输入http://localhost或http://127.0.0.1,就能看到RAGFlow的登录界面了,首次访问非常直观:

第一次使用的话,需要先注册一个账号,填写必要信息即可完成注册:

注册完成后,用刚创建的账号登录,进入系统主界面:

登录成功后,就进入系统主界面了,所有功能模块一目了然:

基础设置
切换显示语言
如果界面默认是英文,可以点击语言切换按钮,将其改为中文显示,方便国内用户操作:

配置模型提供商
接下来,需要配置模型提供商,这是让RAGFlow能够调用大语言模型的关键步骤。点击右上角的账号图标:

进入设置界面,找到“模型提供商”选项:

然后点击“模型提供商”,切换到模型配置界面:

市面上主流的模型提供商基本都有支持,例如OpenAI、通义千问等。此处以硅基流动大模型平台为例,该平台提供多种优质模型:

点击“添加模型”,在弹出的对话框中输入API-Key(可从模型提供商获取),然后点击“确定”:

到此,模型提供商就配置完成了,RAGFlow即可调用大模型进行问答。
设置默认模型
配置完模型提供商后,还需要设置默认模型,以确保系统自动使用选定的模型。点击“设置默认模型”:

这里主要设置聊天模型(用于对话生成)和嵌入模型(用于文档向量化),选好后点击“确定”:

至此,基础配置就全部完成了,你可以开始创建知识库并使用。
创建知识库
新增知识库
点击左侧导航栏的“知识库”,然后点击“创建知识库”进入新建页面:

知识库的配置项保持默认即可,直接点击创建,系统会自动生成知识库结构:

上传文档
进入知识库后,点击“数据集”选项卡,然后点击“新增文件”:选择需要上传的文件(支持PDF、Word、TXT等格式),点击“确定”即可将文档导入知识库。
解析文件
文件上传后,需要经过解析才能被检索使用。点击“解析”按钮,系统会基于深度文档理解引擎自动处理文件,等待状态变为“成功”即可——解析时间取决于文件大小和复杂度。
检索测试
解析完成后,建议先做个检索测试,验证文档检索的准确性。点击“检索测试”,输入一个测试问题,看看返回结果是否符合预期。如果没问题,说明知识库已经可以正常工作了,可以投入实际使用。
使用知识库
创建并测试知识库后,就可以实际使用了。点击“聊天”菜单,然后点击“新建助理”,创建一个专属的问答助手:
在“助手设置”中,给助手起个名字,并指定它要使用的知识库——这样助手就会基于该知识库的内容进行回答:
在“模型设置”中,选择使用的模型,然后点击“确定”。建议选择之前配置好的默认模型,确保一致性。
这里的设置只是基础配置,更详细的参数(如温度、最大长度等)可以根据实际需求调整,以获得更符合预期的回答风格。
设置完成后,回到“聊天”界面,点击刚才新建的小助手:
然后创建一个新的会话:
现在,就可以开始和它对话了,输入问题即可获得带有引用的可靠回答:
另外,这个小助手不仅可以在这里使用,还能嵌入到你的网站中,通过API或iframe方式集成到其他系统,功能很灵活。RAGFlow的部署和使用整体非常简单,即使没有深厚的技术背景也能快速上手。
