从源代码启动RAGFlow
版本:v0.17.2
本指南将介绍如何从源代码搭建RAGFlow服务。按照本指南操作,你将能够利用源代码进行调试。
目标受众
适用于已添加新功能或修改现有代码,且希望利用源代码进行调试的开发者,前提是其机器已设置好目标部署环境。
先决条件
- CPU:不少于4核心
- 内存:不少于16GB
- 磁盘:不少于50GB
- Docker:不低于24.0.0版本 且 Docker Compose:不低于v2.26.1版本
注意
如果你的本地机器(Windows、Mac或Linux)尚未安装Docker,请查看《安装Docker引擎指南》。
从源代码启动服务
要从源代码启动RAGFlow服务,请按以下步骤操作:
-
克隆RAGFlow代码库
git clone https://github.com/infiniflow/ragflow.git cd ragflow/
-
安装Python依赖项
-
安装uv:
pipx install uv
-
安装Python依赖项:
-
精简安装:
uv sync --python 3.10 # 安装RAGFlow相关的Python模块
-
完整安装:
uv sync --python 3.10 --all-extras # 安装RAGFlow相关的Python模块
安装完成后会创建一个名为
.venv
的虚拟环境,所有Python依赖项都会安装到这个新环境中。
-
-
-
启动第三方服务
使用以下命令通过Docker Compose启动“基础”服务(MinIO、Elasticsearch、Redis和MySQL):docker compose -f docker/docker-compose-base.yml up -d
-
更新第三方服务的主机和端口设置
在/etc/hosts
文件中添加以下内容,将docker/service_conf.yaml.template
中指定的所有主机解析到127.0.0.1
:127.0.0.1 es01 infinity mysql minio redis
根据
docker/.env
中的设置,将docker/service_conf.yaml.template
中的MySQL端口更新为5455
,ES端口更新为1200
。 -
启动RAGFlow后端服务
-
将
docker/entrypoint.sh
中的nginx
行注释掉:# /usr/sbin/nginx
-
激活Python虚拟环境:
source .venv/bin/activate
-
设置
PYTHONPATH
环境变量:export PYTHONPATH=$(pwd)
-
可选步骤:如果你无法访问HuggingFace,可以设置
HF_ENDPOINT
环境变量来使用镜像站点:export HF_ENDPOINT=https://hf-mirror.com
-
运行
entrypoint.sh
脚本启动后端服务:bash docker/entrypoint.sh
-
-
启动RAGFlow前端服务
-
进入
web
目录并安装前端依赖项:cd web npm install
-
将
.umirc.ts
中的proxy.target
更新为http://127.0.0.1:9380
:vim .umirc.ts
-
启动RAGFlow前端服务:
npm run dev
启动成功后会显示如下信息,其中包含前端服务的IP地址和端口号:
App listening at: Local: http://iris:9222 ready - Network: http://192.168.11.100:9222
此时你可以使用上述地址在浏览器中访问服务。
-
访问RAGFlow服务
在你的网页浏览器中,输入http://127.0.0.1:<PORT>/
,确保端口号与上述截图中显示的一致。
开发完成后停止RAGFlow服务
-
停止RAGFlow前端服务:
pkill npm
-
停止RAGFlow后端服务:
pkill -f "docker/entrypoint.sh"