前言:

本文将介绍如何在Linux ubuntu 22.04系统上使用Docker方式快速部署大语言模型应用开发平台Dify。

  • Dify是一款开源的大语言模型(LLM)应用开发平台,结合了后端即服务(Backend as a Service)和LLMOps的理念,使开发者能够迅速构建生产级的生成式AI应用。即使是非技术人员,也能参与到AI应用的定义和数据运营中。
  • Dify支持开源并可自部署到本地服务器,帮助用户打造自己的AI系统应用。

本示例将采用Docker进行部署,首先需要确保设备上已安装Git、Docker和Docker Compose。

一、部署Dify应用开发平台:

1、准备依赖服务:

git安装:

[root@hcss-ecs-6f98 ~]# apt install -y git

docker安装:

[root@hcss-ecs-6f98 ~]# curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

[root@hcss-ecs-6f98 ~]# add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

[root@hcss-ecs-6f98 ~]# apt-get install -y docker-ce

root@hcss-ecs-6f98:/etc/docker# docker --version
Docker version 28.0.1, build 068a01e

[root@hcss-ecs-6f98:/etc/docker# cat /etc/docker/daemon.json 
{
  "registry-mirrors": [
    "https://docker.mirrors.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://mirror.ccs.tencentyun.com",
    "http://hub-mirror.c.163.com",
    "https://ommju0xg.mirror.aliyuncs.com",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]
}


[root@hcss-ecs-6f98:/etc/docker# systemctl daemon-reload
[root@hcss-ecs-6f98:/etc/docker# systemctl restart docker

docker-compose安装:

安装docker-compose服务: 

[root@hcss-ecs-6f98 yum.repos.d]# sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

[root@hcss-ecs-6f98 yum.repos.d]# chmox +x /usr/local/bin/docker-compose

docker-compose的版本: 

root@hcss-ecs-6f98:/usr/local/bin# docker-compose --version
Docker Compose version v2.33.1

 

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

[root@hcss-ecs-6f98 ~]# git clone https://github.com/langgenius/dify.git
Cloning into 'dify'...
remote: Enumerating objects: 143470, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 143470 (delta 4), reused 2 (delta 2), pack-reused 143464 (from 2)
Receiving objects: 100% (143470/143470), 76.19 MiB | 1.50 MiB/s, done.
Resolving deltas: 100% (105367/105367), done.

查看dify源代码目录:

[root@hcss-ecs-6f98 ~]# ll dify
total 284
drwxr-xr-x 22 root root  4096 Feb 27 10:36 api
-rw-r--r--  1 root root    56 Feb 27 10:36 AUTHORS
-rw-r--r--  1 root root  9250 Feb 27 10:36 CONTRIBUTING_CN.md
-rw-r--r--  1 root root 12605 Feb 27 10:36 CONTRIBUTING_JA.md
-rw-r--r--  1 root root  9897 Feb 27 10:36 CONTRIBUTING.md
-rw-r--r--  1 root root 12281 Feb 27 10:36 CONTRIBUTING_VI.md
drwxr-xr-x  3 root root  4096 Feb 27 10:36 dev
drwxr-xr-x 10 root root  4096 Feb 27 10:36 docker
drwxr-xr-x  2 root root  4096 Feb 27 10:36 images
-rw-r--r--  1 root root  1879 Feb 27 10:36 LICENSE
-rw-r--r--  1 root root  1304 Feb 27 10:36 Makefile
-rw-r--r--  1 root root 16631 Feb 27 10:36 README_AR.md
-rw-r--r--  1 root root 13488 Feb 27 10:36 README_CN.md
-rw-r--r--  1 root root 15162 Feb 27 10:36 README_ES.md
-rw-r--r--  1 root root 15345 Feb 27 10:36 README_FR.md
-rw-r--r--  1 root root 14846 Feb 27 10:36 README_JA.md
-rw-r--r--  1 root root 13519 Feb 27 10:36 README_KL.md
-rw-r--r--  1 root root 14279 Feb 27 10:36 README_KR.md
-rw-r--r--  1 root root 13736 Feb 27 10:36 README.md
-rw-r--r--  1 root root 14433 Feb 27 10:36 README_PT.md
-rw-r--r--  1 root root 13615 Feb 27 10:36 README_SI.md
-rw-r--r--  1 root root 14392 Feb 27 10:36 README_TR.md
-rw-r--r--  1 root root 15423 Feb 27 10:36 README_VI.md
drwxr-xr-x  5 root root  4096 Feb 27 10:36 sdks
drwxr-xr-x 20 root root  4096 Feb 27 10:36 web

3、启动 Dify:

[root@hcss-ecs-6f98 ~]# cd dify/docker

[root@hcss-ecs-6f98 ~]# cp .env.example .env


[root@hcss-ecs-6f98 ~]# docker-compose up -d

 启动过程比较长,因为需要下载镜像:

结果如下:

root@ecs-cdf7:~/dify/docker# docker-compose up -d
[+] Running 80/80
 ? db Pulled                                                                                                                                                                                        45.1s 
 ? web Pulled                                                                                                                                                                                       59.9s 
 ? sandbox Pulled                                                                                                                                                                                   84.6s 
 ? redis Pulled                                                                                                                                                                                    103.8s 
 ? worker Pulled                                                                                                                                                                                   168.4s 
 ? ssrf_proxy Pulled                                                                                                                                                                                45.2s 
 ? nginx Pulled                                                                                                                                                                                    118.9s 
 ? weaviate Pulled                                                                                                                                                                                 109.3s 
 ? api Pulled                                                                                                                                                                                      168.4s 
 ? plugin_daemon Pulled                                                                                                                                                                             96.0s 
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
                                                                                                                                                                                                          
[+] Running 12/12
 ? Network docker_ssrf_proxy_network  Created                                                                                                                                                        0.0s 
 ? Network docker_default             Created                                                                                                                                                        0.0s 
 ? Container docker-ssrf_proxy-1      Started                                                                                                                                                        2.4s 
 ? Container docker-redis-1           Started                                                                                                                                                        2.5s 
 ? Container docker-web-1             Started                                                                                                                                                        2.4s 
 ? Container docker-weaviate-1        Started                                                                                                                                                        2.4s 
 ? Container docker-plugin_daemon-1   Started                                                                                                                                                        2.5s 
 ? Container docker-db-1              Started                                                                                                                                                        2.4s 
 ? Container docker-sandbox-1         Started                                                                                                                                                        2.4s 
 ? Container docker-worker-1          Started                                                                                                                                                        2.2s 
 ? Container docker-api-1             Started                                                                                                                                                        2.3s 
 ? Container docker-nginx-1           Started  
root@ecs-cdf7:~/dify/docker# docker-compose  ps -a
NAME                     IMAGE                                       COMMAND                  SERVICE         CREATED          STATUS                    PORTS
docker-api-1             langgenius/dify-api:0.15.3                  "/bin/bash /entrypoi…"   api             53 seconds ago   Up 52 seconds             5001/tcp
docker-db-1              postgres:15-alpine                          "docker-entrypoint.s…"   db              55 seconds ago   Up 52 seconds (healthy)   0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp
docker-nginx-1           nginx:latest                                "sh -c 'cp /docker-e…"   nginx           53 seconds ago   Up 49 seconds             0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp
docker-plugin_daemon-1   langgenius/dify-plugin-daemon:0.0.2-local   "/bin/bash -c /app/e…"   plugin_daemon   55 seconds ago   Up 44 seconds             0.0.0.0:5003->5003/tcp, [::]:5003->5003/tcp
docker-redis-1           redis:6-alpine                              "docker-entrypoint.s…"   redis           55 seconds ago   Up 52 seconds (healthy)   6379/tcp
docker-sandbox-1         langgenius/dify-sandbox:0.2.10              "/main"                  sandbox         55 seconds ago   Up 52 seconds (healthy)   
docker-ssrf_proxy-1      ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   ssrf_proxy      55 seconds ago   Up 52 seconds             3128/tcp
docker-weaviate-1        semitechnologies/weaviate:1.19.0            "/bin/weaviate --hos…"   weaviate        55 seconds ago   Up 52 seconds             
docker-web-1             langgenius/dify-web:0.15.3                  "/bin/sh ./entrypoin…"   web             55 seconds ago   Up 52 seconds             3000/tcp
docker-worker-1          langgenius/dify-api:0.15.3                  "/bin/bash /entrypoi…"   worker          53 seconds ago   Up 52 seconds             5001/tcp

4、验证Dify应用开发平台:

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

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

登入之后进入到Dify的管理界面:

二、dify连接deepseek达模型: 

这里选择的是华为云上免费的deepseek大模型服务,华为云是提供了200万token使用。足够我们进行测试了。 

1、领取免费的deepseek: 

2、创建API Key: 

这里需要记录好,密钥。 

3、设置dify连接deepseek大模型:

切记这里一定要选择OpenAI-API-compatible。 

这里的大模型名称必需要跟领取到免费deepseek模型的名称保持一致,不然会报错的。 

注:

  • 这里的API Key就是刚才创建API Key保存下来的,
  • API URL可以从如下获取:

  

注:这里获取的API URL地址,在填写到API endpoint URL时注意一定要v1结尾的。 

添加后到结果显示如下:

4、使用deepseek调用:

创建空白应用:

 

 

到此,deepseek+dify就可以调用接入了。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