概述
Dify 是一个开源的 LLM 应用开发平台。其操作界面融合了 AI 工作流程、RAG 管道、代理、模型管理、可安装性 AI 功能,可视化的工作流,让我们可以轻松在上面构建和测试功能增强的 AI 工作流程,支持非常全面的大模型,实现可以快速从原型到生产。 当我们在本地内网部署 Dify 时,由于一般都缺乏固定的公网 IP,所以我们只能在内网中访问 Dify ,而无法将其分享给朋友、同事访问;内网穿透能很好的帮我们解决这个问题,无需固定 IP ,通过专用域名即可实现任意位置通过公网都能访问到内网中 Dify, 且部署、操作简单、快捷。 本文介绍在 Ubuntu 22.04 系统中,以 Docker 容器的方式部署 Dify 及 ZeroNews 零讯内网穿透。部署步骤:
第一步: 部署 Dify 应用平台
能正常 SSH 远程连接到 Ubuntu 22.04 系统,并提前安装好 docker 及 docker compose 工具 Dify 应用平台会占用 80 / 443 端口,请确保端口未被占用下载 Dify 项目
通过 git 在 Dify 的官方 github 仓库下载 Dify 项目
启动 Dify 相关容器
进入到 Dify 项目根目录下的 docker 目录,该目录下有 docker-compose.yaml 文件,我们执行 docker-compose up -d 启动 Dify 相关容器
Dify 相关容器部署完成后,我们可以查看已运行的容器
内网访问 Dify 应用平台
在浏览器中,通过 ubuntu 系统的 IP 地址访问 Dify 应用平台http://{内网 IP}
首次打开 Dify 平台,需要为 Dify 平台设置管理员,点击登录页下方的 “设置管理员账号” 进入到 管理员账号 设置页面
输入管理员账户的 邮箱、用户名及密码,然后点击 “设置”完成管理员账户设置
然后通过邮箱登录 Dify 应用平台
第二步: 在 Dify 应用平台上,构建大模型应用
Dify 应用平台基础操作
在 Dify 应用平台主界面中,点击 “创建空白应用” 来构建应用
选择应用的类型,输入应用名称及描述信息,然后点击 “创建” 完成应用创建
选择一个大模型,进行设置就行
下面我们部署一个 ollama 本地模型进行测试
部署 ollama 本地模型
安装 Ollama
在 ubuntu 系统通过一条命令部署 ollama 本地模型
重启 ollama 服务,执行如下命令。
http://{主机 ip}:11434, 检查 ollama 是否正常运行, 显示 “Ollama is running”, 表示 ollama 运行正常
下载大模型
下载大模型,以 llama3.2 为例,下载 llama3.2 模型
第三步: 在 Dify 应用平台上应用 ollama 模型
添加本地 ollama 模型
点击右上角用户的图标,然后点击 “设置”, 进入到 Dify 设置界面
在设置窗口中,点击 “模型供应商”, 找到 Ollama , 然后点击 “添加模型”
在添加 Ollama 模型窗口中, 模式名称输入下载好的 “llama3.2” 模型, 基础 URL 输入 ollama 的地址 http://主机 IP:11434,然后点击保存
ollama 大模型添加成功后,可以查看添加好的模型
添加模型应用
点击 Dify 主页的”仓库空白应用” 来添加 ollama 应用
添加一个聊天应用,应用类型选择聊天助手,编排方法默认为基础编排,输入应用名称,如”Chat”,然后点击创建
应用创建完成后,即可进行即时对话,如在左边的提示词中输入”中文”, 在右下方的内容输入框中输入 AI
第四步: 部署 ZeroNews 内网穿透
我们通过 Docker 容器方式部署 ZeroNews 内网穿透选择快速开始方式
登录 https://user.zeronews.cc ,在「快速开始」页面,选择 Docker 安装方式,然后选择 ZeroNews 公共仓库(国内),按步骤操作。
按步骤运行 ZeroNews 服务
通过以下命令在 ZeroNews 官方仓库下载 ZeroNews 容器镜像创建数据目录并启动容器
选择 Docker Run 方式运行,执行如下命令
请复制快速开始页面的 AuthToken 替换 <your token> 占位符。
查看运行中的客户端状态
ZeroNews 容器启动成功后,在 ZeroNews 控制台「关联客户端」页面查看已上线的 ZeroNews 容器设备。第五步: 为 Dify 添加域名及隧道
为 Dify 平台添加域名
在 ZeroNews 管理平台的「自定义域名」管理界面中,添加域名(以difyai 为例):
- 在「域名类型」中选择「默认域名」,并在「子域名前缀」中输入
difyai,然后点击「域名可用性检测」 - 若下方「接入域名」显示为「可注册」,则表示该域名当前可添加使用,点击单选框选择该域名
- 点击「提交」,完成域名添加
为 Dify 应用平台添加公网隧道
在 ZeroNews 管理平台的 “隧道” 管理界面下,添加隧道- 选择隧道模式:
- 在“隧道模式”下拉框中,保持选择 “标准隧道”
- 选择隧道特性:
- 在“隧道特性”下拉框中,选择 “Raw”(这是默认的透传模式)
- 配置协议与带宽:
- 隧道协议:选择 “HTTPS”。
- 带宽(Mbps):在输入框中填写所需的带宽数值(例如 1)
- 设置公网域名:
- 在“公网域名”选项中,点击选择 “自定义域名”
- 在下方的“选择自定义域名”下拉框中,选择刚才添加的域名,例如
difyai.hn.takin.cc
- 配置内网映射信息:
- 绑定设备:点击下拉框选择需要绑定的在线设备
- 内网 IP:在输入框中填写内网 IP 地址,例如
127.0.0.1 - 内网端口:在输入框中填写服务对应的端口号( Dify 应用平台的端口号 80)
- 完成添加:
- 点击右下角的 “确认” 按钮即可保存。
第六步:通过浏览器公网访问 Dify AI 服务
打开浏览器,输入刚才配置好的隧道地址,就可以访问 Dify AI 服务了。
提示:文档截图及示例中的域名、隧道地址可能与您当前实际使用的不一致,请以 ZeroNews 控制台显示的实际地址为准。