从零开始学习Dify-容器部署指南(一)

概述

Dify 是一款强大的开源 LLM 应用开发平台,它通过 Web UI、API 和数据集管理,使得基于 GPT 等大模型的应用搭建变得快速、可控且可扩展。它支持 LangChain、OpenAI、Azure OpenAI 等多种大模型后端,并集成了多模态输入、提示词工程、向量搜索等多种功能。本系列文章将带你一步步掌握 Dify 的使用方式,本篇是第一篇:容器化部署 Dify。我们将从零开始,使用 Docker 快速在本地或服务器上运行起 Dify,为后续开发打下坚实基础。

环境准备

Dify安装

3.1 代码拉取

打开终端并运行以下命令:

复制代码
git clone https://github.com/langgenius/dify.git
cd dify

该仓库中已经提供了标准的 docker-compose 配置文件,我们将在此基础上进行部署。

3.2 配置环境变量

Dify 使用 .env 文件进行配置。先复制示例配置文件:

复制代码
cp .env.example .env

然后根据自己的需求修改 .env 文件中的关键项,例如:

复制代码
# 指定数据库密码
MYSQL_ROOT_PASSWORD=yourpassword
# 指定 Redis 密码
REDIS_PASSWORD=yourredispassword
# 更改前端端口(默认是3000)
PORT=3000

此外,你需要配置 OpenAI 或其他 LLM 提供商的 API Key,在后续使用时也可以在 Dify 后台设置。

3.3 启动容器服务

执行以下命令,启动 Dify 全部服务:

复制代码
docker compose -f docker-compose.yml up -d

Dify 的 Docker Compose 配置包含以下服务:

|----------------|----------------|
| 服务 | 功能说明 |
| web | Dify 前端 Web 界面 |
| api | 后端 API 服务 |
| mysql | 数据库(MySQL) |
| redis | 缓存服务 |
| worker | 后台任务处理 |
| pgvector(可选) | 向量数据库扩展 |

首次启动后,Docker 会自动拉取镜像并创建容器,可能需要几分钟时间。

3.4 验证服务状态

通过以下命令检查容器状态:

复制代码
docker ps

查看日志以排查启动问题:

复制代码
docker compose logs -f {容器ID}
3.5访问 Dify

Dify Web 服务运行在 http://localhost:3000,你可以直接通过浏览器访问。

  • 配置管理员(首次)
  • 登录到后台
  • 进入后台

总结

通过本文,你已经完成了 Dify 的基本容器化部署。相比源码部署,使用 Docker 可以最大程度简化依赖管理、配置过程,尤其适合初学者和快速测试部署场景。

接下来你可以尝试:

  • 在后台配置 OpenAI API Key,并创建第一个 AI 应用
  • 使用内置数据集功能上传文档,体验语义搜索
  • 探索角色设定(Prompt Engineering)和多轮对话功能

下一篇文章将带你进入 Dify 的使用层面:如何配置你的第一个智能客服,敬请期待!

相关推荐
星座52810 小时前
AI+CMIP6数据分析与可视化、降尺度技术与气候变化的区域影响、极端气候分析
人工智能·ai·气候·水文·cmip6
闲人编程15 小时前
用Python分析你的Spotify/网易云音乐听歌数据
开发语言·python·ai·数据分析·spotify·网易云·codecapsule
thorn_r15 小时前
MCP驱动的AI角色扮演游戏
人工智能·游戏·机器学习·ai·自然语言处理·agent·mcp
大刘讲IT16 小时前
赋能中小企业:基于五大开源模块的AI智能体构建方案与细化拆解
人工智能·经验分享·ai·开源·制造
SEOETC17 小时前
AIGC|杭州AI优化企业新榜单与选择指南
人工智能·ai·aigc
哥布林学者17 小时前
吴恩达深度学习课程二: 改善深层神经网络 第二周:优化算法(三)Momentum梯度下降法
深度学习·ai
逻极18 小时前
Kiro 安全最佳实践:守护代理式 IDE 的 “防火墙”
ide·人工智能·安全·ai
熊猫_豆豆20 小时前
QT6 写一个诗词鉴赏、朗诵、阅读程序(智谱清言AI赏析接口)
c++·ai·智谱清言·古诗鉴赏
小白跃升坊20 小时前
信息检索类智能体构建范式
人工智能·ai·全文检索·智能体
Orange_sparkle21 小时前
关于dify中http节点下载文件时,文件名不为原始文件名问题解决
人工智能·http·chatgpt·dify