大家好,我是章北海
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
1. 开发环境部署
1.1 环境准备
Docker Desktop 安装:https://www.docker.com/products/docker-desktop/ Git 安装:https://git-scm.com/downloads Node.js(如果需要本地开发前端) 安装:https://nodejs.org/zh-cn/download
1.2 获取代码
git clone https://github.com/langgenius/dify
cd dify
1.3 启动服务
cd docker
docker compose up -d
2. 生产环境离线部署
2.1 在有网络的环境中准备镜像
查看需要的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
langgenius/dify-web 0.14.2 e8a2d31fd02a 6 days ago 431MB
langgenius/dify-api 0.14.2 dc8ef84d4a76 6 days ago 2.95GB
postgres 15-alpine 1ec54b2c6ffc 3 weeks ago 264MB
nginx latest 5e0fa356e6f4 4 weeks ago 197MB
langgenius/dify-sandbox 0.2.10 e09eb1619e46 2 months ago 626MB
redis 6-alpine cdabd876a000 2 months ago 37MB
ubuntu/squid latest e830c46c0231 3 months ago 288MB
semitechnologies/weaviate 1.19.0 b7fde6d5a98e 20 months ago 51MB
创建存储目录:
mkdir -p docker_images
cd docker_images
保存镜像:
docker save langgenius/dify-web:0.14.2 -o dify-web.tar
docker save langgenius/dify-api:0.14.2 -o dify-api.tar
docker save postgres:15-alpine -o postgres.tar
docker save nginx:latest -o nginx.tar
docker save langgenius/dify-sandbox:0.2.10 -o dify-sandbox.tar
docker save redis:6-alpine -o redis.tar
docker save ubuntu/squid:latest -o squid.tar
docker save semitechnologies/weaviate:1.19.0 -o weaviate.tar
复制项目文件:
整个项目代码目录 docker_images 目录(包含所有 .tar 文件)
2.2 在生产环境中部署
将项目文件和镜像文件复制到生产服务器
加载 Docker 镜像:
cd docker_images
docker load -i dify-web.tar
docker load -i dify-api.tar
docker load -i postgres.tar
docker load -i nginx.tar
docker load -i dify-sandbox.tar
docker load -i redis.tar
docker load -i squid.tar
docker load -i weaviate.tar
配置环境:
cd ../docker
cp .env.example .env
# 编辑 .env 文件,配置必要的环境变量
启动服务:
docker compose up -d
3. 前端开发指南
如果需要修改前端页面,可以采用本地开发方式:
安装依赖:
cd web
npm install # 或 yarn install
启动开发服务器:
npm run dev # 或 yarn dev
这样会启动一个开发服务器(通常在 http://localhost:3000),具有以下特性:
热重载:修改代码后页面自动更新 实时错误提示 开发调试工具
完成修改后构建:
npm run build # 或 yarn build
4. 注意事项
生产环境部署:
确保有足够的磁盘空间(至少 5GB) 检查所有必要的环境变量配置 确保数据持久化目录的权限正确
安全考虑:
修改默认密码 配置 SSL 证书(如果需要) 限制访问权限
维护建议:
定期备份数据 监控系统资源使用 保持日志记录和审计