当前位置: 首页 > news >正文

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

概念说明

  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/difyunzip dify-main.zipcd dify-main/dockercp .env.example  .env

4、编辑 .env

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

vi .envAPP_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-reloadsystemctl  enable ollama systemctl start ollamaollama  --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/ragflowcd /opt/ragflowunzip 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搭建自己的知识库

http://www.lqws.cn/news/544267.html

相关文章:

  • PHP语法基础篇(六):数组
  • 通达信 稳定盈利多维度趋势分析系统
  • 鸿蒙OS开发IoT控制应用:从入门到实践
  • 概述-2-MySQL安装及启动-1-Dcoker安装MySQL
  • vue将页面导出pdf,vue导出pdf ,使用html2canvas和jspdf组件
  • Jmeter并发测试和持续性压测
  • 手机屏亮点缺陷修复及相关液晶线路激光修复原理
  • 利用云雾自动化在智能无人水面航行器中实现自主碰撞检测和分类
  • UI前端大数据处理实战技巧:如何有效应对数据延迟与丢失?
  • PILCO: 基于模型的高效策略搜索方法原理解析
  • HarmonyOS 5智能单词应用开发:记忆卡(附:源码
  • JVM 的 Dump分析以及 GC 日志
  • Vulkan模型查看器设计:相机类与三维变换
  • 【Python数据库】Python连接3种数据库方法(SQLite\MySQL\PostgreSQL)
  • 人工智能-基础篇-4-人工智能AI、机器学习ML和深度学习DL之间的关系
  • 人工智能-基础篇-3-什么是深度学习?(DL,卷积神经网络CNN,循环神经网络RNN,Transformer等)
  • fish安装node.js环境
  • 【CMake基础入门教程】第八课:构建并导出可复用的 CMake 库(支持 find_package() 查找)
  • 视觉疲劳检测如何优化智能驾驶的险情管理
  • Java练习题精选16-20
  • C++01背包问题
  • 汇总表支持表头分组,查询组件查询框可以调整高度,DataEase开源BI工具v2.10.11 LTS版本发布
  • ESP32 008 MicroPython Web框架库 Microdot 实现的网络文件服务器
  • A Machine Learning Approach for Non-blind Image Deconvolution论文阅读
  • 金蝶云星空客户端自定义控件插件-WPF实现自定义控件
  • 电磁波是如何传递信息的?
  • 鸿蒙 List 组件解析:从基础列表到高性能界面开发指南
  • 前端 E2E 测试实践:打造稳定 Web 应用的利器!
  • 海外 AI 部署:中国出海企业如何选择稳定、安全的云 GPU 基础设施?
  • 扬州搓澡非遗解码:三把刀文化的“水包皮“