Mac电脑也能部署ragflow了,看教程!

 

作为一款热门的RAG知识库,RAGflow一开始就非常火爆。官方也提出了两种部署方式:docker部署和源码部署。

然而,对于mac的用户却是各种各样的问题。而且官方也不维护ARM的docker镜像。

博主,就把自己部署的方式给大家分享。整个部署都是参考官方操作手册。

https://ragflow.io/docs/dev/launch_ragflow_from_source

安装前准备

源码部署前我们必须要安装三个工具。

1、docker环境,用来安装ragflow所依赖的资源包:mysql、es、minio资源。

2、nodejs环境,用来部署web前端环境。

3、uv包管理器。mac可以直接通过在命令框中输入:brew install uv 即可。

安装操作具体步骤

大部分的命令都是和官方保持一致,切记红色的命令,必须要执行!

第一步:下载包资源

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/

打开文件pyproject.toml将xgboot版本改为1.6.0

不然在执行下一步操作,就会报错这个:

第二步:安装依赖文件

uv sync --python 3.10 

第三步:安装依赖的第三方库:mysql、es、minio等。直接运行docker命令,一键安装。

docker compose -f docker/docker-compose-base.yml up -d

这时候,我们可以通过“docker ps”命令,观察第三方依赖库是否正常安装。

第四步:修改/etc/hosts文件,添加一行,目的用来配置es和mysql等的访问路径。

127.0.0.1       es01 infinity mysql minio redis

tips:如果hosts文件无法修改,可以直接复制到其他文件夹,修改好再覆盖原文件。

第五步:修改python运行环境变量,以及配置访问镜像地址。

source .venv/bin/activate
export PYTHONPATH=$(pwd)
export HF_ENDPOINT=https://hf-mirror.com

第六步:执行下面的命令:

首先要安装pkg-config,如果电脑有,可以忽略这条命令。

brew install pkg-config 

第七步:运行程序,启动后端代码,注意是两个程序:ragflow_server 和 task_executor。

nohup python api/ragflow_server.py > logs/ragflow_server.log 2>&1 &

JEMALLOC_PATH=$(pkg-config --variable=libdir jemalloc)/libjemalloc.so;
LD_PRELOAD=$JEMALLOC_PATH python rag/svr/task_executor.py 1;

如果控制台和logs/ragflow_server.log 都没有错误,代表程序启动成功。

这个是ragflow的日志。

这个是task_executor的日志。

接下来就是执行前端了,再打开一个ragflow的窗口,执行下面的命令,很简单:

cd web
npm i
npm run dev

如果发现这个命令,代表已经成功启动。

写在后面的话

今天总算是在mac端将代码部署起来了,接下来可以借助ragflow有更多的玩法等待着大家。

 


(文:大瑜聊AI)

欢迎分享

发表评论