WSL2+Ubuntu22.04下,如何部署RAGFlow知识库
前言
可以先去自行搜索Windows系统如何开启WSL功能,网络上有很多优质资源可以参考,这里博主不再赘述。同时注意部署RAGFlow大约需要占用30GB左右存储空间,确保你的磁盘够用。
切换英文输入法!!!很重要切记!!!
之后所有操作一定要切换到英文输入法!你可以去输入法-键盘布局中-安装美式键盘!
在WSL2中安装Ubuntu22.04
为什么是Ubuntu22.04?可以看到RAGFlow官方Repo下的Dockerfile用的就是Ubuntu22.04,因此我们使用Ubuntu22.04是绝对没问题的。

在PowerShell中输入以下命令。
wsl --list --online

这里我们选择安装Ubuntu22.04,在PowerShell中输入以下命令。
wsl --install Ubuntu-22.04
等待几分钟左右的下载安装,这样在WSL2中Ubuntu22.04就默认安装到C盘中去了,为了避免占用C盘空间,我们将它移动到别的路径。
安装完Ubuntu22.04后PowerShell应该会直接进入到Ubuntu终端中,并且需要你设置用户名及密码,各位可以先自行设置好,一定要记住你设置的用户名及密码。
设置好后,在Ubuntu的终端中输入以下命令退出Ubuntu。
exit
继续进入到PowerShell的终端,在PowerShell中输入以下命令。
wsl -l -v

这里各位能成功看到各位安装好的Ubuntu22.04。
我们导出Ubuntu22.04为tar文件到D盘,在PowerShell中输入以下命令。
wsl --export Ubuntu-22.04 D:\wsl-ubuntu-22.04.tar
注销我们之前安装在C盘的Ubuntu22.04,在PowerShell中输入以下命令。
wsl --unregister Ubuntu-22.04
重新导入Ubuntu22.04的tar文件,这里我们安装在D盘,在D盘新建文件夹,改名为WSL2-Ubuntu-22.04。你可以安装到其他任意目录,自行修改即可,在PowerShell中输入以下命令。
wsl --import Ubuntu-22.04 D:\WSL2-Ubuntu-22.04 D:\wsl-ubuntu-22.04.tar --version 2
设置默认登录用户名为之前安装时的用户名,在PowerShell中输入以下命令,将以下<username>替换为你的实际的用户名。
ubuntu2204 config --default-user <username>
删除tar文件,在PowerShell中输入以下命令。
del D:\wsl-ubuntu-22.04.tar
在PowerShell中输入以下命令,你还是能够看到Ubuntu22.04。
wsl -l -v

在WSL2中启动Ubuntu22.04
可以在PowerShell中输入以下命令来启动Ubuntu22.04。
wsl -d Ubuntu-22.04
或者点击这个下拉框,我个人更喜欢点击这个下拉框。


这里强烈建议大家学一学vim编辑器的使用,当然不学也行,将后续教程中出现的所有有关vim的命令改为code也行,前提是要在Windows中提前安装好VS Code,如果你是在WSL2的Ubuntu22.04中第一次使用code命令,你会看到Ubuntu22.04终端中提示正在下载安装Installing VS Code Server for Linux x64,后续教程都会以vim为例。
听过一则笑话,如何生成随机字符串?答:让新手使用vim
在Ubuntu22.04中安装Docker
https://docs.docker.com/engine/install/ubuntu/
从这里开始,参考Docker官方安装教程即可。

容易报错的步骤是Ubuntu终端执行这个命令。

解决办法,在终端中输入以下命令。
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
这里各位可以去自行询问gpt,ds等大模型,http-proxy.conf中应该怎么设置才能避免出现你们都懂的问题。WSL2的Ubuntu默认网络模式是NAT模式,可以将其改为镜像模式与Windows共享局域网,不便透露过多,懂得都懂。相信各位可以自行解决!
再次运行以下命令。


按照Docker官方安装教程,在终端中输入以下命令。
sudo docker run hello-world
出现以下输出表明你成功安装了Docker。

在Ubuntu22.04中部署RAGFlow
https://github.com/infiniflow/ragflow
从这里开始,参考RAGFlow官方安装教程即可。

在终端中输入以下命令。
vim /etc/sysctl.conf
直接到末端新建一行输入以下内容。

保存并退出,在终端中输入以下命令。
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
以下操作需要特别注意!!!

我们看到RAGFlow官方写的注意事项,我这里安装的是v0.17.2,带有embedding模型的知识库,你们可以自行选择。
在终端中输入以下命令。
vim .env

看到这里的84行和87行以及注释的提示,你如果想要v0.17.2-slim,不带embedding模型的知识库,那么不需要任何改动,直接按Esc,Shift+:,输入q,回车退出vim。
你如果想要像我一样,安装的是v0.17.2,带有embedding模型的知识库,那么将第84行注释掉,取消第87行的注释。按Esc,Shift+:,输入wq,回车退出vim。
在终端中输入以下命令。
sudo docker compose -f docker-compose.yml up -d

耐心等待Docker拉取所需依赖镜像文件,大约需要三十分钟左右!!!
成功安装并且部署后,应该会是如下结果。

在终端中输入以下命令。
sudo docker logs -f ragflow-server
出现以下输出,表明安装部署成功!!!!!

按Alt+Tab切换到浏览器,输入127.0.0.1。

出现以下页面表示你已经完全成功了,恭喜你!!!
注册邮箱和密码登录即可,要注意的是,这个127.0.0.1页面中注册好的邮箱和密码其实只是保存在本地的,本地使用的账户,并不是RAGFlow | RAGFlow这个RAGFlow官网的账户。
如何停止所有RAGFlow相关Docker容器的运行?
在终端中输入以下命令。
sudo docker compose -f docker-compose.yml down
出现以下输出,表明所有RAGFlow相关Docker容器已停止运行。

如何更新RAGFlow版本
在终端中输入以下命令。
git pull
git branch
git checkout -f v0.17.0
git switch -
cd docker
vim .env
sudo docker compose -f docker-compose.yml pull
注意这个git checkout -f v0.17.0,其中v0.17.0是版本号,这只是我这篇博客发布的这段时间的最新RAGFlow的版本号,具体更新到了多少的版本号需要自行去Github上RAGFlow的官方Repo中去关注!!!!!
注意这个vim .env,回到之前那个问题,你是需要带embedding模型的知识库还是不带embedding模型的知识库,自行修改即可!!!





后记
RAGFlow中的docker-compose.yml主要是吃CPU和内存的资源,将以上操作中的docker-compose.yml全部更换为docker-compose-gpu.yml,则是以GPU加速RAGFlow知识库的embedding模型与深度文档检测(DeepDoc)任务,目前博主暂未尝试过使用GPU运行以上任务,有经验的大佬可以交流交流!!!
为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。
更多推荐



所有评论(0)