TL;DR
- Auto-hébergez Dify en 5 minutes avec Docker Compose (
docker-compose up -d) - Créez votre premier chatbot dans l'éditeur visuel — sans code requis
- Ajoutez le RAG en téléchargeant des documents dans une base de connaissances (supporte PDF, TXT, Markdown)
- Étendez avec des workflows, des API ou des fournisseurs de modèles personnalisés (OpenAI, Ollama, etc.)
- Déployez en production avec Kubernetes ou des fournisseurs cloud
1. Auto-hébergement avec Docker Compose
Prérequis
- Docker Engine ≥ 24.0.0 et Docker Compose ≥ 2.23.0 Guide d'installation Docker
- 4 Go+ de RAM, 2 vCPU (8 Go+ de RAM recommandés pour la production)
- Ports
3000(frontend),5001(API) et6379(Redis) disponibles
Configuration étape par étape
-
Clonez le dépôt et accédez au répertoire :
git clone https://github.com/langgenius/dify.git cd dify -
Copiez le fichier d'environnement exemple et modifiez-le :
cp .env.example .env nano .env # ou utilisez votre éditeur préféréVariables clés à configurer :
# Obligatoire pour l'auto-hébergement CONSOLE_API_URL=http://localhost:5001 APP_API_URL=http://localhost:5001 SECRET_KEY=votre-cle-secrete-aleatoire # Générez avec `openssl rand -hex 32` # Optionnel : Configurer le serveur de messagerie (pour la réinitialisation des mots de passe) MAIL_DEFAULT_SENDER=no[email protected] SMTP_SERVER=smtp.votre-fournisseur.com SMTP_PORT=587 SMTP_USERNAME[email protected] SMTP_PASSWORD=votre-mot-de-passe-smtp -
Démarrez les services :
docker-compose up -dSortie attendue :
Creating dify-redis ... done Creating dify-db ... done Creating dify-api ... done Creating dify-worker ... done Creating dify-web ... done -
Vérifiez que les conteneurs fonctionnent :
docker-compose psSortie attendue :
Name Command State Ports ----------------------------------------------------------------- dify-api /bin/sh -c gunicorn ... Up 0.0.0.0:5001->5001/tcp dify-db docker-entrypoint.sh ... Up 5432/tcp dify-redis docker-entrypoint.sh ... Up 6379/tcp dify-web /docker-entrypoint.sh Up 0.0.0.0:3000->3000/tcp dify-worker /bin/sh -c celery -A ... Up -
Accédez au tableau de bord Dify :
- Ouvrez
http://localhost:3000dans votre navigateur. - Enregistrez un compte administrateur (ce sera le premier utilisateur).
- Ouvrez
Erreurs courantes et solutions
-
Erreur :
Port 3000 déjà utiliséSolution : Arrêtez le service en conflit ou changez le port dansdocker-compose.yml(mettez à jourportspourdify-web). -
Erreur :
Connexion PostgreSQL refuséeSolution : Vérifiez queDB_HOST=dbdans.env(réseau interne Docker). Si vous utilisez une base de données externe, définissezDB_HOSTavec l'IP ou le nom d'hôte correct. -
Erreur :
Échec de la connexion RedisSolution : Vérifiez queREDIS_HOST=redisdans.env. Si Redis est externe, mettez à jourREDIS_HOSTet assurez-vous que le port (6379) est ouvert.
2. Création de votre premier chatbot
Étape 1 : Accéder au Studio
- Connectez-vous à Dify à l'adresse
http://localhost:3000. - Cliquez sur "Studio" dans la barre latérale gauche.
- Cliquez sur "Créer une application" et sélectionnez "Chatbot".
Étape 2 : Configurer le chatbot
- Nom :
Mon Premier Chatbot - Description :
Un bot simple de questions-réponses pour tester Dify. - Fournisseur de modèle : Sélectionnez
OpenAI(ou un autre fournisseur que vous avez configuré — voir Section 6).- Pour des tests locaux, utilisez
Ollamaavec un modèle commellama3(nécessite Ollama en cours d'exécution localement).
- Pour des tests locaux, utilisez
- Modèle de prompt :
Vous êtes un assistant utile. Répondez à la question de l'utilisateur de manière concise. Question de l'utilisateur : {{query}} - Cliquez sur "Enregistrer" pour créer le chatbot.
Étape 3 : Tester le chatbot
- Cliquez sur l'onglet "Débogage" dans l'éditeur du chatbot.
- Posez une question de test (par exemple,
Qu'est-ce que Dify ?). - Vérifiez que la réponse correspond à votre modèle de prompt.
Étape 4 : Publier le chatbot
- Cliquez sur le bouton "Publier" en haut à droite.
- Sélectionnez "Publier en production".
- Votre chatbot est désormais accessible à l'adresse :
(Remplacez
http://localhost:3000/chatbot/{app-id}{app-id}par l'ID de votre chatbot dans l'URL.)
3. Configuration de la base de connaissances et du RAG
Étape 1 : Créer une base de connaissances
- Dans le tableau de bord Dify, cliquez sur "Knowledge" dans la barre latérale gauche.
- Cliquez sur "Créer une base de connaissances".
- Nom :
Documentation Produit - Description :
Documentation interne du produit pour le RAG. - Modèle d'embedding : Sélectionnez
text-embedding-ada-002(OpenAI) oubge-small-en(local). - Cliquez sur "Enregistrer".
Étape 2 : Télécharger des documents
- Cliquez sur l'onglet "Documents" dans votre base de connaissances.
- Cliquez sur "Télécharger" et sélectionnez un fichier (supporte PDF, TXT, Markdown, DOCX, CSV).
- Exemple : Téléchargez un PDF de votre documentation produit.
- Attendez que le document soit traité (le statut passera de
En file d'attenteàIndexé).
Étape 3 : Connecter la base de connaissances à votre chatbot
- Ouvrez votre chatbot dans le Studio.
- Cliquez sur l'onglet "Contexte" dans la barre latérale gauche.
- Cliquez sur "Ajouter une base de connaissances" et sélectionnez
Documentation Produit. - Mettez à jour le modèle de prompt pour inclure la base de connaissances :
Vous êtes un assistant utile. Utilisez le contexte suivant pour répondre à la question de l'utilisateur : Contexte : {{knowledge}} Question de l'utilisateur : {{query}} - Cliquez sur "Enregistrer" et testez le chatbot avec une question sur votre documentation.
Étape 4 : Configurer les paramètres avancés du RAG
- Dans l'onglet Contexte, cliquez sur l'icône d'engrenage (⚙️) à côté de votre base de connaissances.
- Ajustez les paramètres suivants :
- Top K :
3(nombre de morceaux à récupérer) - Seuil de score :
0.5(score de pertinence minimum) - Mode de récupération :
Unique(ouMultiplepour les requêtes multi-documents)
- Top K :
- Cliquez sur "Enregistrer".
4. Constructeur de workflows
Étape 1 : Créer un workflow
- Dans le tableau de bord Dify, cliquez sur "Studio" > "Créer une application" > "Workflow".
- Nom :
Tri des demandes clients - Description :
Orienter les requêtes des clients vers la bonne équipe.
Étape 2 : Construire le workflow
- Glissez-déposez un nœud "Début" sur le canevas.
- Glissez-déposez un nœud "LLM" et connectez-le au nœud Début.
- Modèle :
gpt-4o(ou votre modèle préféré) - Prompt :
Classez la requête de l'utilisateur dans l'une de ces catégories : - Facturation - Support technique - Demande générale Requête : {{query}} Catégorie :
- Modèle :
- Glissez-déposez un nœud "Condition" et connectez-le au nœud LLM.
- Condition 1 :
{{llm_output}} contient "Facturation"- Action : Connectez à un nœud "Répondre" avec le message :
Votre demande de facturation a été transmise à l'équipe financière.
- Action : Connectez à un nœud "Répondre" avec le message :
- Condition 2 :
{{llm_output}} contient "Support technique"- Action : Connectez à un nœud "Répondre" avec le message :
Un agent du support technique vous contactera sous peu.
- Action : Connectez à un nœud "Répondre" avec le message :
- Condition par défaut : Connectez à un nœud "Répondre" avec le message :
Merci pour votre message ! Nous vous répondrons bientôt.
- Condition 1 :
- Cliquez sur "Enregistrer".
Étape 3 : Tester le workflow
- Cliquez sur l'onglet "Débogage".
- Saisissez une requête de test (par exemple,
J'ai une question concernant ma facture). - Vérifiez que le workflow oriente correctement la requête.
Étape 4 : Publier le workflow
- Cliquez sur "Publier" > "Publier en production".
- Le workflow est désormais disponible en tant qu'API (voir Section 5).
5. Accès API et intégration
Étape 1 : Obtenir votre clé API
- Dans le tableau de bord Dify, cliquez sur votre icône de profil > "Clés API".
- Cliquez sur "Créer une nouvelle clé".
- Nom :
Clé pour mon application - Copiez la clé API générée (vous ne pourrez plus la voir par la suite).
Étape 2 : Appeler l'API du chatbot
Utilisez curl pour interagir avec votre chatbot :
curl --location 'http://localhost:5001/v1/chat-messages' \
--header 'Authorization: Bearer {VOTRE_CLÉ_API}' \
--header 'Content-Type: application/json' \
--data '{
"inputs": {},
"query": "Qu'est-ce que Dify ?",
"response_mode": "blocking",
"conversation_id": "",
"user": "test-user"
}'
Sortie attendue :
{
"event": "message",
"message_id": "abc123",
"conversation_id": "xyz456",
"answer": "Dify est une plateforme open-source de développement d'applications LLM..."
}
Étape 3 : Intégrer le chatbot dans une application web
Utilisez le SDK JavaScript de Dify pour intégrer votre chatbot :
<!DOCTYPE html>
<html>
<head>
<title>Intégration du chatbot Dify</title>
<script src="https://cdn.jsdelivr.net/npm/@dify/[email protected]/dist/dify.umd.min.js"></script>
</head>
<body>
<div id="dify-chatbot" style="width: 400px; height: 600px;"></div>
<script>
const chatbot = new DifyChatbot({
el: '#dify-chatbot',
appId: '{VOTRE_APP_ID}', // Récupérez-le depuis l'URL du chatbot
apiHost: 'http://localhost:5001',
apiKey: '{VOTRE_CLÉ_API}',
user: 'web-user'
});
</script>
</body>
</html>
Remarque : Remplacez {VOTRE_APP_ID} et {VOTRE_CLÉ_API} par vos valeurs.
6. Configuration des fournisseurs de modèles
Étape 1 : Ajouter OpenAI
- Dans le tableau de bord Dify, cliquez sur "Paramètres" > "Fournisseurs de modèles".
- Cliquez sur "Ajouter un fournisseur" et sélectionnez OpenAI.
- Saisissez votre clé API OpenAI (obtenez-la sur OpenAI Platform).
- Cliquez sur "Enregistrer".
Étape 2 : Ajouter un modèle local (Ollama)
- Installez Ollama localement :
curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3 - Dans Dify, allez dans "Paramètres" > "Fournisseurs de modèles".
- Cliquez sur "Ajouter un fournisseur" et sélectionnez Ollama.
- URL de base :
http://host.docker.internal:11434(utilisezhost.docker.internalpour accéder à la machine hôte depuis Docker). - Cliquez sur "Enregistrer".
Étape 3 : Ajouter Anthropic (Claude)
- Obtenez une clé API Anthropic depuis Anthropic Console.
- Dans Dify, allez dans "Paramètres" > "Fournisseurs de modèles".
- Cliquez sur "Ajouter un fournisseur" et sélectionnez Anthropic.
- Saisissez votre clé API et cliquez sur "Enregistrer".
Étape 4 : Utiliser un modèle personnalisé
- Dans les Paramètres des fournisseurs de modèles, cliquez sur "Ajouter un fournisseur" > "Personnalisé".
- Nom :
Mon Modèle Personnalisé - URL de base :
https://api.votre-fournisseur-de-modèle.com/v1 - Clé API :
votre-clé-api - Modèles : Ajoutez votre ou vos modèles avec leur
nameetcontext_length. - Cliquez sur "Enregistrer".
7. Déploiement en production
Option 1 : Kubernetes (Helm)
- Ajoutez le dépôt Helm de Dify :
helm repo add dify https://dify-ai.github.io/helm-charts helm repo update
