案例介绍
在当今数字化和智能化的时代,大语言模型(LLM)的应用正以前所未有的速度改变着各个领域的工作方式和用户体验。Dify 作为一个开源的大语言模型应用开发平台,为开发者们提供了便捷且强大的工具,助力构建从基础智能体到复杂人工智能工作流程的各类大语言模型应用。其核心优势在于集成了检索增强(RAG)引擎,通过对海量数据的智能检索与分析,能够精准地为大语言模型提供相关信息,极大地提升模型输出的准确性和相关性。 本案例着重介绍基于香橙派鲲鹏 pro 开发板如何部署 Dify,并使用 openGauss DataVec 向量数据库作为 RAG 引擎语料库,从而搭建出高效智能的助手平台。
案例环境介绍
本案例基于香橙派鲲鹏 pro 开发板上的鲲鹏处理器和 openGauss 数据库。
openGauss 是关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。
有关 openGauss 的详细介绍和资源可以参考如下网址:
openGauss 门户网站
https://opengauss.org/
openGauss 代码仓
https://gitee.com/opengauss
案例设备介绍
关键配置如下表所示:
案例软件工具介绍
软件方面,本案例需要一台终端电脑与香橙派鲲鹏 pro 开发板连接以输入操作命令。对于 Windows 10 macOS Linux,我们可以用命令行工具 ssh 完成这个过程。如果在有些 Windows 系统下不能运行 ssh 工具,也可以使用 Putty 或者 MobaXterm 工具软件。
案例环境搭建
连接并登录到香橙派鲲鹏 pro 开发板
网线直连开发板
本方式硬件连接如下所示:

使用网线连接开发板和 PC。
开发板插入网线,另一端连接 PC,启动上电。

配置个人 PC 的网络设置
开发板通过网线和个人 PC 连接后,需要使开发板的 ip 地址(192.168.10.8)和个人 PC 的以太网处于同一网段,才能实现网络互联。
具体操作步骤如下:
步骤 1:打开 Windows 设置。
在 PC 上打开“开始”,单击“设置”按钮,进入“Windows 设置”界面:

步骤 2:打开更改适配器选项。
选择“网络和 Internet”,单击“更改适配器选项”:

步骤 3:打开连接网线对应的以太网属性。
出现已连接的“以太网 x”就是开发板网线连接接口,如下图中的“以太网 3”,选中后右键打开,点击“以太网 x”的属性:

步骤 4:修改 IPV4 属性。
修改“Internet 协议版本 4(TCP/IPv4)”的属性,如下图:

步骤 5:设置 ip 和子网掩码。
勾选“使用下面的 IP 地址”选项,填写 IP 地址(此处设置为 192.168.10.1)和子网掩码,默认网关与 DNS 服务器地址为空,单击“确定”保存:

步骤 6:验证。
在键盘上使用快捷键“Win+R”,在运行窗口输入 cmd 进入命令行窗口。输入 ipconfig 命令查询 PC 网口 IP 地址是否修改成功:
C:\Users\用户实际信息>ipconfig

登录开发板
通过 cmd 登录开发板(方式一)
在键盘上使用快捷键“Win+R”,在运行窗口输入 cmd 进入命令行窗口。

然后运行如下 ssh 登录命令:
ssh root@192.168.10.8

输入密码然后按下“Enter”键,默认开发板上 root 用户的密码为openEuler。
登录成功后的界面如下所示:

使用 ssh 工具登录开发板(方式二)
也可以通过其它 ssh 工具软件登录到开发板,如 MobaXtrem、xshell、putty 等。这里以 MobaXtrem 为例显示。
从本地电脑通过配置香橙派鲲鹏 pro 开发板的 IP 地址(如:192.168.10.8)来连接香橙派鲲鹏 pro 开发板,并使用 root 用户及对应密码(openEuler)来登录。


输入 root 用户及对应密码(openEuler),然后按“Enter”键登录。
开发板网络连接(推荐)
WIFI 连接
步骤 1:连接前准备:连接并登录到香橙派鲲鹏 pro 开发板 先连接并登录到开发板。 步骤 2:扫描 WIFI 热点:开发板上执行 nmcli dev wifi 命令扫描周围的 WIFI 热点:
[root@openEuler ~]# nmcli dev wifi

步骤 3:连接指定 WIFI。
然后使用 nmcli 命令连接扫描到的 WIFI 热点,其中:
a. wifi_name 需要换成想连接的 WIFI 热点的名字。
b. wifi_passwd 需要换成想连接的 WIFI 热点的密码。
[root@openEuler ~]# nmcli dev wifi connect wifi_name password wifi_passwd
输入命令,以 Ljm_iPhone 为例,
连接成功后输出:成功用 "wlan0ab877337-e465-440a-852d-c95ee6b5f4b0" 激活了设备 。

步骤 4:测试 WIFI 是否连通。
使用 ping 命令可以测试 WIFI 网络的连通性,ping 命令可以通过 Ctrl+C 快捷键来中断运行。
[root@openEuler ~]# ping www.hikunpeng.com -I wlan0
输出结果如下图所示。

