Associer Dify et Ollama permet de construire visuellement une application tout en exécutant le modèle sur une machine maîtrisée. Le point délicat n’est pas le formulaire : c’est le réseau entre les deux services.
Préparer Ollama
Installez Ollama, téléchargez un modèle adapté à la mémoire disponible et vérifiez-le directement :
ollama pull llama3.2
ollama run llama3.2Testez ensuite l’API depuis la machine qui héberge Dify, pas seulement depuis votre poste. Si Dify tourne en conteneur, localhost désigne le conteneur Dify lui-même.
Choisir l’adresse
Sur Docker Desktop, un service de l’hôte peut souvent être atteint via host.docker.internal. Avec Docker Compose, placez idéalement les services sur le même réseau et utilisez le nom du service Ollama. Sur une autre machine, utilisez une adresse privée et un pare-feu.
N’exposez pas Ollama directement à Internet sans une couche d’authentification, de chiffrement et de limitation. L’API locale n’est pas conçue comme une frontière publique complète.
Configurer le fournisseur dans Dify
Installez le plugin de modèle correspondant, puis renseignez l’URL de base et le nom exact du modèle. Dify distingue modèle de génération et modèle d’embeddings : une base de connaissances nécessite un modèle compatible embeddings, pas seulement un modèle conversationnel.
Validez les identifiants depuis Dify. Si le test échoue, contrôlez dans cet ordre : résolution DNS, port, écoute d’Ollama, pare-feu, réseau Docker, puis nom du modèle.
Tester les capacités
Créez un workflow minimal avec une entrée et un nœud LLM. Mesurez temps avant premier jeton, durée totale, mémoire et comportement sur des entrées longues. Un modèle qui fonctionne en ligne de commande peut saturer dès que plusieurs utilisateurs appellent Dify.
Vérifiez aussi les fonctions réellement prises en charge : outils, JSON structuré, taille de contexte et streaming dépendent du modèle et de l’intégration.
Utiliser Ollama pour un RAG
Vous pouvez utiliser un modèle local pour la génération et un autre pour les embeddings. Conservez l’identité du modèle d’embeddings avec l’index. Si vous le remplacez, réencodez les documents avant de comparer les résultats.
Le local ne garantit pas que toutes les données restent locales : vérifiez les autres nœuds, plugins, systèmes de logs et services de reranking.
Production
- fixez les versions du modèle et des images ;
- imposez des files et limites de concurrence ;
- surveillez mémoire, température GPU, latence et erreurs ;
- protégez l’accès réseau à Ollama ;
- testez les redémarrages et le rechargement des modèles ;
- prévoyez un comportement contrôlé lorsque le service est indisponible.
À retenir
Dify et Ollama forment un environnement efficace de prototype local. La production dépend surtout du réseau, de la capacité matérielle et de la maîtrise de la concurrence, pas du simple fait que le modèle réponde sur un poste de développement.