手把手教你用Docker部署Dify平台,打造可视化LLM应用环境

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

Dify内置了构建LLM应用所需的关键技术栈,包括对数百个模型的支持、直观的Prompt编排界面、高质量的RAG引擎、稳健的Agent框架、灵活的流程编排,并同时提供了一套易用的界面和API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。”

在这里插入图片描述

01

关于Dify

你或许可以把LangChain这类的开发库(Library)想象为有着锤子、钉子的工具箱。与之相比,Dify提供了更接近生产需要的完整方案,Dify好比是一套脚手架,并且经过了精良的工程设计和软件测试。

重要的是,Dify是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似AssistantsAPI和GPTs的能力,在灵活和安全的基础上,同时保持对数据的完全控制。

02

前提条件

Dify可以在运行Docker环境的Windows、MacOS、Linux等电脑中部署,安装Dify之前, 请确保你的机器已满足最低安装要求:

CPU >= 2 Core
RAM >= 4 GiB

此外,操作系统还需要安装好Docker环境,不同OS所需的软件如下:

操作系统软件描述
macOSDocker Desktop为 Docker 虚拟机(VM)至少分配 2 个虚拟 CPU(vCPU) 和 8GB 初始内存,否则安装可能会失败。
LinuxDocker 19.03 or later Docker Compose 1.28 or later
WindowsDocker DesktopWSL 2建议将源代码和其他数据绑定到 Linux 容器中时,将其存储在 Linux 文件系统中,而不是 Windows 文件系统中。

03

部署过程

一、克隆Dify代码仓库

从github克隆 Dify 源代码至要本地环境。

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

二、启动Dify

\1. 进入Dify源代码的Docker目录

cd dify/docker

\2. 复制环境配置文件

cp .env.example .env

\3. 启动Dify的Docker容器

根据你系统上的Docker Compose版本,选择合适的命令来启动容器。你可以通过docker compose version命令检查版本,详细说明请参考Docker官方文档。

如果版本是 Docker Compose V2,使用以下命令:

docker compose up -d

如果版本是 Docker Compose V1,使用以下命令:

docker-compose up -d

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

[+] Running 11/11
 ✔ Network docker_ssrf_proxy_network  Created                                                                 0.1s 
 ✔ Network docker_default             Created                                                                 0.0s 
 ✔ Container docker-redis-1           Started                                                                 2.4s 
 ✔ Container docker-ssrf_proxy-1      Started                                                                 2.8s 
 ✔ Container docker-sandbox-1         Started                                                                 2.7s 
 ✔ Container docker-web-1             Started                                                                 2.7s 
 ✔ Container docker-weaviate-1        Started                                                                 2.4s 
 ✔ Container docker-db-1              Started                                                                 2.7s 
 ✔ Container docker-api-1             Started                                                                 6.5s 
 ✔ Container docker-worker-1          Started                                                                 6.4s 
 ✔ Container docker-nginx-1           Started

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

docker compose ps

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

PORTS
docker-api-1          langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   api          About a minute ago   Up About a minute             5001/tcp
docker-db-1           postgres:15-alpine                 "docker-entrypoint.s…"   db           About a minute ago   Up About a minute (healthy)   5432/tcp
docker-nginx-1        nginx:latest                       "sh -c 'cp /docker-e…"   nginx        About a minute ago   Up About a minute             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1        redis:6-alpine                     "docker-entrypoint.s…"   redis        About a minute ago   Up About a minute (healthy)   6379/tcp
docker-sandbox-1      langgenius/dify-sandbox:0.2.1      "/main"                   sandbox      About a minute ago   Up About a minute             
docker-ssrf_proxy-1   ubuntu/squid:latest                "sh -c 'cp /docker-e…"   ssrf_proxy   About a minute ago   Up About a minute             3128/tcp
docker-weaviate-1     semitechnologies/weaviate:1.19.0   "/bin/weaviate --hos…"   weaviate     About a minute ago   Up About a minute             
docker-web-1          langgenius/dify-web:0.6.13         "/bin/sh ./entrypoin…"   web          About a minute ago   Up About a minute             3000/tcp
docker-worker-1       langgenius/dify-api:0.6.13         "/bin/bash /entrypoi…"   worker       About a minute ago   Up About a minute             5001/tcp

