本篇主要基于linux服务器部署ragflow+ollama,其他操作系统稍有差异但是大体一样。
一、先决条件
CPU ≥ 4核;
RAM ≥ 16 GB;
磁盘 ≥ 50 GB;
Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1。
如果尚未在本地计算机(Windows、Mac或Linux)上安装Docker,请参阅安装Docker引擎。
——————————————————————
我的服务器系统Ubantu20.04,16核CPU,32G内存,200G硬盘。
——————————————————————
二、启动RAGFLOW服务器
1、确保 vm.max_map_count ≥ 262144:
vm.max_map_count.此值设置进程可能拥有的内存映射区域的最大数量。它的默认值是65530。虽然大多数应用程序需要少于一千个映射,但减少此值可能会导致异常行为,当进程达到限制时,系统会抛出内存不足错误。
RAGFlow v0.10.0使用Elasticsearch进行多次调用。正确设置vm.max_map_count的值对于Elasticsearch组件的正常运行至关重要。
具体操作
检查vm.max_map_count的值
sysctl vm.max_map_count
重置vm.max_map_count>=262144
sudo sysctl -w vm.max_map_count=262144
永久设置,写入/etc/sysctl.conf 配置文件中
利用winSCP打开/etc/sysctl.conf配置文件,将下面这句脚本写入配置文件最下端
vm.max_map_count=262144
注意:道理明白,不管用什么方式打开sysctl.conf配置文件,写入即可。
2、克隆RAGFLOW存储库
git clone https://github.com/infiniflow/ragflow.git
——————————————————
访问不了github.com,参考另篇博文解决
——————————————————
3、构建预构建的Docker映像并启动服务器
运行以下命令会自动下载开发版本RAGFlow Docker映像。
cd ragflow/docker
chmod +x ./entrypoint.sh
docker compose -f docker-compose.yml up -d
注意:镜像文件大约9GB,下载过程可能需要一些时间,请耐心等待。
————————————————
注意:这里拉取时间大概2个半小时(基于我的服务器性能,大家可参考)
如果拉取完成,部分容器启动错误,查看日志进行求助gpt,实在解决不了的话,可以选择所有东西(从docker部署开始)推倒重来一次,有了前面的操作经验,重新部署速度还行,问题也可得到解决,亲测有效。
2024-11-5 国内可用镜像源:
https://docker.1panel.live/
————————————————
4、确认服务器状态
服务器启动成功后,通过以下命令查看服务器日志,确认服务器是否正常运行:
docker logs -f ragflow-server
到此,基于Ubantu20.04、docker启动的ragflow部署完成。
三、RAGFLOW配置 Ollama 连接大模型
1.打开浏览器输入
注册登录账号
登录后出现以下界面
配置ollama大模型,点击右上角头像,再点击模型提供商
我的是本地部署ollama,拉取的qwen2.5
基础URL
http://(your-ollama-endpoint-domain):11434
注意:大家根据自己ollama部署位置填写路径,()里替换为自己的ollama路径即可
我的基础URL
http://10.0.30.34:11434
——————————————————
针对基本url的几点说明
如果您的Ollama和RAGFlow在同一台机器上运行,基本URL:
如果您的Ollama和RAGFlow在同一台机器上运行,并且Ollama或者RAGFLOW在Docker中,基本URL:
如果您的Ollama在与RAGFlow不同的机器上运行,基本URL:
很明显本次部署我属于第三种情况。
————————————————————————————
如果此时通过ollama添加大模型出现102错误,拒绝访问的话,按照以下方式解决:
在路径 /etc/systemed/system/
打开ollama.service文件,写入以下内容即可解决:
Environment="OLLAMA_HOST=0.0.0.0:11434"
重启ollama生效
sudo systemctl daemon-reload
sudo systemctl restart ollama
——————————————————
注意一点:
host.docker.internal:host-gateway
以这样的方式将host.docker.internal映射到host-gateway,以便容器可以访问主机上的服务
——————————————————————
以下是连接成功的截图
四、RAGFLOW建立知识库,创建聊天(可更新)