Dify:开源 LLM 应用开发平台
Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。
安装
克隆代码仓库
git clone https://github.com/langgenius/dify
Docker 部署
Dify 提供了 Docker 部署方式,您可以通过以下步骤快速部署:
cd dify
cd docker
cp .env.example .env
docker compose up -d
运行后,可以在浏览器上访问 http://localhost/install 进入 Dify 控制台并开始初始化安装操作。
自定义配置
如果您需要自定义配置,请参考 .env.example 文件中的注释,并更新 .env
文件中对应的值。此外,您可能需要根据您的具体部署环境和需求对 docker-compose.yaml
文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,请重新运行 docker-compose up -d
。您可以在此处找到可用环境变量的完整列表。
服务镜像
核心镜像(必需)
# 核心服务
docker pull langgenius/dify-api:1.4.1 # API 服务
docker pull langgenius/dify-web:1.4.1 # 前端 Web 服务
docker pull postgres:15-alpine # PostgreSQL 数据库
docker pull redis:6-alpine # Redis 缓存
docker pull langgenius/dify-sandbox:0.2.12 # 代码沙盒环境
docker pull langgenius/dify-plugin-daemon:0.1.1-local # 插件守护进程
docker pull ubuntu/squid:latest # SSRF 代理
docker pull nginx:latest # Nginx 反向代理
docker pull semitechnologies/weaviate:1.19.0 # 默认向量数据库 (Weaviate)
完整镜像
#!/bin/bash
# 最小化安装镜像(必需组件)
docker pull langgenius/dify-api:1.4.1
docker pull langgenius/dify-web:1.4.1
docker pull postgres:15-alpine
docker pull redis:6-alpine
docker pull langgenius/dify-sandbox:0.2.12
docker pull langgenius/dify-plugin-daemon:0.1.1-local
docker pull ubuntu/squid:latest
docker pull nginx:latest
docker pull semitechnologies/weaviate:1.19.0
# ----------------------------
# 可选组件(按需下载)
# ----------------------------
# 向量数据库备选方案
docker pull langgenius/qdrant:v1.7.3 # Qdrant
docker pull pgvector/pgvector:pg16 # PGVector
docker pull tensorchord/pgvecto-rs:pg16-v0.3.0 # PGVector.rs
docker pull ghcr.io/chroma-core/chroma:0.5.20 # Chroma
docker pull milvusdb/milvus:v2.5.0-beta # Milvus
docker pull opensearchproject/opensearch:latest # OpenSearch
docker pull opensearchproject/opensearch-dashboards:latest
docker pull opengauss/opengauss:7.0.0-RC1 # OpenGauss
docker pull myscale/myscaledb:1.6.4 # MyScale
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3
docker pull docker.elastic.co/kibana/kibana:8.14.3
# 其他数据库
docker pull oceanbase/oceanbase-ce:4.3.5.1-101000042025031818 # OceanBase
docker pull container-registry.oracle.com/database/free:latest # Oracle
# 文件处理
docker pull downloads.unstructured.io/unstructured-io/unstructured-api:latest # Unstructured
# 基础设施
docker pull quay.io/coreos/etcd:v3.5.5 # Milvus 依赖
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z # Milvus 依赖
docker pull certbot/certbot # SSL 证书管理
将此脚本保存为 pull-dify-images.sh
,运行 chmod +x pull-dify-images.sh && ./pull-dify-images.sh
即可下载所有镜像。
导出和导入镜像
方法一
- 将镜像导出为 tar 文件
docker save -o dify-images.tar langgenius/dify-api:1.4.1 langgenius/dify-web:1.4.1 postgres:15-alpine redis:6-alpine langgenius/dify-sandbox:0.2.12 langgenius/dify-plugin-daemon:0.1.1-local ubuntu/squid:latest nginx:latest semitechnologies/weaviate:1.19.0
- 在目标服务器上导入镜像
docker load -i dify-images.tar
方法二
- 将镜像导出为 tar 文件
docker save -o dify-api_1.4.1.tar langgenius/dify-api:1.4.1 docker save -o dify-web_1.4.1.tar langgenius/dify-web:1.4.1 docker save -o postgres_15-alpine.tar postgres:15-alpine docker save -o redis_6-alpine.tar redis:6-alpine docker save -o dify-sandbox_0.2.12.tar langgenius/dify-sandbox:0.2.12 docker save -o dify-plugin-daemon_0.1.1-local.tar langgenius/dify-plugin-daemon:0.1.1-local docker save -o ubuntu-squid_latest.tar ubuntu/squid:latest docker save -o nginx_latest.tar nginx:latest docker save -o weaviate_1.19.0.tar semitechnologies/weaviate:1.19.0
- 在目标服务器上导入镜像
docker load -i dify-api_1.4.1.tar docker load -i dify-web_1.4.1.tar docker load -i postgres_15-alpine.tar docker load -i redis_6-alpine.tar docker load -i dify-sandbox_0.2.12.tar docker load -i dify-plugin-daemon_0.1.1-local.tar docker load -i ubuntu-squid_latest.tar docker load -i nginx_latest.tar docker load -i weaviate_1.19.0.tar
访问 Dify 控制台
在浏览器中访问 http://localhost 即可进入 Dify 控制台。
设置
模型提供商
- 安装
硅基流动
插件
- 设置 API Key
- 设置系统模型