在Linux上部署RAGFlow
来源于: 官网
在Linux上部署RAGFlow,最主流、最高效的方式是使用Docker Compose。整个过程可以概括为以下几个步骤:
🚀 Docker部署RAGFlow(主流方式)
1️⃣ 第一步:准备环境
在开始前,请确保你的Linux服务器满足以下条件,这是保证RAGFlow流畅运行的基础 :
| 项目 | 要求 | 说明 |
|---|---|---|
| CPU | ≥ 4 核 | x86_64 或 ARM 架构均可 |
| 内存 | ≥ 16 GB | 这是官方推荐的最低配置,实际使用中建议更高。 |
| 硬盘 | ≥ 50 GB | 用于存放Docker镜像、容器数据以及你的知识库文件。 |
| Docker | 版本 ≥ 24.0.0 | 确保Docker Engine已正确安装并运行。 |
| Docker Compose | 版本 ≥ v2.26.1 | 用于启动多容器应用。 |
注意:如果你是ARM架构(如树莓派或一些国产服务器),部分镜像可能需要特殊处理,请留意官方文档说明 。
2️⃣ 第二步:系统调优
RAGFlow依赖的搜索引擎(如Elasticsearch)需要一个关键的系统参数。这一步很重要,务必执行,否则容器可能无法启动 。
检查当前值:
sysctl vm.max_map_count临时设置(立即生效,重启后失效):
sudo sysctl -w vm.max_map_count=262144永久设置(推荐,重启后依然有效):
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 使配置立即生效
3️⃣ 第三步:下载并启动 RAGFlow
克隆项目仓库:这会下载RAGFlow的Docker编排文件和配置模板 。
git clone https://github.com/infiniflow/ragflow.git cd ragflow/docker # 进入docker编排目录(可选)配置环境:你可以编辑
.env文件来修改一些默认设置,比如访问端口、MySQL密码等 。# 例如,修改访问端口(将80改为8080),用nano或vim编辑 # nano .env # 找到 SVR_HTTP_PORT=80 并修改 或 SVR_WEB_HTTP_PORT 、 SVR_WEB_HTTPS_PORT启动所有服务:
CPU版本:
docker compose -f docker-compose.yml up -dGPU版本(如果你的服务器有NVIDIA GPU,可以显著加速文档解析和向量化):
docker compose -f docker-compose-gpu.yml up -d
首次启动会下载所需的Docker镜像,这个过程可能需要一些时间,取决于你的网络状况 。
查看启动日志:
docker logs -f ragflow-server当你看到类似
Running on all addresses或http://127.0.0.1:9380的日志时,说明服务已成功启动 。
4️⃣ 第四步:访问并初始化
打开浏览器,访问你的Linux服务器IP地址(例如 http://<你的服务器IP>)。如果修改过端口,请加上端口号(如 http://<你的服务器IP>:8080)。
首次访问会进入初始化页面,你需要注册一个管理员账号,按照页面提示填写邮箱和密码即可 。
🛠️ 模型配置(以Ollama为例)
RAGFlow本身不包含大语言模型(LLM)和嵌入模型(Embedding Model),你需要配置第三方模型提供商。如果你想完全本地、免费地运行,推荐使用Ollama 。
部署Ollama(在Linux服务器上,可以与RAGFlow在同一台机器):
# 使用Docker运行Ollama docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama下载所需模型:进入Ollama容器,拉取模型。例如,一个轻量级的聊天模型和一个常用的嵌入模型 :
docker exec -it ollama ollama pull llama3.2 # 聊天模型 docker exec -it ollama ollama pull bge-m3 # 嵌入模型在RAGFlow中添加Ollama:
- 登录RAGFlow,点击右上角头像 -> 模型提供商。
- 找到Ollama并点击“添加模型”。
- 模型名称:填写你刚才下载的模型名,如
llama3.2。 - 模型类型:选择
chat。 - API地址:填写
http://host.docker.internal:11434(因为RAGFlow和Ollama都运行在Docker中,这个地址可以指向宿主机)。 - 用同样的方法添加嵌入模型
bge-m3,类型选择embedding。
- 设置为系统默认模型:在“模型提供商”页面,进入“系统模型设置”,将刚刚添加的聊天模型和嵌入模型设为默认 。
🎯 初步使用
- 创建知识库:在RAGFlow界面,进入“知识库”页面,创建一个新的知识库,并上传你的文档(支持PDF、Word、PPT、TXT等多种格式)。
- 解析文档:上传后,点击“解析”,RAGFlow会自动将文档切片、向量化。
- 创建AI助手:进入“聊天”页面,创建一个新的助手,在配置中关联你刚才创建的知识库 。
- 开始对话:现在,你可以向这个助手提问,它会根据你上传的文档内容进行回答,并给出答案的引用来源。
🤔 常见问题速览
- 端口冲突:如果启动时提示
80端口已被占用,可以修改.env文件中的SVR_HTTP_PORT为其他端口(如8080),然后重新启动 。 - 镜像下载慢:在国内这是一个普遍问题。可以配置Docker镜像加速器。编辑(或创建)
/etc/docker/daemon.json文件,加入像https://docker.mirrors.ustc.edu.cn这样的国内镜像源地址,然后重启Docker服务sudo systemctl restart docker。 - 无法访问Web界面:检查Linux防火墙是否开放了你设置的端口(默认80)。例如,使用
sudo ufw allow 80/tcp开放端口 。