====== Dify ====== **Dify** is an open-source agentic workflow platform that enables developers and non-technical users to build, deploy, and manage LLM-powered applications through a visual workflow designer and programmatic APIs. With over **134,000 GitHub stars**, Dify has become one of the most popular platforms for orchestrating AI agents and RAG pipelines. | **Repository** | [[https://github.com/langgenius/dify|github.com/langgenius/dify]] | | **License** | Apache 2.0 | | **Language** | Python, TypeScript | | **Stars** | 134K+ | | **Category** | Agentic Workflow Platform | ===== Key Features ===== * **Visual Workflow Studio** — Drag-and-drop interface for designing AI workflows, training agents, and configuring RAG systems * **Multi-Model Support** — Access, switch, and compare performance across dozens of LLM providers including OpenAI, Anthropic, open-source models * **RAG Pipeline** — Built-in retrieval-augmented generation engine that extracts, transforms, and indexes data from various sources into vector databases * **Agent Node System** — Autonomous decision-making nodes within workflows using ReAct, Function Calling, Chain-of-Thought, Tree-of-Thought, and custom strategies * **Prompt IDE** — Dedicated prompt orchestration interface for configuring and managing prompts * **MCP Integration** — Native Model Context Protocol support for accessing external APIs, databases, and services * **Backend-as-a-Service** — One-click deployment as APIs, chatbots, or internal business tools ===== Architecture ===== Dify employs a **Beehive modular architecture** where each component can be developed, tested, and deployed independently. The platform comprises three core operational layers: * **LLM Orchestration Layer** — Manages connections and switching between multiple large language models * **Visual Studio Layer** — Drag-and-drop interface for designing workflows and configuring agents * **Deployment Hub** — Enables publishing as APIs, chatbots, or internal tools Model suppliers and models are configured declaratively using **YAML-based DSL**, standardizing the process of adding new models while maintaining API consistency across integration points. graph TB subgraph Client["Client Layer"] WebUI[Web UI] API[REST API] MCP[MCP Server] end subgraph Core["Core Engine"] WF[Workflow Engine] Agent[Agent Node] Prompt[Prompt IDE] end subgraph Models["LLM Orchestration"] OpenAI[OpenAI] Claude[Anthropic] OSS[Open Source Models] end subgraph Data["Data Layer"] RAG[RAG Pipeline] VDB[(Vector DB)] KB[Knowledge Base] end Client --> Core Core --> Models Core --> Data RAG --> VDB RAG --> KB Agent --> WF ===== Agent Strategies ===== The Agent Node functions as a decision center within workflows, supporting multiple reasoning strategies: * **ReAct** — Chain of Think-Act-Observe cycles * **Function Calling** — Precise function-based tool invocation * **Chain-of-Thought (CoT)** — Step-by-step reasoning * **Tree-of-Thought (ToT)** — Branching exploration of reasoning paths * **Graph-of-Thought (GoT)** — Graph-based reasoning structures Developers can create custom strategy plugins using CLI tools and customize configuration forms. ===== Code Example ===== import requests DIFY_API_KEY = "app-your-api-key" BASE_URL = "https://api.dify.ai/v1" def run_workflow(inputs, user_id="default"): response = requests.post( f"{BASE_URL}/workflows/run", headers={ "Authorization": f"Bearer {DIFY_API_KEY}", "Content-Type": "application/json" }, json={ "inputs": inputs, "response_mode": "blocking", "user": user_id } ) return response.json() result = run_workflow({"query": "Summarize this document"}) print(result["data"]["outputs"]) ===== References ===== * [[https://github.com/langgenius/dify|Dify GitHub Repository]] * [[https://dify.ai|Dify Official Website]] * [[https://docs.dify.ai|Dify Documentation]] * [[https://dify.ai/blog/dify-rolls-out-new-architecture|Dify Architecture Blog Post]] ===== See Also ===== * [[ragflow|RAGFlow]] — RAG engine with deep document understanding * [[langfuse|Langfuse]] — LLM observability and tracing * [[mem0|Mem0]] — Memory layer for AI agents * [[mcp_servers|MCP Servers]] — Model Context Protocol implementations