具体步骤我都是参考Mac 版 本地部署deepseek ➕ RAGflow 知识库搭建流程分享(附问题解决方法)

这个帖子的。

因为断断续续弄了大半年,主要是一开始ragflow还是docker与mac os的适配性不行,后面官方慢慢修改后,也是能够在这几个月用上了。每次没有关机的习惯,导致长期搁置后可能docker自动下了。所以要注意除了每次保证ollama和docker都打开后,还要用删除容器和重启容器的指令。在终端进入ragflow-main文件后(一般是cd 取决于你存放ragflow-main的上一级目录/ragflow-main),然后输入删除容器或重启容器的指令:

使用下面的命令删除容器。

docker compose -f docker/docker-compose.yml down

修改配置文件后,再重新启动容器。

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

我是直接在浏览器输入localhost进入的。也可以参考以下帖子,打开docker,看到all ports点开后,选择80:80那个链接进行跳转。

-----------------------------------------------------------分界线----------------------------------------------------------

中间遇到了一些坑,觉得有必要复盘一下。在从github上下载文件后要注意,进入文件夹时要注意进入ragflow-main这个文件夹,里面有50个文件。我不知道自己是从哪里又下了一个只有39个文件的ragflow文件夹。总的来说,你的改动发生在哪个文件夹的文件,你的指令就要对应到哪个文件夹里。我是进入到ragflow-main里,感觉文件要全一点。另外,网络是个很大的问题。有些如docker build -f Dockerfile -t infiniflow/ragflow:v0.16.0 .的指令我都是在境外的时候下载的。因为科学上网也会经常报错。中间有一些报错,忘记截图了。我只放解决指令,也忘记哪条有用了(毕竟有半个多月时间才复盘)。也有一个很大的问题是,我的mac os是8b内存,下载7b的deepseek跑不起来,最后是改成1.5b才能用得上

需要安装homebrew。当时在境外,所以直接参考帖子https://blog.csdn.net/weixin_38716347/article/details/123838344

在终端直接输入/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew intall git

brew -v

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

net stop winnat

docker run -d -p 81:80 docker/getting-started

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null  (该句参考https://xanonymouss.medium.com/docker-port-80-address-already-in-use-on-macos-it-works-d6f2985f32e0

ollama pull nomic-embed-text

网上有建议用docker-compose -f docker-compose-mac.yml up -d --build这句,但我试过,觉得似乎没有效果。

在此之前,先说明很多教程并未针对一些细节讲解。比如坑一。

我通过github在下载infinity/ragflow后,需要先到ragflow文件夹内的docker文件夹内修改env文件,但是env这种文件往往被隐藏了。这时最简单快速的方法就是Command+Shift+. 显示后不需要像Linux系统那样通过指令修改,直接打开env,注释掉slim语句,移除无slim的全版本注释。然后直接关闭文件,确认其自动保存即可。

坑一:no matching manifest for linux/arm64/v8 in the manifest list entries 这个问题在拉镜像的时候出现

解决方法:进入ragflow文件夹内的docker文件夹,找到docker-compose.yml文件,在端口ports与volumes之间那行添加一句platform: linux/amd64

后面的指令也变成是docker compose -f docker/docker-compose.yml up -d

坑二:无法打开RAGFlow或者是Anything

解决方法:版本太旧,要升级

坑三:平台不匹配报错:部署执行 docker compose -f docker/docker-compose.yml up -d 最终报这个错误

解决方法:在Mac的系统设置-网络-Wi-Fi-详细信息-DNS里添加以下网址:在DNS逐行加上8.8.8.8、8.8.4.4、127.0.0.53,然后再运行一次这个语句

*************************分界线***********************
另外由于个人电脑的差别,有些语句需要特别说明。我是把RAGFlow(解压后30多个项目)下载到Downloads文件夹,因此在运行docker compose -f docker/docker-compose.yml up -d这句之前,我需要进入对应的文件夹。指令为cd ~/downloads以及cd ragflow/docker。这个语句跟其他博客的语句有些不一样,有些是用带base语句的。但是我用以上这句即可。

我在浏览器地址是localhost/login,用其他语句好像会出错。同时要保证Ollma是开启状态。

需要特别注意的是,我一开始出现文件解析不成功的情况,所以才会重装RAGFlow。而且在重装后,我上传的是txt文件才会解析成功。

***********************补充*************************

最后一个坑来了,就是在对话过程中出现*ERROR**: [Errno 111] Connection refused。

原因是ollama下的chat模型没有设置好。我是在“模型提供商”那里仅配置ollama的chat模型,至于embedding向量模型,我是去知识库那里直接设置。

建议把url改为http://host.docker.internal:11434

参考了:
💻 DeepSeek+RAGFlow构建个人知识库 - Ray Wong

小白自用笔记:Mac m4 本地化部署 deepseek+ragflow 全流程记录_知识图谱_Y0ungFau1t-DeepSeek技术社区

最后,在解析知识库文件的时候,如果使用ollama自带的两个embedding模型,速度会停滞。因此参考在笔记本电脑上用DeepSeek搭建个人知识库 - 站长工具网 这个帖子。先把ragflow服务停了(删除容器指令:docker compose -f docker/docker-compose.yml down);然后下载:
ollama pull bge-m3

接着重新启动容器:docker compose -f docker/docker-compose.yml up -d

按照上述帖子来修改相应的系统模型及知识库解析模型。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