本地快速部署大语言模型开发平台Dify并实现远程访问保姆级教程

news2024/11/27 1:37:56

文章目录

    • 前言
    • 1. Docker部署Dify
    • 2. 本地访问Dify
    • 3. Ubuntu安装Cpolar
    • 4. 配置公网地址
    • 5. 远程访问
    • 6. 固定Cpolar公网地址
    • 7. 固定地址访问

前言

本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署大语言模型应用开发平台Dify,并结合cpolar内网穿透工具实现公网环境远程访问本地Dify服务!

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

Dify 是开源的,且支持自部署到本地自己服务器上,打造自己的AI系统应用,由于本地部署后,本地部署限制只能在本地访问,无法实现共享给他人访问,或者自己远程访问,这个时候,要么需要自己有云服务器,或者公网IP,否则无法进行远程访问,但是,如果既没有云服务器和公网IP,我们也想要实现远程访问呢,那么下面介绍一个内网穿透工具,让我们无公网IP无云服务器也可以实现远程访问本地Dify.

本例采用Docker部署,首先设备需要提前安装好Docker 和Docker compos,如没有安装,可以参考docker 官方教程进行安装:Docker 官方安装教程

1. Docker部署Dify

根据官方部署文档,我们克隆官方的docker 文件进行部署,首先进入到local 目录下,执行cd /usr/local,然后执行下面命令克隆下来

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

等待拉取完成后,可以看到有个dify文件夹,表示成功拉取下来了

image-20240402123640693

然后我们进入dify文件夹里的docker目录

cd /dify/docker

然后执行docker命令部署运行dify,执行后等待部署完成

sudo docker compose up -d

docker部署运行完成后,我们输入指令sudo docker ps即可看到运行的容器,其中在运行的容器列表可以看到有个nginx的容器,且对外访问的是80端口,这个就是我们外部访问的端口,下面我们进行本地访问测试

image-20240402124022891

2. 本地访问Dify

上面在docker中成功部署且运行后,接下来进行本地访问,上面我们查看到对外访问端口是80,现在我们在外部或者内部访问ubuntu的80端口,即可看到我们本地部署的Dify服务应用,本地访问表示成功了,首次访问需要创建账号!

image-20240402124326533

创建后我们即可成功登录到dify了,具体dify使用方法可以参考dify官方文档.本地访问成功后,下面设置远程也可以访问,下面首先安装cpolar内网穿透工具

image-20240402124451695

3. Ubuntu安装Cpolar

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

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

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安装完成后,可以通过如下方式来操作cpolar服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动
sudo systemctl enable cpolar

# 启动cpolar服务
sudo systemctl start cpolar

# 重启cpolar服务
sudo systemctl restart cpolar

# 查看cpolar服务状态
sudo systemctl status cpolar

# 停止cpolar服务
sudo systemctl stop cpolar

Cpolar安装和成功启动服务后,内部或外部浏览器上通过局域网IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可

image-20240220142041422

4. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个dify的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (docker部署后对外访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20240402125057790

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问

image-20240402125148467

5. 远程访问

使用上面Cpolar生成的 https公网地址,在任意设备的浏览器进行访问,即可成功看到我们dify的界面,极大的缩小了云服务器那些繁琐的配置,简单几步即可实现无需云服务器,无需公网IP实现远程访问.

image-20240402125353756

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:dify.cpolar.cn),这样更显正式,便于流交协作。

6. 固定Cpolar公网地址

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

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

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240402125524133

保留成功后复制保留成功的二级子域名的名称

image-20240402125550749

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

image-20240402125615192

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

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

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240402125642716

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240402125726835

7. 固定地址访问

最后,我们使用固定的公网https地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地dify服务,无需公网IP,无需云服务器!

image-20240402125808004

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# WPF入门学习主线篇(二十八)—— 使用集合(ObservableCollection)

C# WPF入门学习主线篇(二十八)—— 使用集合(ObservableCollection) 在WPF中,数据绑定是构建动态和响应式用户界面的关键。ObservableCollection是一个特别有用的集合类型,它不仅支持数据绑定,还…

在Tomcat中部署war包

1、准备war包 确保已经有一个有效的war包,该war包包含了web应用程序的所有内容; 2、停止tomcat服务器 在部署之前,确保tomcat服务器已经停止,进入tomcat的配置目录执行命令:[路径]/tomcat/conf; 在Linux…

windows系统实现应用程序开机即运行(不登录系统也行)

由于近期需要设置一个Java程序开机自启动,因此试了一下方法,总结了两点,一个是需要用户登录系统之后再启动,一种是不需要登录,只要开机就会启动。 先看准备工作,写一个启动脚本: echo on E: cd…

[STM32]万年历

[STM32]万年历 需要资料的请在文章末尾获取~ ​​ 01描述 使用原件:stm32f103c8t6最小系统板x1,0.96寸OLED显示屏四角x1,4x4矩阵按键x1; 键位对应图: 1, 2, 3, 4------------- 切换页面 设置…

Dynamics 365 on-premise 隐藏高级查找导出按钮

提示 着急可以直接看结果代码部分 背景 Dynamics 365 on-premise中有个高级查找的功能,查询的结果支持导出,如下图 业务反馈这个有数据安全风险,要修改显示规则。 一开始想着能用RibbonWorkbench改,就很爽快得答应了业务。结果用RibbonWorkbench改不了。 反复尝试 既…

