Wie verbinde ich lokal laufendes "vllm gpt-oss-20b" von n8n aus?

Beschreibe das Problem/den Fehler/die Frage

Ich möchte auf mein lokales llm (vllm gpt-oss-20b) mit der URL (http://localhost:8000/v1) zugreifen. Wie kann ich mich verbinden?

Welche Fehlermeldung gibt es (falls vorhanden)?

Bitte teile deinen Workflow

(Wähle die Knoten auf deinem Canvas aus und verwende die Tastaturkürzel CMD+C/STRG+C und CMD+V/STRG+V, um den Workflow zu kopieren und einzufügen.)

Teile die Ausgabe des letzten Knotens

Informationen zu deinem n8n-Setup

  • n8n-Version: 2.29.8
  • Datenbank (Standard: SQLite): Standard
  • n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
  • n8n wird ausgeführt über (Docker, npm, n8n cloud, Desktop-App):
  • Betriebssystem:

Hallo @doyoungim999

Das hängt davon ab, wie dein n8n installiert ist. Wenn es ein Docker-Container ist, musst du entweder das LLM in einen anderen Docker-Container verschieben und über den Container-Namen darauf zugreifen (am einfachsten), oder den Zugriff vom Docker-Container auf den Host-Dienst erlauben

Willkommen @doyoungim999!

vLLM stellt eine OpenAI-kompatible API bereit, daher kannst du den OpenAI Chat Model-Knoten in n8n verwenden, um dich damit zu verbinden. Stelle in den OpenAI-Anmeldedaten die Base URL auf http://localhost:8000/v1 ein (oder die tatsächliche Host-IP, falls n8n in Docker läuft – verwende http://host.docker.internal:8000/v1 auf Mac/Windows oder die LAN-IP deines Computers unter Linux). Gib einen beliebigen nicht-leeren String als API-Schlüssel ein, da vLLM standardmäßig keine Authentifizierung benötigt. Gib dann im OpenAI Chat Model-Knoten den Modellnamen manuell ein – dieser sollte mit der Modell-ID übereinstimmen, die vLLM bereitstellt (überprüfe mit curl http://localhost:8000/v1/models`).

@nguyenthieutoan hat es genau erfasst, Localhost ist das Problem. Änder es auf deine LAN-IP-Adresse:8080

vLLM stellt bereits eine mit OpenAI kompatible API zur Verfügung, also benötigst du keinen speziellen Node — verwende einfach den OpenAI-Node und zeige ihn auf deinen lokalen Server.

Schritt für Schritt:

  1. Erstelle eine „OpenAI"-Anmeldedaten im n8n.
  2. Gib unter Base URL die Adresse deines vLLM ein, die mit /v1 endet (in deinem Fall localhost auf Port 8000 gefolgt von /v1). Das /v1 am Ende ist essentiell — es ist der Path, den vLLM bereitstellt.
  3. Im Feld API Key erfordert vLLM normalerweise keinen Schlüssel, aber n8n verlangt das Feld auszufüllen: gib einen beliebigen Wert ein, z. B. sk-local.
  4. Im Node gib unter Model exakt den Namen ein, den vLLM bereitstellt (den --served-model-name / --model, wahrscheinlich gpt-oss-20b). Wenn der Name nicht übereinstimmt, gibt es einen Fehler „model not found".

Häufigste Falle: Wenn n8n in Docker läuft, zeigt localhost auf den Container und nicht auf deine Maschine. In diesem Fall ersetze localhost durch host.docker.internal (Mac/Windows) oder durch die IP-Adresse deiner Maschine im LAN, behalte Port 8000 und /v1 bei. Um zu bestätigen, dass die URL korrekt ist, bevor du sie im n8n einsteckst, mache einen curl zum Endpoint /v1/models — wenn gpt-oss-20b aufgelistet wird, repliziere einfach dieselbe Adresse in den Anmeldedaten.

Hey, also: Das Problem ist wahrscheinlich, dass dein n8n in Docker läuft, und darin ist „localhost

@Michael_Frostbutter nachdem ich die IP geändert habe ( http://x.x.x.x:8000/v1) kann ich erfolgreich zugreifen. Danke

danke, es funktioniert. Ich habe x.x.x.x statt localhost geändert.

Gerne helfe ich weiter, localhost wird sich niemals in einem Docker-Container auflösen.

@doyoungim999

Ein Hinweis hier. Wenn du es auf einem Gerät hostest, das dein LAN jemals verlässt und sich mit einem anderen Netzwerk verbindet, ändert sich deine IP-Adresse. Außerdem, wenn du keine DHCP-Reservierung in deinem Heimrouter für dieses Gerät hast, besteht auch die Möglichkeit, dass sich deine IP-Adresse ändert und es bricht.

Wie bereits erwähnt, versuche host.docker.internal:PORT und wenn das funktioniert, ist das die dauerhafte Lösung, die beide Probleme mit einer statischen IP oben behebt.