1. 前提
今天在本地部署 ragflow的时候,因为是苹果M芯片,ragflow并不维护docker镜像,所以需要自己构建镜像. 这个是ragflow 的官网说明:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv run download_deps.py
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
2.下载依赖时遇到的问题
根据官网的说明,先clone 仓库。然后安装一些依赖。
首先遇到一个一个大坑
uv run download_deps.py
提示
╰─ uv run download_deps.py
⠼ Resolving dependencies... error: Failed to fetch: https://mirrors.aliyun.com/pypi/simple/nltk/
Caused by: Request failed after 3 retries
Caused by: error sending request for url (https://mirrors.aliyun.com/pypi/simple/nltk/)
这里总是遇到网络错误,但是我访问 https://mirrors.aliyun.com/pypi/
确实能正常访问的。
检查uv 的配置,也是使用的阿里云的源(这里我没有怀疑过这个镜像有问题)。浪费了好长时间。
[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple"
后来尝试更换一下镜像,不知道阿里源是什么问题, 把这个镜像修改为清华源才正常下载。
[[tool.uv.index]]
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
3.构建依赖镜像
安装依赖后。然后创建依赖的镜像
docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .
这里到没有什么问题,但是这个镜像有11.3GB,太大了!
4.创建自定义的ragflow镜像
然后再创建另外一个镜像
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
提示这个错误
没有这个文件夹,查看本地的目录,确实没有rag
这个文件夹, 但是我是从github clone下来的。我也没有删除过什么。
查看github 仓库确实有rag
这个文件夹。
查看git remote -v
和 branch
,也都是一样的。
这里我写的比较简单,这期间我尝试删除仓库,又git clone && git pull
了多次,还是没有获取到rag文件夹。
最后发现,因为我配置了ssh,所以我git clone
一般习惯使用ssh
,但是就是这里出了问题
[email protected]:infiniflow/ragflow.git
而说明使用的是 https
git clone https://github.com/infiniflow/ragflow.git
正常来说使用 [email protected]:infiniflow/ragflow.git
(SSH 协议)和 git clone https://github.com/infiniflow/ragflow.git
(HTTPS 协议)拉取的内容应该是一致的,不应该不同。不知道官网仓库什么原因,但是这里拉取的内容就是不一样。
最后使用 https clone
下来,修改dockerfile 中的 ARG NEED_MIRROR=1
使用国内镜像,运行
docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim .
现在又卡到这里了
可能也是网络问题,但是我不想再去源码折腾了,还是放弃吧~
总结
由于问题较多,而且占用空间太大,暂时放弃在mac上部署ragflow。若后续尝试,建议直接使用 HTTPS 克隆仓库,并使用国内镜像源。如果有非ARM核心,建议使用非ARM核心部署ragflow,否则建议选择 anytingllm 来替代,没有这么多问题。
关注我获取更多资讯

