Cela dépend de la façon dont votre n8n est installé. Si c’est un conteneur Docker, vous devrez soit déplacer le LLM vers un autre conteneur Docker et y accéder par le nom du conteneur (le plus simple), soit autoriser l’accès du conteneur Docker au service hôte
vLLM expose une API compatible avec OpenAI, vous pouvez donc utiliser le nœud OpenAI Chat Model dans n8n pour vous y connecter. Dans les identifiants OpenAI, définissez l’URL de base sur http://localhost:8000/v1 (ou l’adresse IP réelle de l’hôte si n8n s’exécute dans Docker - utilisez http://host.docker.internal:8000/v1 sur Mac/Windows, ou l’adresse IP LAN de votre machine sur Linux). Entrez une chaîne quelconque non vide comme clé API car vLLM ne nécessite pas d’authentification par défaut. Ensuite, dans le nœud OpenAI Chat Model, tapez manuellement le nom du modèle - il doit correspondre à l’ID du modèle que vLLM utilise (vérifiez avec curl http://localhost:8000/v1/models`).
vLLM expose déjà une API compatible avec OpenAI, donc vous n’avez pas besoin d’un nœud spécial — utilisez simplement le nœud OpenAI en le pointant vers votre serveur local.
Étape par étape :
Créez une credential « OpenAI » dans n8n.
Dans Base URL, entrez l’adresse de votre vLLM en terminant par /v1 (dans votre cas, localhost sur le port 8000 suivi de /v1). Le /v1 à la fin est essentiel — c’est le chemin que vLLM propose.
Dans le champ API Key, vLLM n’exige normalement pas de clé, mais n8n exige que le champ soit rempli : entrez n’importe quelle valeur, ex. : sk-local.
Dans le nœud, en Model, utilisez exactement le nom que vLLM propose (le --served-model-name / --model, probablement gpt-oss-20b). Si le nom ne correspond pas, vous aurez une erreur model not found.
Piège le plus courant : si n8n tourne en Docker, localhost pointe vers le conteneur et non vers votre machine. Dans ce cas, remplacez localhost par host.docker.internal (Mac/Windows) ou par l’adresse IP de votre machine sur le LAN, en conservant le port 8000 et /v1. Pour confirmer que l’URL est correcte avant de l’utiliser dans n8n, faites un curl sur le endpoint /v1/models — si elle liste le gpt-oss-20b, il suffit de répliquer la même adresse dans la credential.
Bon, alors : le problème vient probablement du fait que ton n8n s’exécute dans Docker, et là-dedans « localhost » n’est pas ton ordinateur, c’est le conteneur lui-même. Donc quand tu lui dis de chercher vLLM sur localhost:8000, il regarde à l’intérieur de lui-même, où il n’y a évidemment rien, et ça jette l’erreur.
La solution est de changer l’URL de base pour celle-ci :
http://host.docker.internal:8000/v1
Si tu es sur Linux, tu dois aussi démarrer n8n avec --add-host host.docker.internal:host-gateway, sinon il ne reconnaîtra pas cette adresse (ou plus simplement, mets juste l’IP de ta machine directement).
Ensuite deux petites choses : assure-toi d’avoir démarré vLLM avec --host 0.0.0.0 (sinon il n’écoute que lui-même), et dans le champ API Key tape juste quelque chose d’aléatoire comme dummy, parce que n8n l’exige même si vLLM ne l’utilise pas.
Le seul cas où localhost aurait marché, c’est si n8n n’était pas dans Docker mais installé directement sur ta machine — mais c’est probablement pas ton setup, donc vas-y avec host.docker.internal et ça devrait marcher.
Sources (docs n8n — pages Ollama, mais le fix Docker localhost s’applique pareil à vLLM puisqu’il utilise la même API compatible OpenAI) :
Une remarque ici. Si vous l’hébergez sur un appareil qui quitte jamais votre LAN et se connecte à un autre réseau, votre adresse IP changera, et si vous n’avez pas une réservation DHCP dans votre routeur domestique pour cet appareil, il y a aussi une chance que votre adresse IP change et que cela se casse.
comme mentionné plus tôt, essayez host.docker.internal:PORT et si cela se résout, c’est la solution durable qui résout les deux problèmes avec une adresse IP statique ci-dessus