本地部署Dify+Ragflow及使用(一)

发布于:2025-06-28 ⋅ 阅读:(11) ⋅ 点赞:(0)

概念说明

  1. RAGflow
    • 吃透知识:将企业文档(如技术白皮书)解析为结构化知识片段。
    • 精准检索:当用户提问时,从知识库中召回最相关内容。
  2. 模型供应商
    • 提供大脑:为 Dify 提供生成答案的模型能力(如 Ollama 运行 Llama3)。
  3. Dify
    • 组装智能体:连接知识检索(RAGflow)和模型推理(Ollama),构建完整问答流程。
    • 交互界面:生成用户可访问的聊天页面或 API。

 场景示例

用户问:“超融合系统的双机热备如何配置?”

  1. RAGflow:从《超融合管理系统白皮书》中检索出配置步骤、拓扑图、注意事项。
  2. Dify:将检索结果 + 用户问题发送给模型供应商(如 Ollama)。
  3. Ollama(运行 Llama3):生成答案:“配置步骤如下:1. 准备两台服务器... 详见下图:<拓扑图>”。
  4. Dify:将答案返回给用户。

基础环境准备

虚机1:openeuler 24.03        8C/16G/500G        192.168.0.5        部署dify+ollama

虚机2:openeuler 24.03        8C/8G/500G        192.168.0.7        部署ragflow

  • 关闭selinux、关闭firewalld、虚机能够访问互联网
  • 两台虚机都需要安装docker、docker-compose

安装docker

1、准备镜像仓库

系统的镜像仓库和docker的镜像仓库,我用的都是华为云的

openEuler.repo

[base]
name=openEuler-24.03-LTS - Base
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/OS/$basearch/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=openEuler-24.03-LTS - Everything
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/$basearch/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler

docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/source/stable
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/source/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/9/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

遇到的坑:下载docker时报错,原因docker镜像库不认识欧拉24.03这个版本(没有欧拉版本),将其改为centos9即可,即baseurl的链接中将欧拉版本改为centos9的版本。

2、安装docker

 安装docker

dnf install -y docker-ce docker-ce-cli containerd.io 

  启动docker并设置开机自启

systemctl  enable --now docker

查看docker版本 

docker --version  
Docker version 28.2.2, build e6534b4

安装docker-compose

1、下载docker-compose的二进制文件,并将文件放在/usr/local/bin/目录下

curl -L "https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)"   -o /usr/local/bin/docker-compose

遇到的坑:1、由于网络的限制,github访问不了,于是我用了魔法;2、使用dnf直接从镜像库下载docker-compose虽然能下载,但是版本太老还是1.x.x版本的,到后面启动容器会报错,所以还得下2.x.x以后的版本

2、赋予执行权限,查看版本信息

chmod +x /usr/local/bin/docker-compose 

ln -s /usr/local/bin/docker-compose  /usr/bin/docker-compose 

docker-compose  --version 
Docker Compose version v2.27.1

部署dify

说明:此部分操作在虚拟机1上进行

1、下载git工具

dnf -y install git

2、下载dify的软件包

git clone https://github.com/langgenius/dify.git

遇到的坑:老问题,如果git无法访问,那就直接去github上找这个项目,下载zip,然后传到dify虚机上

3、准备 .env变量文件

mkdir /opt/dify  && cd /opt/dify

unzip dify-main.zip


cd dify-main/docker

cp .env.example  .env


4、编辑 .env

这个字段要改成本机地址,其他配置基本不用动。因为我是两台虚机分别部署dift、ragflow,所以不用担心端口冲突的问题,端口保持默认即可。

vi .env

APP_WEB_URL=http://192.168.0.5

遇到的坑:这个是我自找的,后续我对两个虚机改了下地址,但是测试工作流时总是访问原来的地址,原因就是这里没有改。

5、启动容器

执行如下命令,启动dify容器,这个过程会去互联网上拉镜像

docker-compose up -d

遇到的坑:一般情况下拉镜像都会报错,因为默认访问外网是不通的,所以国内一般都有加速器比如阿里、163、中科大、华为等,但是奇怪的是即使配置了国内加速器,拉镜像依然失败。找了好多资料,终于找到一个好使的加速器,如下

cat /etc/docker/daemon.json  

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.1panel.live/",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "max-concurrent-downloads": 10,
  "max-download-attempts": 3
}

配置完,重新执行上步,就能正常拉取了 

6、访问

http://192.168.0.5   

部署ollama

说明:此部分操作在虚拟机1上进行

本来有install,sh脚本可以一件部署,但是又由于网络的限制执行不下去,于是我用了以下方法

1、下载ollama安装包

wget https://ghproxy.com/https://github.com/ollama/ollama/releases/download/v0.9.2/ollama-linux-amd64.tgz

2、解压,移动至二进制目录,赋予执行权限,修改服务配置

tar -zxvf ollama-linux-amd64.tgz  

mv bin/ollama  /usr/local/bin/ 
 
chmod +x /usr/local/bin/ollama  

tee /etc/systemd/system/ollama.service > /dev/null <<EOF
[Unit]
Description=Ollama AI Service
After=network.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=5
Environment="OLLAMA_HOST=0.0.0.0:11434"

[Install]
WantedBy=multi-user.target
EOF

3、 启动ollama服务

systemctl   daemon-reload
 
systemctl  enable ollama 

systemctl start ollama

ollama  --version
ollama version is 0.9.2

4、下载大模型

 漫长的等待

ollama run deepseek-r1:7b

 下载完成

ollama  ls 
NAME                ID              SIZE      MODIFIED     
deepseek-r1:1.5b    e0979632db5a    1.1 GB    44 hours ago    
deepseek-r1:7b      755ced02ce7b    4.7 GB    2 days ago 

部署ragflow

说明:此部分操作在虚拟机2上进行,在部署ragflow之前,先保证docker、docker-compose已经运行正常

1、下载ragflow安装包,直接去对应的github上打包下载,然后传到虚机后台,解压

mkdir /opt/ragflow
 
cd /opt/ragflow

unzip ragflow-main.zip  

2、直接启动

什么配置都不用改直接启动

cd ragflow-main/docker 

docker compose -f docker-compose.yml -p ragflow up -d

3、访问

http://192.168.0.7

以上就是部署过程,第二篇文章会介绍如何使用dify+ragflow搭建自己的知识库


网站公告

今日签到

点亮在社区的每一天
去签到