以下是 Dify(Data + AI + Workflow)系统架构概览,它是一个用于构建、部署和运营 AI 应用的平台(特别是基于 LLM 的应用)。👇


🧩 一、总体架构概览

Dify 的系统架构一般可分为 四大核心层次

层级名称功能简介
1️⃣前端层(Frontend Layer)提供 Web 控制台(App Studio / Playground / Dashboard),用于配置模型、构建工作流、管理数据集和观察运行情况。
2️⃣应用层(Application Layer)提供 AI 应用运行逻辑,包括应用编排、工作流引擎、对话管理、Prompt 模板、变量注入等。
3️⃣服务层(Service Layer)管理 AI 服务、模型适配、嵌入服务(Embeddings)、向量数据库、工具调用、插件系统等。
4️⃣基础设施层(Infrastructure Layer)包含数据库、向量存储、对象存储、缓存系统、API 网关与认证服务。

🧠 二、核心模块说明

1️⃣ 前端模块

  • Dify Console(管理界面)
    • 技术栈:React + TypeScript + TailwindCSS
    • 功能:应用管理、Prompt 编辑器、数据集标注、对话模拟、模型参数配置。
    • 可视化的 LLM App Builder(拖拽式 Workflow 编辑器)。

2️⃣ 应用层(Application Layer)

负责执行 LLM 应用的逻辑,包含以下子系统:

🧱 Application Runtime

  • 负责 LLM 应用的运行时执行,包括:
    • Prompt 渲染与变量替换
    • Workflow 执行引擎(支持条件、循环、工具节点)
    • 多模型调用与上下文管理
  • 提供统一的 App API 接口(供外部系统调用)。

🧮 Workflow Engine

  • 编排 LLM、工具、API 调用的执行流。
  • 支持:
    • 条件逻辑(If/Else)
    • Loop 循环
    • 多节点依赖执行
    • 状态追踪与可视化运行轨迹
  • 技术基础:异步任务 + 状态机机制。

3️⃣ 服务层(Service Layer)

⚙️ LLM Provider Service

  • 管理多种模型接入(OpenAI, Anthropic, Azure, Ollama, etc.)
  • 通过统一接口实现:
    • 文本生成(chat/completion)
    • Embedding
    • Function Calling
    • 多模型负载均衡与限流策略

📚 Dataset & Vector Store Service

  • 支持多种向量数据库:
    • Milvus, Weaviate, Qdrant, Pinecone, PostgreSQL (pgvector)
  • 功能:
    • 文本切片、Embedding、存储、相似度检索
    • 用于 RAG(Retrieval-Augmented Generation)场景。

🧩 Tools & Plugins

  • 提供外部工具集成接口:
    • Web Search, Calculator, HTTP Request, 自定义 API 调用。
  • 支持 Python Function Tool(允许自定义逻辑代码运行)。

4️⃣ 基础设施层(Infra Layer)

模块技术选型功能
数据库PostgreSQL / MySQL存储用户数据、应用定义、任务状态
缓存Redis任务队列、状态缓存、速率控制
对象存储MinIO / AWS S3存储文件、上传素材、导出内容
消息队列Celery / RabbitMQ后台异步任务执行
模型服务接口HTTP + RESTful API与外部 LLM 服务通信
鉴权系统JWT + OAuth2用户认证与 API 调用授权

🪄 三、典型数据流(请求流程)

一个 LLM 应用从用户输入到输出的完整流程:

用户输入 → Web 前端 → App API → Workflow Engine
    → 调用 LLM Provider → 获取结果 → (可选)向量数据库检索
    → 格式化输出 → 返回结果到前端

在 RAG 应用中,流程会增加:

用户问题 → 检索向量数据库 → 生成上下文 → Prompt 拼接 → 调用模型 → 返回增强回答


🔐 四、安全与可扩展性

  • 多租户支持(Multi-tenant)
    每个用户(或团队)有独立的数据与配置隔离。
  • API Key 管理
    用户自带模型 Key 或使用系统统一代理。
  • 插件化架构
    新模型、新工具、新存储可快速注册接入。
  • 异步扩展
    Workflow 节点异步执行,支持高并发。

🧭 五、部署架构

Dify 支持多种部署方式:

部署方式说明
Docker Compose官方推荐,适合开发和小规模部署
Kubernetes (Helm)企业级部署方式,支持水平扩展
云托管(Dify Cloud)官方 SaaS 平台,无需自建

📊 六、架构图(简化示意)

┌────────────────────────────┐
│        Dify Console        │ ← React Web
└────────────┬───────────────┘
             │
┌────────────▼───────────────┐
│     Application Service     │ ← FastAPI / Python
│  ├── Workflow Engine        │
│  ├── Prompt Manager         │
│  ├── Dataset Service        │
│  └── Tool Manager           │
└────────────┬───────────────┘
             │
┌────────────▼───────────────┐
│   LLM Provider Gateway      │ ← OpenAI / Claude / Ollama
│   Vector Store / Redis / DB │
└────────────────────────────┘


🔗 七、参考资料