百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

【Python大语言模型系列】云服务器部署dify大模型应用开发平台

itomcoil 2025-02-20 15:56 4 浏览

这是我的第360篇原创文章。

一、阿里云ECS简介

云服务器( Elastic Compute Service ,简称ECS )是一-种简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低IT成本,使您更专注于核心业务创新。

这个活动需要满足是新用户的条件,然后进入 https://free.aliyun.com/?spm=
5176.13830350.J_9630841290.4.3b3750d0kpmRdO&product=1351页面即可免费体验阿里云ECS了。

进入页面之后我们可以选择我们需要的配置:

开通服务器后,首先修改服务器的登陆密码,点击重置实例密码

创建的实例:

我们通过远程连接的方式,进入这个实例:

当然,也可以用Xshell或其他远程连接软件连上服务器(输入root和密码),根据公网ip地址连上。

二、在ECS上安装Docker

安装dify的两个前提条件:

2.1 下载Docker的依赖环境

安装Docker,首先要下载他所依赖的环境

2.2 指定Docker镜像源

默认下载Docker会去国外服务器下载,速度较慢,可以设置为阿里云镜像源,速度更快

2.3 安装Docker

开始安装Docker

2.4 设置启动方式

安装成功后,需要手动启动,设置为开机启动

2.5 测试docker

测试(Docker自带的hello-world)

2.6 查看docker版本

看一下docker的版本:

三、在ECS上安装Docker Compose

3.1 方式一:curl

curl:

# 1 国内镜像秒下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m`  > /usr/local/bin/docker-compose
# 2 修改文件执行权限
sudo chmod +x /usr/local/bin/docker-compose
#  3 创建软链
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 4 测试是否安装成功
docker-compose --version

3.2 方式二:wget

wget:

# 1.去github官网搜索docker-compose,下载1.24.1版本的Docker-Compose
# 下载路径:
wget https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64


# 2.设置权限
# 需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose


# 3.配置环境变量
# 方便后期操作,配置一个环境变量
# 将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到了PATH中
 
mv docker-compose /usr/local/bin
vi /etc/profile
# 添加内容:export PATH=/usr/local/bin:$PATH
source /etc/profile


# 4.测试
在任意目录下输入docker-compose

3.3 方式三:pip

pip:

# 1.运行以下命令,安装setuptools。
pip3 install -U pip setuptools
# 2.运行以下命令,安装docker-compose。
pip3 install docker-compose
# 3.运行以下命令,验证docker-compose是否安装成功。
docker-compose --version

四、按照dify提供的官方教程进行部署

克隆dify 源代码至本地环境(这里的本地就是这台阿里云ECS)

如果没有git工具,需要安装:

进入dify源代码的 Docker 目录;复制环境配置文件;

选择合适的命令来启动容器。你可以通过 docker compose version 命令检查版本,启动 Docker 容器:如果版本是 Docker Compose V2,使用以下命令:

报错:

在尝试用docker-compose启动应用时遇到网络创建失败的错误,具体表现为无法启用SKIPDNAT规则的iptables操作。错误源于防火墙在Docker服务启动后被关闭。解决方案是重启Docker服务以消除此问题。

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

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

在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox 。都启动了。

五、在ESC部署的dify上进行大模型应用开发

5.1 配置ESC安全组的访问规则

我使用本机去 ping 公网 ip 结果可以 ping 通,直接使用它给我提供的公网 ip 进行访问,结果显示访问失败,这需要在云服务器上进行配置:点击安全组,添加访问规则,设置80端口:

5.2 公网访问

输入公网ip,就可以进入部署在ESC的dify平台了

5.3开发并发布AI大模型应用(Maas)-模型即服务

设置管理员账户:

之后进入:

就可以在这台云服务器ESC上进行开发工作流或者Agent了。

作者简介: 读研期间发表6篇SCI数据算法相关论文,目前在某研究院从事数据算法相关研究工作,结合自身科研实践经历持续分享关于Python、数据分析、特征工程、机器学习、深度学习、人工智能系列基础知识与案例。关注gzh:数据杂坛,获取数据和源码学习更多内容。

原文链接:

【Python大语言模型系列】在阿里云ECS服务器上部署dify大模型应用开发平台(完整教程)

相关推荐

MySql安装与使用

介绍mysql是目前最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件...

使用AI来搭建一个用户系统,步骤应该是怎样的呢?

我给AI的第一个问题是这样的:创建一个java21+springboot3.4+mysql21的一个用户系统,需要使用JWT,支持多语言,使用swagger,这个用户系统都应该包含哪...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用MySQL进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在MySQL...

Mysql创建用户和权限管理

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么...

Mysql:创建用户详解

1、创建并授权用户--创建可从任何主机连接的用户CREATEUSER'myuser'@'%'IDENTIFIEDBY'mypassword'...

Python 实现【字符匹配】

defis_match(s,pattern):m,n=len(s),len(pattern)dp=[[False]*(n+1)for_inrange...

Python自动化:openpyxl工作簿、工作表相关操作

新建工作簿、工作表importopenpyxl#创建空白工作簿,会自动生成一个工作表:Sheetwb=openpyxl.Workbook()#新建工作表#create_sheet...

python每日一练之三数排序

概述今天主要分享一个三树排序的实例,大家可以自己测试玩一下~需求输入三个整数x,y,z,请把这三个数由小到大输出。方法一:如果是要练练手就随便找个排序算法实现一下#usr/bin/python#...

Python输出语句print()

Python中的输出语句主要通过内置函数print()实现,它可以灵活输出文本、变量、表达式结果等内容到控制台或其他文件。以下是详细介绍及示例:一、print()基本语法print(*object...

Python设置excel表格格式,这3个属性6个模块,要表格好看

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松...

python入门-day5-循环语句

以下是为“Day5:循环语句”设计的详细学习任务计划。这个任务旨在帮助初学者掌握Python中的循环语句(for和while),并通过实践理解它们的应用场景。Day5:循环语句学习目标...

Python基础编程必备!涵盖常见语法与操作的代码示例合集

以下是一份Python基础代码示例合集,涵盖了常见的语法和操作,适合初学者快速掌握基本编程概念:1.基础语法python#打印输出print("Hello,World!")#变...

Python循环语句实用教程

一、循环基础1.while循环基本语法:while条件表达式:循环体代码while循环流程图:应用示例:#简单计数器count=0whilecount<5:...

在 Python 中如何向一个已排序的数组(列表) 中插入一个数呢

在Python中如何向一个已排序的数组(列表)中插入一个数呢?方法有很多种,关键在于原来数组是什么样的排序,用到啥排序方法效率高,就用哪种。我们来练习其中的几种插入方法,另外也掌握下遍历数组的...