通过这些步骤,你应该可以成功在本地安装Dify。

05

更新Dify

当Dify版本更新后,你可以克隆或拉取最新的Dify源代码,并通过命令行更新已经部署的Dify环境。

进入dify源代码的docker目录,按顺序执行以下命令:

cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

执行上述命令更新完成后,需按以下操作同步环境变量配置 (重要!)。

如果.env.example文件有更新,请务必同步修改您本地的.env文件。
检查.env文件中的所有配置项,确保它们与您的实际运行环境相匹配。
您可能需要将.env.example中的新变量添加到.env文件中,
并更新已更改的任何值。

07

使用Dify

按照以上步骤部署好Dify后,首先前往管理员初始化页面设置设置管理员账户:

# 本地环境
http://localhost/install

# 服务器环境
http://your_server_ip/install

可以打开以下地址访问Dify主页面:

# 本地环境
http://localhost

# 服务器环境
http://your_server_ip

08

写在最后

通过私有化本地部署Dify,结合Ollama等大模型运行环境,可以打造自己的私有大模型工具链,实现大模型的本地可视化运行。在涉密或敏感数据场合具有极大的应用价值。

赶快用起来吧!!!

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

### 安装准备 对于在没有外网连接的Linux服务器上安装Dify,前期准备工作至关重要。由于无法直接访问外部网络资源,在线安装途径不可行,因此需提前在外网环境中准备好所有必要的依赖文件和组件,并将其传输至目标内网环境中的Linux服务器。 #### 准备离线安装包 1. **获取 Docker CE** 外网机器按照官方指南配置好APT源后,利用`apt-get download`命令下载所需的deb包及其依赖项[^1]。这一步骤确保了即使是在无互联网接入的情况下也能顺利完成Docker引擎本身的部署工作。 2. **收集 Dify 及其依赖** 同样地,针对Dify应用本身以及任何运行该应用程序所必需的服务或库(比如特定版本的Python解释器或其他第三方库),也需要事先打包并拷贝到目的主机之上。 3. **转移 文件** 使用U盘、移动硬盘或者其他物理介质把上述收集好的二进制文件安全可靠地搬运进入内部隔离区内的计算节点里去。 ### 执行本地化部署流程 一旦所有的前置条件都已满足,则可以着手于实际的操作过程: #### 配置 APT 软件仓库 考虑到后续可能会涉及到其他软件包管理的需求,建议先创建一个临时性的本地APT镜像站点来简化整个操作体验。通过挂载含有之前导出.deb格式档案的USB设备作为HTTP(S)服务端点的形式实现这一点;或者干脆直接修改/etc/apt/sources.list指向某个已经预先加载完毕的目标位置即可完成设置动作。 ```bash echo "deb [trusted=yes] file:///mnt/usb /path/to/debs/" | sudo tee -a /etc/apt/sources.list.d/local-offline-repo.list sudo apt update ``` #### 安装 Docker Engine 借助刚刚建立起来的地方性资料库快速定位所需项目并实施批量装载作业: ```bash sudo apt install ./<downloaded_docker_deb_package>.deb ``` 确认容器平台正常启动之后再继续下一步计划安排。 #### 设置 Docker Compose (如果需要) 某些情况下为了更方便快捷地定义多容器分布式架构下的微服务体系结构描述文档(.yaml),可能还会额外用到Compose工具的帮助。同样遵循前述方法论原则处理相关事宜。 #### 运行 Dify 应用程序 最后就是依据产品手册指示逐步推进直至最终达成预期效果为止。值得注意的是,鉴于题目背景提到有关联ollama时可能出现通信异常的问题[^2],所以在规划初期阶段就应当充分考虑API接口调用链路设计合理性,避免因不必要的阻塞而导致整体性能下降甚至完全失效的情况发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值