【AI】一文解锁:Docker部署Dify平台,打造可视化LLM应用环境
Docker部署Dify平台,打造可视化LLM应用环境
摘要部分
摘要
Dify是一个开源的应用开发平台,基于大语言模型(LLM)。该平台集成了后端即服务(BaaS)理念以及LLM运营策略,为开发者提供了高效的生成式人工智能应用构建能力。
即便是技术背景有限的用户也可以参与AI应用的设计与数据管理过程,从而实现生成式的智能化解决方案。
Dify支持构建LLM应用的核心技术架构,并包含以下关键组件:支持数百种不同的模型、提供直观的操作界面以管理prompt排布、配备先进的检索增强生成(RAG)引擎、建立稳定可靠的智能代理框架(Agent)、实现灵活高效的流程调度能力;此外还集成了一整套便捷易用的用户界面以及完整的API接口体系。这些技术和工具组合在一起帮助开发者避免了大量重复性的工作(造轮子),使他们能够将更多精力投入到创新与业务需求中去。
一、关于Dify
你可能把它看作一个包含多种工具的应用程序包(Library),类似于存放锤子与钉子的那种工具箱。相比之下,在功能上更为全面且符合工业需求的应用方案是由Dify提供的——它就像一座精心设计并经过严格测试的脚手架系统。
重要的是,Dify是一个开源项目,它是由专业的全职团队与社区共同建设的。你能够基于任何模型自行部署类似于Assistants API和GPT级的能力,在灵活性与安全性之间取得平衡的同时实现了对数据的全面掌控。
二、前提条件
在支持运行Docker环境的Windows、MacOS以及Linux等设备上可以部署Dify,在准备安装Dify之前,请确认您的设备已满足最低系统要求:
CPU >= 2 Core
RAM >= 4 GiB
此外,操作系统还需要安装好Docker环境,不同OS所需的软件如下:

三、部署过程
1、克隆Dify代码仓库
从github克隆 Dify 源代码至要本地环境。
git clone https://github.com/langgenius/dify.git
2、启动Dify
- 进入Dify源代码的Docker目录
cd dify/docker
- 复制环境配置文件
cp .env.example .env
- 启动Dify的Docker容器
基于您当前系统上运行的Docker Compose版本,请选择相应的启动命令以启动容器。您可以使用docker compose version命令来查看当前版本的具体信息,并具体说明可参考Docker官方文档中的相关资料。
如果版本是 Docker Compose V2,使用以下命令:
docker compose up -d
如果版本是 Docker Compose V1,使用以下命令:
docker-compose up -d
在执行该命令之后,请注意屏幕将展示类似以下内容:每个容器的状态信息及其对应的端口配置详细记录
或者
docker compose up -d

最后检查是否所有容器都正常运行:
docker compose ps
您能在输出中看到三个核心业务功能模块(API/Worker/Web)以及六个关键组件模块(Weaviate/DB/Redis/Nginx/SSRF-Passenger/Sandbox)。

或者直接查看docker容器的服务&组件是否启动。

四、更新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.file中的所有配置项以使其符合实际运行环境的需求。
您建议新增/env.example中的新变量到本地的/env.file中,并修正已做更改的部分。
五、使用Dify
在完成Dify的安装后,请访问管理后台,并在初始化页面中配置管理员账号。
-
服务器环境
http://your_server_ip/install
可以打开以下地址访问Dify主页面:
-
本地环境
http://localhost -
服务器环境
http://your_server_ip
注意事项 :如果80端口已被占用:使用netstat -ano命令过滤findstr命令查找对应进程并执行关闭操作;关闭相关进程后,请确保重新启动ngix服务以恢复正常运行。

六、写在最后
采用私有化的本地部署策略Dify,并结合像Ollama这样的主流大模型运行环境后,则可以自行构建属于自己的私有化大模型工具链。从而能够对这些系统进行对端访问的同时实现对大模型进行本地化的可视化运行功能。特别适用于涉及保密或敏感数据的情境中
七、最后分享
该技术突破被视为一项具有里程碑意义的创新,在人工智能领域引发了广泛关注与讨论。它不仅推动着各项技术和产业的发展方向,并且成为各行业实现转型升级的重要引擎。把握住这一技术机遇至关重要,在未来的职业发展中必须不断提升相关知识与技能的能力不容忽视。
掌握AI大模型是一个系统的过程,并非易事;它要求我们循序渐进地进行探索与实践
