本文档提供了 Dify 系统架构的全面概述,包括其微服务设计、数据层、AI/ML 集成和部署结构。Dify 是一个用于构建 LLM 应用程序的开源平台,支持聊天、补全、工作流和基于代理的应用程序等各种应用程序类型。
有关各个组件的具体实现细节,请参阅 API 后端架构、Web 前端架构和数据库和存储架构。有关特定于部署的信息,请参阅部署和配置。
来源: docker/docker-compose.yaml1-720 docker/docker-compose-template.yaml1-280 api/app.py1-42
来源: api/app_factory.py29-102 api/dify_app.py (隐含), docker/docker-compose.yaml510-563
来源: api/models/model.py75-481 api/models/workflow.py75-320 api/models/dataset.py37-120 api/models/account.py67-200
来源: api/models/model.py48-68 api/core/workflow/workflow_entry.py (隐含), api/models/workflow.py40-73 api/core/workflow/nodes/node_mapping.py (隐含)
来源: api/core/rag/datasource/vdb/vector_factory.py28-130 api/core/rag/datasource/vdb/vector_type.py4-25 api/models/dataset.py37-120 api/controllers/console/datasets/datasets.py49-200
来源: docker/docker-compose.yaml188-193 docker/ssrf_proxy (目录), api/models/account.py15-70 api/extensions/ext_login.py (隐含)
来源: api/configs/feature/__init__.py141-193 docker/docker-compose.yaml649-704 api/services/plugin (目录)
| 配置类别 | 关键环境变量 | 默认值 | 目的 |
|---|---|---|---|
| 核心服务 | DIFY_PORT, SERVER_WORKER_AMOUNT, CELERY_WORKER_AMOUNT | 5001, 1, 1 | 服务扩展配置 |
| 数据库 | DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_DATABASE | db, 5432, postgres, difyai123456, dify | PostgreSQL 连接设置 |
| Redis | REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_DB | redis, 6379, difyai123456, 0 | Redis 缓存和队列配置 |
| 向量存储 | VECTOR_STORE, WEAVIATE_ENDPOINT, QDRANT_URL | weaviate, http://weaviate:8080, http://qdrant:6333 | 向量数据库选择和端点 |
| 存储 | STORAGE_TYPE, OPENDAL_SCHEME, S3_BUCKET_NAME | opendal, fs, difyai | 文件存储后端配置 |
| 安全 | SECRET_KEY, RESET_PASSWORD_TOKEN_EXPIRY_MINUTES | (generated), 5 | 安全和认证设置 |
| 代码执行 | CODE_EXECUTION_ENDPOINT, CODE_EXECUTION_API_KEY, SANDBOX_PORT | http://sandbox:8194, dify-sandbox, 8194 | 沙盒执行环境 |
| 插件系统 | PLUGIN_DAEMON_URL, PLUGIN_MAX_PACKAGE_SIZE, MARKETPLACE_ENABLED | http://:5002, 52428800, true | 插件管理和市场 |
来源: docker/.env.example1-501 api/.env.example1-501 api/configs/feature/__init__.py1-700