AI早班车2024.5.21

先一步知道AI未来! 全球AI新闻速递 1.中国电信:发布万亿参数语义模型 Tele-FLM-1T。 2.蚂蚁图数据库再获LDBC权威测试世界第一。 3.昇腾 AI 算力性能已超英伟达 A100,近半中国大模型选择昇腾技术路线。 4.中国气象局发布“风清”、“风雷”…

造价信息网工程造价信息最新明细

提供造价信息网工程造价信息、厂商报价市场价,交通工程造价信息,电网工程造价信息,园林苗木绿化造价信息,工程定额免费资源可在 祖国建材通 www.zgjct.com 查询获取下载 造价信息网工程造价信息更新明细如下: 直辖市 …

深入浅出通信原理 | 通信系统模型中的基带信号的发送与接收

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、通信系统模型中的信…

使用ERNIE Bot SDK和一条核心prompt开发AI“划拳“游戏!

项目背景 划拳是汉族民间饮酒时一种助兴取乐的游戏,起源于汉代。 游戏规则如下: 两人同时伸出一只手,先攥起拳头,代表财不外露。再伸出一到五个手指,表示从零到五之间的数字,同时嘴里大声喊出两人所出数字之和。 两人…

构建智慧高速公路:软件管理平台业务架构解析

随着交通网络的不断完善和技术的快速发展,智慧高速公路正成为交通领域的重要发展方向。在智慧高速公路系统中,软件管理平台扮演着关键的角色,它不仅是管理各种设备和系统的核心,还承担着数据监控、故障诊断、维护管理等重要任务。…

Linux 一键部署Nginx+ModSecurity

前言 ModSecurity 是 Apache 基金会的一个开源、高性能的 Web 应用程序防火墙(WAF),它提供了强大的安全规则引擎,用于检测和阻止各种攻击行为,如 SQL 注入、XSS 跨站点脚本攻击等。而 nginx 是一个高性能的 Web 服务器,常用于处理大量的并发请求,具有很高的负载均衡能力…

智慧在线医疗在线诊疗APP患者端+医生端音视频诊疗并开处方

智慧在线医疗:音视频诊疗新纪元 🌐 智慧医疗新篇章 随着科技的飞速发展,智慧医疗正逐步走进我们的生活。特别是在线医疗,凭借其便捷、高效的特点,已成为许多患者的首选。而其中的“智慧在线医疗患者端医生端音视频诊疗…

SQLCMD完全指南:掌控 SQL Server

SQL Server 拥有被广泛认可的一流管理工具——SQL Server Management Studio(简称 SSMS)。它提供了丰富的功能,极大地简化了开发人员和数据库管理员(DBA)的工作。 目录 SQLCMD 入门使用 SQLCMD 连接 SQL ServerSQLCMD …

[信号与系统]有关滤波器的一些知识背景

前言 最近在看FIR和IIR,本文作为前置,需要在理解这两种滤波器之前阅读。 本文内容会详细讲述一下有关滤波器的技术要求。 选频滤波器的频率响应 选频滤波器(Selective Frequency Filter)的频率响应是描述该滤波器在不同频率下…

浙江保融科技2025实习生校招校招笔试分享

笔试算法题一共是有4道,第一道是手搓模拟实现一个ArrayList,第二道是判断字符串是否回文,第三道是用代码实现1到2种设计模式。 目录 一.模拟实现ArrayList 二.判断字符串是否回文 ▐ 解法一 ▐ 解法二 ▐ 解法三 三.代码实现设计模式 一…

文件扫描工具哪个好?便捷的文件扫描工具推荐

对于初入职场的大学毕业生,申请就业补贴是一项不可忽视的福利。 它不仅能够为新生活带来经济上的缓解,也有助于职业生涯的顺利起步。面对申请过程中需提交的文件,如纸质劳动合同,不必烦恼。市面上众多文件扫描软件能助你一臂之力…

C#使用NPOI库实现Excel的导入导出操作——提升数据处理效率的利器

文章目录 一、NPOI库简介二、安装与引入三、Excel的导入操作1.CSV格式导入2.XLS格式导入3. XLSX格式导入 四、Excel的导出操作1. CSV格式导出2. XLS格式导出3. XLSX格式导出 五、NPOI库的应用优势与改进方向总结 在日常工作学习中,我们经常需要处理Excel文件&#x…

测绘行业解决方案

应用场景 - 地籍测量 业务挑战 • 人工地籍测量速度慢,效率低,工程周期长 • 外业工作量大,人力成本高 • 传统测绘成果限于数字线划图,无法直观展示地块实景效果 无人机优势 • 可实现 1:500 免像控测绘 • 高效作业&…

CVE-2023-38836(文件上传+命令执行)

简介 BoidCMS v.2.0.0 存在文件上传漏洞,远程攻击者可通过添加 GIF 头部绕过 MIME 类型检查,执行任意代码。 过程 打开靶场 对网站进行目录扫描 发现后台,登录弱口令账号密码 admin/password 发现文件上传位置 根据简介提示,…

C# 实现去除多行文本框光标闪烁,并设置行距

一、前言 本篇主要通过继承RichTextBox 的方式实现去除多行文本框的光标闪烁,以及能够设置行距大小,这是因为C#提供的TextBox 和 RichTextBox 本身无这样的功能 二、代码 封装 RichTextBox 为CustomTextBox using System; using System.Collections.Ge…