引言
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 项目
git clone https://github.com/langgenius/dify.git
启动 Dify 相关容器
进入到 Dify 项目跟目录下的 docker 目录,该目录下有 docker-compose.yaml 文件,我们执行docker-compose up -d 启动 Dify 相关容器
docker-compose up -d
Dify 相关容器部署完成后,我们可以查看已运行的容器docker compose ps
内网访问 Dify 应用平台
在浏览器中,通过 ubuntu 系统的IP地址访问 Dify 应用平台 http://{内网IP}
首次打开Dify 平台,需要为 Dify 平台设置管理员,点击登录页下方的 "设置管理员账号" 进入到 管理员账号 设置页面
输入管理员账户的 邮箱、用户名及密码,然后点击 "设置"完成管理员账户设置
然后通过邮箱登录 Dify 应用平台
第二步: 在Dify 应用平台上,构建大模型应用
Dify 应用平台基础操作
在 Dify 应用平台主界面中,点击 "创建空白应用" 来构建应用
选择应用的类型,输入应用名称及描述信息,然后点击 "创建" 完成应用创建
选择一个大模型,进行设置就行
下面我们部署一个 ollama 本地模型进行测试
部署 ollama 本地模型
安装 Ollama
在 ubuntu 系统通过一条命令部署 ollama 本地模型
curl -fsSL https://ollama.com/install.sh | sh
修改 ollama 的本地监听IP地址, 将 Environment="OLLAMA_HOST=0.0.0.0" 添加到 ollama 的系统服务文件( /etc/systemd/system/ollama.service)中
重启ollama 服务
sudo systemctl daemon-reload
sudo systemctl restart ollama
在浏览器中,输入 http://{主机ip}:11434, 检查 ollama 是否正常运行, 显示 “Ollama is running”, 表示ollama 运行正常
下载大模型
下载大模型,以 llama3.2 为例,下载 llama3.2 模型
ollama run llama3.2
第三步: 在Dify 应用平台上应用 ollama 模型
添加本地 ollama 模型
点击右上角用户的图标,然后点击 "设置", 进入到 Dify 设置界面
在设置窗口中,点击 "模型供应商", 找到 Ollama , 然后点击 "添加模型"
在添加 Ollama 模型窗口中, 模式名称输入下载好的 "llama3.2" 模型, 基础URL输入 ollama的地址 http://主机IP:11434,然后点击保存
ollama 大模型添加成功后,可以查看添加好的模型
添加模型应用
点击 Dify 主页的"仓库空白应用" 来添加 ollama 应用
添加一个聊天应用,应用类型选择聊天助手,编排方法默认为基础编排,输入应用名称,如"Chat",然后点击创建
应用创建完成后,即可进行即时对话,如在左边的提示词中输入"中文", 在右下方的内容输入框中输入 AI
第四步: 部署 ZeroNews 内网穿透
我们通过 Docker 容器方式部署 ZeroNews 内网穿透
为 zeronews 程序添加Token
然后登录 https://user.zeronews.cc ,在"设备" - "Token" 界面,为 centos7 zeronews 程序分配 认证 Token
下载 ZeroNews 容器镜像
通过以下命令在 ZeroNews 官方仓库下载 ZeroNews 容器镜像
docker pull docker.zeronews.cc/zeronews:latest
启动 ZeroNews 容器
通过以下命令启动 ZeroNews 容器,将 token 及 网络区域ID 粘贴到命令最后,以空格分隔
docker run -itd --name zeronews --restart always --net host docker.zeronews.cc/zeronews:latest YUtO7G2yRY6v8ALe03vjXg 440
ZeroNews 容器启动成功后,在 ZeroNews 平台上能查看已上线的 ZeroNews 容器
第五步: 为 Dify 添加域名及映射
为 Dify 平台添加域名
在 ZeroNews 管理平台的 "资源" 管理界面下,添加域名,如添加 difyai 域名
生效设备: 选择 docker takin 设备
域名前缀: 输入 difyai
在端口设置界面,勾选 HTTP ,然后点击 "确认",完成域名添加
在域名界面,点击开启 TLS 证书,为 Dify 域名分配TLS 证书
为 Dify 应用平台添加公网映射
首先在 ZeroNews 管理平台的 "应用" 管理界面下,添加应用,如添加 Dify 应用
然后在 Dify 应用下,添加HTTPS公网映射
- 映射协议: 选择 HTTPS 协议
- 公网访问地址: 选择上一步添加好的 difyai 域名地址
- 映射带宽: 输入需要的带宽,如 2M
- 内网映射地址: IP地址默认为 127.0.0.1, 端口为 Dify 应平台的端口号 80
Dify 的公网映射添加完成后,在浏览器就可以通过分配的域名 https://difyai.south.takin.cc 在公网上访问 Dify 应用平台
有什么问题都可以评论区留言, 看见都会回复的
如果你觉得本篇文章对你有所帮助,把"文章有帮助的"打在评论区
多多支持,谢谢。