本地部署Dify应用开发平台并接入大模型无公网IP远程交互

文章目录
    • 前言
    • 1. 本地部署Dify应用开发平台
    • 2. 使用Ollama部署本地模型
    • 3. 在Dify中接入Ollama大语言模型
    • 4. 公网远程使用Dify
      • 4.1 创建远程连接公网地址
    • 5. 固定Dify公网地址

前排提示,文末有大模型AGI-CSDN独家资料包哦!

前言

本篇文章介绍如何将Dify本地私有化部署,并且接入Ollama部署本地模型,实现在本地环境中部署和管理LLM,再结合cpolar内网穿透实现公网远程访问Dify。

Dify 它是一个开源 LLM 应用开发平台。拥有直观的界面结合了 AI 工作流、RAG 管道、代理功能、模型管理、可观察性功能等,可以快速从原型开发到生产。

Ollama 是一个本地推理框架,允许开发人员轻松地在本地部署和运行 LLM,例如 Llama 3、Mistral 和 Gemma。Dify 是一个 AI 应用开发平台,提供了一套完整的工具和 API,用于构建、管理和部署 AI 应用。

接下来在本地部署DIfy。
在这里插入图片描述
【视频教程】

Dify+Ollama+llava大模型本地搭建个人AI知识库并实现远程访问

1. 本地部署Dify应用开发平台

本篇文章安装环境:Linux Ubuntu22.04

使用Docker Compose部署:Docker 19.03 或更高版本、Docker Compose 1.25.1或更高版本

安装Dify之前,请确保你的机器已满足最低安装要求:CPU>2 Core RAM>=4GB

克隆 Dify 源代码至本地环境:

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


b08321f6a77d4bfaf93954b583972f8.png

启动Dify:

进入 Dify 源代码的 Docker 目录

cd dify/docker


复制环境配置文件

cp .env.example .env


启动 Docker 容器

sudo docker compose up -d


运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

b5c21e5aebb987f1055b46990f9e04a.png

最后检查是否所有容器都正常运行:

sudo docker compose ps


然后打开一个新的浏览器,输入localhost:80,或者本机IP地址:80,可以看到进入到了Dify中。

716e588c46dc002fbcaf4f556bba84b.png

设置管理员账号:填写邮箱、用户名、密码后,再重新登录一下

bf99bb247c6823c75016d2b9e135bd1.png

可以看到进入到了Dify的主界面当中

cf6340a8c09a6eb0607ce84b939d017.png

接下来配置ollama模型

2. 使用Ollama部署本地模型

打开一个新的终端,输入下方命令安装ollama

curl -fsSL https://ollama.com/install.sh | sh


3af490763677db757ec7b147a947ced.png

运行 Ollama 并与 Llava 聊天

ollama run llava


17d5eae6a0e47134be90813662d9da6.png

启动成功后,ollama 在本地 11434 端口启动了一个 API 服务,可通过 http://localhost:11434 访问。

image.png

接下来回到Dify中,接入Ollama模型。

3. 在Dify中接入Ollama大语言模型

在Dify主界面,点击右上角个人名字圆圈,点击设置——模型供应商——Ollama

7cfcff463b949cc043836214a500cd1.png

点击填入:

c165ddbc25709eb89ff478031b562ad.png

  • 模型名称:llava

  • 基础 URL:http://<本机IP地址>:11434

    此处需填写可访问到的 Ollama 服务地址。

    若 Dify 为 docker 部署,建议填写局域网 IP 地址,如:http://192.168.1.100:11434 或 docker 宿主机 IP 地址,如:http://172.17.0.1:11434

    若为本地源码部署,可填写 http://localhost:11434

  • 模型类型:对话

  • 模型上下文长度:4096

    模型的最大上下文长度,若不清楚可填写默认值 4096。

  • 最大 token 上限:4096

    模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致。

  • 是否支持 Vision:

    当模型支持图片理解(多模态)勾选此项,如 llava

点击 “保存” 校验无误后即可在应用中使用该模型。

如果Ollama作为systemd服务运行,应该使用systemctl设置环境变量:

  1. 通过调用sudo vim /etc/systemd/system/ollama.service 编辑systemd服务。这将打开一个编辑器。

  2. 对于每个环境变量,在[Service]部分下添加一行Environment

