【详细教程】如何在Ubuntu上本地部署Dify?

1 关于Dify

  • Dify 是一个开源的大语言模型(LLM)应用开发平台;
  • 可以简化和加速生成式AI应用的创建和部署;
  • 为开发者提供低代码/无代码的解决方案,同时支持高级定制化需求。

2 Dify核心功能

  • 多模型支持:

① 支持主流商业模型 (如 OpenAI GPT、Claude、DeepSeek、ChatGLM 等)及开源模型(如 Llama、Mistral); ② 提供 模型管理 功能,支持快速切换和自定义接入。

  • 应用类型:

聊天助手 :多轮对话交互(如客服机器人); 文本生成 :自动化创作、翻译、摘要等; Agent :任务分解、工具调用(如数据分析、API 集成); 工作流:可视化编排复杂流程(如条件分支、多节点任务)。

  • 关键技术组件:

RAG(检索增强生成): ① 支持文档上传、分块、向量化索引(如 PDF、Notion 同步) ; ② 提供混合检索(向量+全文搜索)和重排序优化。

Agent 框架: ① 支持 Function Calling 和 ReAct 推理模式,集成工具(如搜索、代码执行)。

  • 低代码开发:

① 通过可视化界面编排 Prompt、上下文和插件,无需深入编码; ② 提供模块化设计,如拖拽式工作流构建。

3 访问和使用

  • 可自行查阅Dify文档,这里不赘述

4 dify部署

  • 在 Ubuntu 上本地部署 Dify 可以按照多种方式,以下是通过 Docker Compose 进行部署的步骤,这是官方推荐的简单部署方式:

4.1 前提条件

  • 确保已安装 Docker 和 Docker Compose;
  • 推荐配置:2GB 以上内存,4 核 CPU。

4.2 安装 Docker 和 Docker Compose

python 复制代码
# 安装Docker
sudo apt update
sudo apt install -y docker.io

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

# 安装Docker Compose
sudo apt install -y docker-compose

# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER

4.3 获取 Dify 源码

python 复制代码
# 克隆Dify仓库
git clone https://github.com/langgenius/dify.git

4.4 配置环境变量

  • 进入到如下目录:
python 复制代码
cd dify/docker
python 复制代码
# 复制环境变量示例文件
cp .env.example .env

4.5 docker卸载

如果需要,请卸载,如果不需要请跳过。

python 复制代码
# 卸载现有Docker
sudo apt purge -y docker.io docker-compose
sudo rm -rf /var/lib/docker /var/lib/containerd

4.6 docker安装

4.6.1 docker安装

python 复制代码
# 重新安装
sudo apt update
sudo apt install -y docker.io docker-compose

# 启动服务
sudo systemctl start containerd
sudo systemctl start docker

# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER

4.6.2 docker镜像源修改

  • 打开 Docker 的配置文件:
python 复制代码
sudo vim /etc/docker/daemon.json
  • 添加镜像加速配置(推荐使用多个):
python 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run"
  ]
}
  • 重启 Docker 服务:
python 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 验证是否生效:
python 复制代码
docker info | grep -A 10 -i registry

4.6.3 docker仍无法启动排查

  • 执行以下命令清理可能遗留的 PID 文件:
python 复制代码
sudo pkill dockerd
sudo rm -f /var/run/docker.pid
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker

检查是否有镜像路径写死在 docker-compose.yaml 文件中; 使用 sed 批量替换镜像地址(仅适用于明文配置):

python 复制代码
sed -i 's#registry-1.docker.io#docker.xuanyuan.me#g' docker-compose.yaml
  • 测试镜像源是否能访问:
python 复制代码
docker pull docker.xuanyuan.me/library/redis:6-alpine
docker pull docker.1ms.run/library/nginx:alpine

4.6.4 常见国内镜像源

玄元云、 1ms、 阿里云、 清华大学、 中科大

4.7 启动服务

python 复制代码
# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

5 访问 Dify

6 初始化管理员账号

  • 首次访问时,系统会引导创建管理员账号,按照提示完成设置即可。

常用命令: 停止服务:docker-compose down 查看日志:docker-compose logs -f 重启服务:docker-compose restart

相关推荐
极客BIM工作室2 小时前
遗传算法属于机器学习吗?
人工智能·机器学习
槐夏十八2 小时前
Suno API 的对接和使用
人工智能
guidovans2 小时前
Crawl4AI精准提取结构化数据
人工智能·python·tensorflow
虫无涯2 小时前
Dify调用硅基流动中模型时,流程编排中运行模型不显示思考过程,如何解决?
人工智能
猫天意3 小时前
【CVPR2025-DEIM】基础课程二十:顶会中的Partial创新思想,随意包装你想包装的!
图像处理·人工智能·yolo·计算机视觉·matlab
DDC楼宇自控与IBMS集成系统解读3 小时前
IBMS智能化集成系统:构建建筑全场景协同管控中枢
大数据·网络·人工智能·能耗监测系统·ibms智能化集成系统·楼宇自控系统·智能照明系统
SimonSkywalke3 小时前
STS_Root_Cause_Analysis_Error.ipynb 工作流程解析
运维·人工智能
shao9185163 小时前
Gradio全解11——Streaming:流式传输的视频应用(5)——RT-DETR:实时端到端检测模型
人工智能·nms·objects365·rt-detr·rt-detrv2·高效混合编码器·iou交并比
chanalbert3 小时前
信息检索技术综述:从传统稀疏检索到现代深度学习方法
人工智能·深度学习·全文检索