相比较MaxKB而言,RAGFlow的部署过程可谓是复杂得多!如果你图简单地话,可以直接移步到《Ubuntu服务器MaxKB的部署流程》这篇文章!
升级和安装相关的依赖
操作系统更新
sudo apt update && sudo apt upgrade
安装git-all
sudo apt install git-all
安装curl
sudo apt install curl
验证是否安装成功
curl --version
下载和安装git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs
确保 vm.max_map_count 不小于 262144
sysctl vm.max_map_count
如果显示的数字小于262144,则继续进行如下的操作
sudo sysctl -w vm.max_map_count=1048576
这里的数字只要大于262144即可,根据自己的需要去写!
为了服务器重启之后依然生效,我们需要编辑如下的文档
sudo vim /etc/sysctl.conf
然后将下面这句命令添加到文件的末尾
vm.max_map_count=1048576
保存文件,退出编辑!
克隆仓库
为了国内下载文件更加快速,我用了代理地址来取代github的官方地址
git clone https://github.1319lm.top/infiniflow/ragflow.git
下载完成之后可以进入到ragflow目录中
cd ragflow
切换库的版本
git checkout -f v0.16.0
编辑docker配置文件
由于国内用户pull相关docker中的镜像文件的时候经常掉链子,我们需要编辑docker的配置文件,增加国内的镜像源
sudo vim /etc/docker/daemon.json
文件的内容如下,之间复制进去
{ "registry-mirrors": [ "https://docker.registry.cyou", "https://docker-cf.registry.cyou", "https://dockercf.jsdelivr.fyi", "https://docker.jsdelivr.fyi", "https://dockertest.jsdelivr.fyi", "https://mirror.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.mirrors.ustc.edu.cn", "https://mirror.iscas.ac.cn", "https://docker.rainbond.cc" ] }
重新加载配置文件
sudo systemctl daemon-reload
重启docker服务
sudo systemctl restart docker
pull ragflow项目中相关的镜像
运行下面的docker命令
docker compose -f docker/docker-compose.yml up -d
pull的时间由于我们前面已经更换成了国内的镜像源,所以时间会更快一点,大概十分钟的样子,不过pull结束后会抛出一个错误
意思就是80端口被占用了,因为ragflow默认是在80端口运行的
运行下面的命令查看是什么程序占用了80端口
sudo lsof -i :80
我的80端口是被nginx占用的,所以我需要kill掉所有的nginx服务
sudo service nginx stop
启动RAGFlow服务
重新运行下面的docker命令启动RAGFlow服务就不会报错了!
docker compose -f docker/docker-compose.yml up -d
然后我们继续运行下面的命令,来查看ragflow服务日志
docker logs -f ragflow-server
- 功能:实时查看名为
ragflow-server
的 Docker 容器的日志输出(类似tail -f
)。- 参数
-f
:保持持续监听(--follow
),日志会实时滚动显示。- 关键点:此命令仅用于查看日志,不会启动或管理容器本身的生命周期!
当我们看到有类似“http://127.0.0.1:9380”地址出现的时候,就意味着我们的ragflow服务已经在运行了!
此时我们可以直接打开服务器的局域网IP地址(不带端口号)就可以打开RAGFlow页面了!
首次登录,需要注册账号
登录之后的界面非常干净,是我喜欢的样子!
配置大模型
RAGFlow的大模型配置大体上和MaxKB差不多
我这里同样以vllm+oneapi来举例
本地部署的oneapi,即使做了域名的解析,在基础Url中依然要填写IP地址;
模型名称一定要与oneapi中的模型名称保持一致!否则添加模型不会成功!
上传文件提示大小过大
我们在上传文件构建知识库的时候,可能会遇到下面的报错“上传的文件总大小过大”
这种情况我们需要修改RAGFlow环境配置文件中的关于文件上传大小的参数
修改.env文件参数
首先cd到ragflow根目录
cd ragflow
然后输入下面的修改命令来编辑.env文件
vim docker/.env
进入到.env文件,找到”MAX_CONTENT_LENGTH”这个参数,取消前面的注释,并将其值修改为734003200
MAX_CONTENT_LENGTH=734003200
修改好之后保存文件退出编辑
修改nginx参数
我们还需要编辑nginx配置文件
sudo vim /etc/nginx/sites-available/default
将nginx中的文件大小的参数修改为700M
client_max_body_size 700M;
修改好之后要重启nginx服务
sudo systemctl reload nginx
至此,上传文件就不会再提示文件过大的错误提示了!
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/ubuntufuwuqiragflowdebushuliucheng/.html