智能问答助手搭建
步骤介绍
基于 openGauss DataVec + Dify 快速搭建一个智能问答助手分如下四步:
在开发板上部署 dify 框架。 安装插件,对接云服务的大模型服务。 基于 opengauss 创建本地的知识库。 基于本地知识库完成问答助手搭建。
操作内容
步骤 1 :删除防火墙:防火墙删除后,请将开发板断电重启。
[root@openEuler docker]# yum remove firewalld
步骤 2 :重新登录到开发板 步骤 3 :查看路由状态及防火墙状态
[root@openEuler docker]# systemctl status iptables 查看路由状态
[root@openEuler docker]# systemctl status firewalld 查看火墙状态

步骤 4 :下载 dify-1.1.3 的源码包
https://github.com/langgenius/dify/tree/1.1.3
下载完后,文件名为 dify-1.1.3.zip。
步骤 5 :下载 docker-compose:https://github.com/docker/compose/releases

下载完后,文件名为 docker-compose-linux-aarch64。
步骤 6 :创建工作目录
[root@openEuler ~]# mkdir usr/local/dify
步骤 7 :上传文件至开发板
将下载的文件 dify-1.1.3.zip、docker-compose-linux-aarch64 上传至/usr/local/dify 目录。

步骤 8 :解压安装 dify
[root@openEuler ~]# cd usr/local/dify
[root@openEuler dify]# unzip dify-1.1.3.zip -d usr/local/dify/
步骤 9 :配置 dify 参数
[root@openEuler dify]# cd usr/local/dify/dify-1.1.3/docker
[root@openEuler docker]# cp .env.example .env
使用 vim 命令打开并编辑 .env 文件。
[root@openEuler docker]# vim .env
按 i 进入插入模式,修改对应 387 行,将 VECTOR_STORE 的值改为 opengauss,如下图。

修改好后,按键盘上“Esc”键,然后输入:wq 进行保存退出文件编辑。
修改权限,使用 vim 命令打开并编辑 docker-compose.yaml 文件
[root@openEuler docker]# vim usr/local/dify/dify-1.1.3/docker/docker-compose.yaml
按 i 进入插入模式,修改对应 546、568 行,增加 privileged: true, 如下图:

修改好后,按键盘上“Esc”键,然后输入:wq 进行保存退出文件编辑。
步骤 10 :安装 docker-compose
[root@openEuler docker]# cd usr/local/dify
[root@openEuler dify]# mv docker-compose-linux-aarch64 usr/bin/docker-compose
[root@openEuler dify]# chmod 777 usr/bin/docker-compose
[root@openEuler dify]# cd usr/local/dify/dify-1.1.3/docker
[root@openEuler docker]# yum install docker
[root@openEuler docker]# systemctl start docker
步骤 11 :拉取镜像
直接拉取可能会下载到 x86 版本的 nginx,可以手动拉取并改名。
拉取并改名(方式一)。
[root@openEuler docker]# docker pull arm64v8/nginx:latest
[root@openEuler docker]# docker tag arm64v8/nginx:latest nginx:latest
如果网络不好,拉取可能会报错,此时可以采用方式二。

拉取并改名(方式二)。
拉取(大概要执行 20 分钟左右)
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-api:1.1.3
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-web:1.1.3
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/postgres:15-alpine
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/redis:6-alpine
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-sandbox:0.2.11
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-plugin-daemon:0.0.6-local
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/squid:latest
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/nginx:latest
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/opengauss:7.0.0-RC1
改名
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-api:1.1.3 langgenius/dify-api:1.1.3
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-web:1.1.3 langgenius/dify-web:1.1.3
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/postgres:15-alpine postgres:15-alpine
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/redis:6-alpine redis:6-alpine
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-sandbox:0.2.11 langgenius/dify-sandbox:0.2.11
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/dify-plugin-daemon:0.0.6-local langgenius/dify-plugin-daemon:0.0.6-local
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/squid:latest ubuntu/squid:latest
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/nginx:latest nginx:latest
docker tag swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/opengauss:7.0.0-RC1 opengauss/opengauss:7.0.0-RC1
步骤 12 :启动容器
[root@openEuler docker]#docker rm $(docker ps -aq)
[root@openEuler docker]#docker-compose up -d
容器第一次启动要连接数据库等,所以会花费几分钟。
注:关闭容器命令docker-compose down
一切顺利会得到类似这样结果:
[root@localhost docker]# docker ps |grep docker-

步骤 13 :登录 dify
等过几分钟后,就可以在本地浏览器 http://192.168.10.8/ 进行登录。
注:浏览器不要对服务器 ip 做代理,且本地要能连接互联网。

创建账号,密码,即可登录。
步骤 14 :对接云服务大模型
右上角点击“插件”-“探索 Marketplace”-“模型”下载导入模型的插件(以通义千问为例)-安装插件(通义千问)。

可能要几分钟,如果一次没有安装成功可多安装几次。
步骤 15 :登录阿里云申请账号
登录https://bailian.console.aliyun.com/?tab=model#/api-key,申请账号,并创建一个API-KEY。

步骤 16 :Dify 上配置模型 API-KEY
进入账户设置页面。

配置 API-key。

请确保 KEY 能正常使用。
步骤 17 :创建知识库,并导入期望的文本。


选择 Embedding 模型。

检索设置。

保存处理成功显示如下:

步骤 18 :创建聊天助手,在工作室界面,选择创建空白应用。

创建聊天助手,填写应用名,然后点击“创建”按钮。

配置模型,先设置提示词“结合知识库回答问题”,并导入知识库。

接着点击发布,选择发布更新。

再点击运行,即可生成问答界面。

未使用知识库时,提问反馈:

使用知识库后,提问反馈:

至此智能助手平台搭建完成。




