超详细的私有化安装部署Dify服务以及安装过程中问题处理

一、什么是Dify

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

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

核心特点

可视化编排:
        提供直观的工作流设计界面,无需编写复杂代码即可构建 AI 应用
        支持拖拽式操作,简化提示词工程和模型调优过程
多模型支持:
        支持主流大语言模型如 GPT-4、Claude、Llama 等
        可同时连接多个模型提供商,实现模型间的灵活切换
应用类型丰富:
        支持构建问答系统、文本生成、摘要提取等多种 AI 应用
        可开发对话型应用和文本处理型应用
企业级功能:
        提供 API 访问控制和用量监控
        支持知识库增强,可上传文档作为上下文
        包含用户管理和权限系统

技术架构

Dify 采用现代化的技术栈构建:

  • 前端:React + TypeScript

  • 后端:Python (FastAPI)

  • 数据库:PostgreSQL

  • 缓存:Redis

  • 部署:Docker 容器化

适用场景

企业内部 AI 助手:
        构建基于企业知识库的智能问答系统
        自动化文档处理和报告生成
开发者平台:
        快速原型设计和验证 AI 应用想法
        为开发者提供统一的模型接入层
教育领域:
        创建智能教学助手
        开发自动批改和反馈系统
内容创作:
        辅助写作和创意生成
        多语言内容生产和翻译

与同类产品的比较

相比于其他 LLM 应用平台,Dify 的特点是:

  • 更注重开发者的灵活性和控制权

  • 提供完整的开源解决方案

  • 支持私有化部署,保障数据安全

  • 强调工作流编排能力而非单一功能

Dify 适合需要定制化 AI 应用同时又希望减少底层开发工作的团队和个人开发者。

二、安装部署

环境准备:

说一下我的环境信息:

  • 操作系统: Ubuntu 22.04

  • Docker: 27.5.1

  • Docker Compose: v2.10.2

  • Python: 3.10.12

  • 硬件: 64G+4090

两种安装方式:【docker方式安装】、【源码安装】

方式一:【docker方式安装】:

1.安装 Docker 和 Docker Compose

确保你已经安装了 Docker 和 Docker Compose。如果没有,请先安装。

Docker 和Docker Compose可以参考博主的这篇文章:

【Docker 01】docker安装和基本理论内容-优快云博客

Docker Compose安装我在这里遇到了很多问题:

当时使用的是apt 安装的,结果在安装dify时,出现了很多报错信息,后来网上搜索是Docker Compose安装方式不对,且版本太低导致的,后来更改了安装方式才好了。

docker-compose up报错KeyError: 'ContainerConfig’的解决办法

先卸载已有的docker-compose:

sudo apt purge docker-compose

然后使用如下方式重新安装:

### install docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

 这里在执行  

 curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

时,一直报错,连接不上服务

这里我下载了离线的包,传上去了,然后才不报错了

https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-Linux-x86_64

https://blog.youkuaiyun.com/tabactivity/article/details/146210697

https://blog.youkuaiyun.com/lpy13699855019/article/details/139746249

https://blog.youkuaiyun.com/qq_44866828/article/details/147549836

2.克隆 Dify 代码仓库

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

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

3.启动 Dify

3.1 进入 Dify 源代码的 Docker 目录
cd dify/docker
3.2 复制环境配置文件
cp .env.example .env

如果默认端口(80, 5432, 6379等)被占用,修改.env文件中的端口配置:

我是nginx和ssl冲突了:

EXPOSE_NGINX_PORT=8000
EXPOSE_NGINX_SSL_PORT=445

# 修改PostgreSQL端口
PG_PORT=5433

# 修改Redis端口
REDIS_PORT=6380
3.3 启动 Docker 容器

根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。

docker-compose up -d
3.4.运行命令

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

等上一会儿你就会发现部署结果:

[+] Running 10/10
 ✔ 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                                                                 7.1s

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

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

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

4.访问 Dify

在浏览器输入框里输入:localhost:8000/install,这是为了完成 Dify 的初始配置的。稍等一会儿,就大功告成了。

根据情况输邮箱,用户名,密码 完成本地注册可以开始使用

5.更新 Dify

进入 dify 源代码的 docker 目录,按顺序执行以下命令:
 
cd dify/docker
git pull origin main
docker-compose down
docker-compose pull
docker-compose up -d
同步环境变量配置 (重要!)
  • 如果 .env.example 文件有更新,请务必同步修改你本地的 .env 文件。
  • 检查 .env 文件中的所有配置项,确保它们与你的实际运行环境相匹配。你可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。

完整的环境变量集合可以在 docker/.env.example 中找到。 

自定义配置

编辑 .env 文件中的环境变量值。然后重新启动 Dify:

# 停止
docker-compose down
# 开启
docker-compose up -d

https://blog.youkuaiyun.com/yinshuilan/article/details/146498600

https://www.jb51.net/os/Ubuntu/985789.html

Docker Compose 部署 - Dify Docs

方式二:【源码方式安装】:

这个参考文档,大体差不多,先不做详细记录了,等有空接着完善。

使用源代码本地启动 - Dify Docs

官方文档:

产品简介 - Dify Docs

dify社区版添加新成员用户账号可以参考这篇文章:

dify社区版添加新成员用户账号_dify账号注册-优快云博客

dify社区版添加新成员用户账号(适合公司等内部使用)_dify添加用户-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex_81D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值