本文介绍如何在Windows上进行RAGFlow开发环境搭建
一. 环境准备
前提条件
- CPU ≥ 4 核
- 内存 ≥ 16 GB
- 磁盘 ≥ 50 GB
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
- 安装Docker Desktop
- 为wsl安装Ubuntu
1.启用 WSL2(Windows Subsystem for Linux)2.wsl --install -d Ubuntu # 安装Ubuntu发行版
windows会默认把Ubuntu安装到C盘,可以选择迁移一下:
详见:WSL 默认路径迁移
二、从源码启动服务
要从源代码启动 RAGFlow 服务:
克隆 RAGFlow 仓库
git clone https://github.com/infiniflow/ragflow.git
进入WSL,进入到拉取的项目路径下
wsl -d Ubuntu #进入容器cd /自己的项目路径/ragflow/
安装 Python 依赖
-
安装 uv
pipx install uv
-
安装 Python 依赖
- 精简版
uv sync --python 3.10 # install RAGFlow dependent python modules
- 完整版
uv sync --python 3.10 --all-extras # install RAGFlow dependent python modules
系统会创建一个名为
.venv
的虚拟环境,并将所有 Python 依赖项安装到该新环境中。 -
进入虚拟环境
source .venv/bin/activate
启动第三方服务
以下命令使用 Docker Compose 启动“基础”服务(MinIO、Elasticsearch、Redis 和 MySQL):
docker compose -f docker/docker-compose-base.yml up -d
可到Docker Desktop中查看容器情况
更新第三方服务的 host
和 port
设置
-
将以下行添加到Ubuntu的
/etc/hosts
文件中,以将 docker/service_conf.yaml.template 中指定的所有主机解析到127.0.0.1
:127.0.0.1 es01 infinity mysql minio redis
-
在 docker/service_conf.yaml.template 中,将 mysql 端口更新为
5455
,es 端口更新为1200
,这些端口是在 docker/.env 中指定的。
启动 RAGFlow 后端服务
后端服务博主在windows powershell,uv虚拟环境中启动
-
注释掉 docker/entrypoint.sh 文件中的
nginx
行。# /usr/sbin/nginx
-
激活 Python 虚拟环境
source .venv/bin/activate export PYTHONPATH=$(pwd)
-
可选:如果您无法访问 HuggingFace,请设置 HF_ENDPOINT 环境变量以使用镜像站点:
export HF_ENDPOINT=https://hf-mirror.com
-
检查 conf/service_conf.yaml 中的配置,确保所有主机和端口都已正确设置。
-
运行 entrypoint.sh 脚本以启动后端服务:
JEMALLOC_PATH=$(pkg-config --variable=libdir jemalloc)/libjemalloc.so; LD_PRELOAD=$JEMALLOC_PATH python rag/svr/task_executor.py 1;
python api/ragflow_server.py;
如果在后台服务启动中遇到报错,大概率是某些包未安装,按异常提示安装缺少的包即可。
启动 RAGFlow 前端服务
前端服务启动博主在IDE中进行启动
-
导航到
web
目录并安装前端依赖:cd web npm install
-
将 .umirc.ts 文件中的
proxy.target
更新为http://127.0.0.1:9380
vim .umirc.ts
-
启动 RAGFlow 前端服务:
npm run dev
出现以下消息,显示前端服务的 IP 地址和端口号:
-
访问 RAGFlow 服务
在您的网络浏览器中,输入 http://127.0.0.1:<PORT>/
,确保端口号与上图所示的端口号匹配。
登陆后即可进入主页
至此,RAGFlow的本地部署完成