Dify ist eine Open-Source Plattform (Apache 2.0) zum schnellen Erstellen von KI-Anwendungen ohne Code. Mit über 50k GitHub Stars ist Dify 2026 die führende No-Code-Lösung für LLM-Apps.
Installation
Docker (empfohlen)
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker-compose up -d
Zugang: http://localhost/
Self-Hosted Anforderungen
- Server: 4GB RAM, 20GB Disk
- Database: PostgreSQL 13+
- Cache: Redis 6+
- Vector DB: Optional (Weaviate, Qdrant, Milvus)
Komponenten
1. Workflow Editor
Visueller Drag-and-Drop Editor für LLM-Workflows:
Trigger
↓
Input Processing (Regex, Split, etc.)
↓
LLM Node (mit System Prompt)
↓
Output Formatting
↓
API Response
Unterstützt:
- LLM-Calls (OpenAI, Ollama, Azure, local)
- Tool Calling (Web Search, Database Query)
- Conditional Logic (If/Else)
- Loops und Parallel Processing
2. RAG Integration
Integrierte Dokumenten-Suche:
- Upload PDF/TXT/Web
- Auto-Chunking und Embedding
- Vector Search in LLM-Kontext
3. Agent-Modus
Agentenbasierte Workflows mit Tool-Calling.
4. API Publishing
Veröffentliche als OpenAI-kompatible REST API.
Praktischer Workflow
Neuen Workflow erstellen
- Dashboard → "Create New App"
- Wähle "Blank App" oder Template
- Konfiguriere:
- App Icon
- App Name
- Description
- Öffne Workflow-Editor
LLM Node konfigurieren
├── Model Selection: qwen2.5-7b
├── System Prompt: "Du sprichst Deutsch..."
├── Temperature: 0.7
├── Max Tokens: 500
└── Context Window: 4096
Output formatieren
LLM Output
↓
JSON Parser (extrahiere Felder)
↓
Template Formatter (Markdown)
↓
API Response
Dataset Management
Trainings-Daten und Context-Quellen:
Dataset hochladen
- Go to Datasets
- Click "Create Dataset"
- Upload CSV (Name, Prompt, Answer)
- Auto-indexed für RAG
Beispiel-CSV
question,answer
Was ist AI?,Künstliche Intelligenz ist...
Erklär Quantencomputer,Ein Quantencomputer nutzt...
Datasets in RAG nutzen
Document Query
↓
Vector Search in Dataset
↓
Top-3 Results als Context
↓
LLM generates Response
API & Integration
REST API Beispiel
curl -X POST http://localhost/api/workflows/run -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{
"workflow_id": "abc123",
"inputs": {
"user_message": "Hallo, wie geht es dir?"
}
}'
Python Integration
import requests
response = requests.post(
"http://localhost/api/workflows/run",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"workflow_id": "abc123",
"inputs": {"query": "What is AI?"}
}
)
print(response.json()["output"])
Self-Hosting Checkliste
1. Database Setup
docker run -d --name postgres \
-e POSTGRES_PASSWORD=secure \
-v postgres_data:/var/lib/postgresql/data \
postgres:15
2. Redis Setup
docker run -d --name redis \
-v redis_data:/data \
redis:7
3. Environment Config
# .env
DATABASE_URL=postgresql://user:pw@postgres:5432/dify
REDIS_URL=redis://redis:6379
SECRET_KEY=your-secret-key
DIFY_API_KEY=your-api-key
