Dify
Type: low-code · Vendor: LangGenius, Inc. · Language: Python, TypeScript · License: Apache-2.0 (modified — multi-tenant SaaS and LOGO removal forbidden) · Status: active · Status in practice: mature · First released: 2023-04-12
Provide an open-source LLM-app development platform on which a builder visually composes AI workflows, RAG pipelines, and tool-using Agents, and ships them as hosted apps, embedded APIs, or MCP servers from a single self-hostable Docker stack.
Description. Dify is an open-source LLM-app development platform built by LangGenius. Per the README: 'Dify is an open-source LLM app development platform. Its intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features … and more, letting you quickly go from prototype to production.' Ships in three editions: hosted Dify Cloud at cloud.dify.ai, self-hostable Community (Docker Compose / Helm / K8s), enterprise. The Chinese README is parallel and uses 中文 terminology throughout: '您可以基于 LLM 函数调用或 ReAct 定义 Agent' (You can define Agents based on LLM function calling or ReAct). License is a modified Apache-2.0 that forbids multi-tenant resale and LOGO removal but otherwise tracks Apache-2.0.
Agent loop shape. Apps on a visual workflow canvas of typed nodes (User Input → LLM / Knowledge Retrieval / Agent / Tool / IF-ELSE / Iteration / Template / Output) plus standalone modes (Chatbot, Agent, Chatflow, Workflow). Agent loop lives in two places: the Agent app (chat-style, reasoning + tools) and the Agent node inside a workflow. Both expose two pluggable strategies — Function Calling (native) and ReAct (Thought → Action → Observation) — bounded by Maximum Iterations safety cap. Workflows can chain into other workflows; LLM nodes support retry + fallback model chains; any Dify app can be published as an MCP server.
Primary use cases
- no-code/low-code visual LLM-app building
- RAG with Knowledge Base + hybrid search + rerank + automatic citations
- Agent apps with Function Calling or ReAct strategy
- publishing apps as MCP servers consumable by Claude Desktop / Cursor
Key concepts
- App (docs) — Publishable unit — Chatbot / Agent / Chatflow / Workflow modes.
- Workflow (docs) — Visual canvas of typed nodes.
- LLM node (docs) — Invokes a language model with prompt, context, structured-output schema, retries, fallback.
- Agent node / Agent Strategy → react (docs) — Autonomous tool-calling loop driven by Function Calling or ReAct.
- Knowledge Base (知识库) → agentic-rag (docs) — Vectorised document corpus queried at runtime with hybrid search + rerank.
- Tool / Plugin → tool-use (docs) — External capability — built-in, custom HTTP, plugin-distributed, or MCP-server-backed.
- Model provider (docs) — Pluggable LLM/embedding/rerank vendor; provider-agnostic.
Patterns this low-code implements —
- ★★Agentic RAG
Knowledge Base resource + Knowledge Retrieval node + hybrid search + rerank + automatic citation tracking.
- ★★Fallback Chain
LLM node exposes 'fallback strategies' — alternative models, default values, or error routes when retries aren't sufficient.
- ★★Model Context Protocol
Bidirectional — consume external MCP servers as tools, and publish any Dify app as an MCP endpoint.
- ★★ReAct
ReAct is one of the two built-in Agent strategies, named literally in docs and the bilingual README.
- ★★Structured Output
Dify has a dedicated Structured Outputs feature with a JSON Schema editor in the LLM node; documentation lists consistent formatting, seamless DB/API integration, and JSON Schema as the constraint me…
- ★★Tool Use
Built-in + custom HTTP + plugin-distributed + MCP-backed tools; Agent nodes require tools and decide which to call.
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.