Dify

Build AI agent workflows and RAG pipelines

AI & LLM Apache-2.0 intermediate ★ 157,623 stars

What is Dify?

Dify is an open-source platform for building AI applications with visual workflow orchestration, RAG pipelines and agent capabilities. It connects to many model providers and lets you ship internal AI tools without writing everything from scratch.

Best for

Teams building internal AI applications and agents

Why choose Dify

Dify is the middle ground between hand-writing an LLM application and buying a closed SaaS product. It gives you a visual editor for building chat assistants, retrieval-augmented generation pipelines and tool-using agents, with a document ingestion path so your own files become part of the answer. Because you host it, your prompts, your documents and your users' conversations stay on your infrastructure — a requirement the moment the material is anything you would not paste into a public chat box.

Replaces

  • OpenAI Assistants
  • LangChain Cloud
  • Flowise

Key features

  • Visual workflow builder
  • RAG pipeline with document ingestion
  • Agent tool calling
  • Supports many model providers

What to watch out for

This is one of the heavier applications on this site. The full stack needs a real database, a vector store, a Redis instance and enough memory that a small VPS will struggle; budget more hardware than you expect. The project iterates fast, which means occasional breaking changes when upgrading major versions, and its documentation sometimes describes the cloud edition rather than the self-hosted one. Retrieval quality also depends entirely on how you chunk and embed your documents — the visual builder hides that complexity but does not remove it.

How to deploy

  • Docker Compose

Getting started

Use the official Docker Compose bundle rather than assembling services manually; there are several moving parts and getting their versions mismatched is the usual cause of a broken first launch. Allocate at least four gigabytes of memory and check the container logs during the first boot, because silent failures in a dependent service look like an application bug. Set the storage path to a real disk before ingesting anything — uploaded documents and vector data grow quickly. Start with one small, well-structured document set to learn how chunking affects answers before pointing it at a large archive.

Typical setup

It needs real resources: a machine with several gigabytes of memory, a Postgres database, a vector store and Redis, usually all in one Docker Compose project on a single reasonably-sized VPS. Typical users give it a private network location and reach it over a VPN or behind authentication, because the prompts and documents it holds are often internal. The pattern that works is keeping ingest collections small and well-maintained rather than dumping a company's entire file share into it.

Who should look elsewhere

Wrong choice if you have no appetite for running a multi-service stack, because this is one of the heavier applications in the self-hosting world. It is also overkill if your actual need is a simple chat interface to a local model; a lighter front end will be far less work. Teams wanting a fully managed, zero-operations AI platform should not self-host this.

Project health

  • GitHub stars: 157,623
  • Last code push: 2026-10-01
  • Open issues: 918
  • Status: actively developed

Figures pulled from the GitHub API and refreshed periodically.

More in AI & LLM