[Service]
Environment="OLLAMA_HOST=0.0.0.0"


image.png

保存并退出

重载systemd并重启Ollama:

systemctl daemon-reload

systemctl restart ollama


然后再回到主页面当中,点击创建空白应用

image.png

选择聊天助手,起一个名字,点击创建

image.png

右上角选择llava模型

image.png

在文本框中编辑文字即可进行对话

image.png

目前我们在本机部署了Dify,并且还添加了Ollama大模型,如果想团队协作多人使用,或者在异地其他设备使用的话就需要结合Cpolar内网穿透实现公网访问,免去了复杂得本地部署过程,只需要一个公网地址直接就可以进入到Dify中。

接下来教大家如何安装Cpolar并且将Dify实现公网访问。

4. 公网远程使用Dify

下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

curl https://get.cpolar.sh | sudo sh


image-20240801132238671

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar


image.png

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

4.1 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: dify 注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:80

  • 域名类型:随机域名

  • 地区:选择China Top

e236629c30c2161232c1655493d22ad.png

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

abe8c7201aca664a20a8ac320236595.png

如下图所示,成功实现使用公网地址异地远程访问本地部署的Dify应用开发平台!

bb5906f2d50520ec228aa78b1b8b859.png

登录可以看到同样进入到了主界面中,继续使用自己创建的应用了

383e7bb875af096a04e14da924aeec3.png

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地 Dify开发应用平台或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。

5. 固定Dify公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化.

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

fe72be4b9c350c2fb34cdfb88e49320.png
保留成功后复制保留的二级子域名地址:

b732329ece62fdbbd63c7a18fb2f524.png

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

  • 地区: China VIP

点击更新

463706456a7806bb596036ec151044a.png

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

82274f0c737fed53d9b60a375935c82.png

最后,我们使用固定的公网地址访问 Dify 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

5315f47a37dae1b8a7663b1d1d64ba6.png

e7ff73577b4f9266a4fba38ded512d3.png

接下来就可以随时随地进行异地公网来使用Dify开发应用平台了,把固定的公网地址分享给身边的人,方便团队协作,同时也大大提高了工作效率!自己用的话,无需云服务器,还可以实现异地其他设备登录!以上就是如何在本地安装Dify并搭建Ollama的全部过程。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

### 本地环境部署 Dify 及其应用 #### 准备工作 为了成功在本地环境中部署 Dify 应用程序,需先安装配置好 Python 环境以及必要的依赖库。确保已安装最新版本的 pip 和 virtualenv 工具。 #### 安装 Dify 通过 GitHub 获取最新的源码来安装 Dify 是一种常见的方式。克隆仓库后进入项目目录执行如下命令完成安装: ```bash git clone https://github.com/dify-ai/dify.git cd dify pip install -r requirements.txt ``` 此过程会自动处理所有必需的Python包[^1]。 #### 设置 Ollama 大型语言模型服务 对于希望集成大型语言模型的服务端来说,在服务器上启动 Ollama 设置相应的环境变量是非常重要的一步。这可以通过编辑 `/etc/systemd/system/ollama.service` 文件中的 `[Service]` 部分实现特定需求下的自定义配置,比如调整 `OLLAMA_HOST` 或者指定 GPU 使用情况等参数[^3]。 #### 启动与管理 Dify 应用 当上述准备工作完成后,便可以在本地机器上尝试启动 Dify 应用了。通常情况下,只需要简单地运行项目的入口脚本即可开始测试: ```bash python app.py ``` 如果一切正常,则应该能够访问由该应用程序提供的 Web 接口来进行交互体验了。 #### 测试连接至 Ollama 模型 为了让 Dify 正确调用已经部署好的 Ollama LLMs (Large Language Models),还需要确认两者之间的网络连通性和 API 调用接口是否匹配良好。此时可利用简单的 HTTP 请求工具如 curl 来验证这一点: ```bash curl http://localhost:7861/v1/models/ ``` 这条命令将返回当前可用的语言模型列表,证明二者之间建立了有效的通信链路[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT猫仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值