Overview
Dify is an open-source platform for building applications on top of large language models. It brings together a visual workflow builder, a RAG pipeline, agent tools, model management, and observability so you can move from a prototype to a running app without writing much glue code.
It is aimed at developers and teams who want to assemble LLM features such as chatbots, document Q&A, and agents but prefer a visual canvas over building everything from scratch. It connects to hundreds of proprietary and open-source models from many inference providers, including GPT, Mistral, Llama 3, and any OpenAI API-compatible model.
As a RAG framework, Dify covers the full path from document ingestion to retrieval, with built-in text extraction from PDFs, PPTs, and other common formats. You can self-host it with Docker Compose or use the hosted Dify Cloud.
What it does
- Visual workflow canvas to build and test AI workflows without hand-wiring each step
- RAG pipeline with out-of-box text extraction from PDFs, PPTs, and other common documents
- Model support for hundreds of proprietary and open-source LLMs, including GPT, Mistral, and Llama 3, plus any OpenAI API-compatible model
- Prompt IDE for crafting prompts, comparing model performance, and adding features like text-to-speech
- Agent capabilities using LLM function calling or ReAct, with 50+ built-in tools such as Google Search, DALL-E, and WolframAlpha
- LLMOps and observability with integrations for Opik, Langfuse, and Arize Phoenix to monitor logs and performance
Getting started
The easiest way to run Dify is to self-host the server with Docker Compose. Make sure Docker and Docker Compose are installed first.
Check system requirements
Before installing, confirm your machine has at least 2 CPU cores and 4 GiB of RAM.
Start the server with Docker Compose
Clone the repo, switch into the docker directory, copy the example environment file, and bring the stack up in the background.
cd dify
cd docker
cp .env.example .env
docker compose up -dOpen the dashboard
Once the containers are running, open the install page in your browser and complete the initialization to create your first app.
http://localhost/installCommands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Build a chatbot or customer support assistant grounded in your own documents using the RAG pipeline
- Prototype and compare prompts across different models in the Prompt IDE before shipping
- Create agents that call tools like web search or image generation to complete multi-step tasks
- Self-host an internal LLM app platform so teams can build and monitor AI features in one place
How Dify compares
Dify alongside other open-source rag frameworks & platforms tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Dify | ★ 146k | Open-source platform to build LLM and RAG apps on a visual canvas |
| RAGFlow | ★ 83.2k | A RAG engine built around deep document understanding that turns complex files into a grounded, citation-backed question-answering layer. |
| Context7 | ★ 57.7k | Context7 pulls current, version-specific documentation and code examples for any library and feeds them into your LLM, available as a CLI skill or an MCP server. |
| Quivr | ★ 39.2k | Quivr is an open-source RAG framework that ingests your documents and answers questions about them, working with any LLM and any file type. |
| LightRAG | ★ 36.8k | A graph-based RAG system that builds an entity-and-relationship knowledge graph for fast retrieval and easy incremental updates. |
| GraphRAG | ★ 33.9k | Microsoft's graph-based RAG system that extracts a knowledge graph from documents to answer broad, multi-document questions. |
| PageIndex | ★ 33.2k | PageIndex turns long PDFs into a table-of-contents tree and uses LLM reasoning to retrieve relevant sections, with no vector database and no chunking. |
| FastGPT | ★ 28.6k | FastGPT is an open-source AI agent platform that pairs a built-in knowledge base with a drag-and-drop Flow editor, so you can build question-answering apps without heavy setup. |