KI-Agent generiert SQL, stoppt aber nach der 2. Abfrage

Hallo zusammen,

ich versuche, einen Workflow mit dem KI-Agent-Node, Ollama und PostgreSQL zu erstellen.
Alles funktioniert gut bei den ersten beiden Fragen, die eine SQL-Abfrage generieren müssen. Aber bei der dritten Frage, die Daten aus der Datenbank benötigt, generiert Ollama die SQL-Abfrage korrekt, stoppt aber und führt sie nicht auf dem getData-Node aus.

Bitte teilen Sie Ihren Workflow

Informationen zu Ihrem n8n-Setup

  • n8n-Version: 2.21.5
  • Datenbank (Standard: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
  • n8n läuft über: Docker
  • Betriebssystem: Linux

@flipflip, kannst du das mal versuchen?

Hallo @flipflip

Ich denke, die Ursache ist deine numPredict: 1024-Einstellung auf dem Ollama-Node. Das begrenzt die Antwort des Modells auf 1024 Token pro Durchlauf. Nach 2 Anfragen wächst dein Gesprächsverlauf (Tool-Aufrufe, Ergebnisse, Tabellenstrukturen), und dem Modell gehen die Output-Token aus, bevor es den Tool-Aufruf fertig generieren kann.

Zwei Dinge zum Ausprobieren:

  1. Erhöhe numPredict auf mindestens 4096 in den Ollama-Node-Optionen.

  2. Reduziere contextWindowLength in deinem Postgres Chat Memory von 20 auf etwa 5–10. Jede Nachricht enthält vollständige Tool-Call-Ergebnisse, daher verbrauchen 20 Nachrichten dein 16384-Context-Fenster schnell.

Kombiniere diese Änderungen mit den @kjooleng-Systemaufforderungs-Änderungen und es sollte über die 3. Anfrage hinwegkommen.

Sag uns Bescheid, ob das hilft!

@flipflip

Schau mal, ob das für dich passt:
GitLab MCP Server.json (5,0 KB)

Zwei Dinge, die es zu überprüfen lohnt: Erstens, schau dir die Einstellungen des AI Agent-Knotens an und kontrolliere den Wert „Max Iterations

Der wahrscheinlichste Schuldige ist hier, dass qwen3:14b nach der SQL-Generierung nicht zuverlässig einen korrekten Tool-Call ausgibt. Der AI Agent-Node erwartet, dass das LLM einen strukturierten Tool-Call zurückgibt — wenn das Modell nur die SQL als Klartext schreibt und stoppt, wird der getData-Node vom Agent niemals ausgelöst. Es sieht keinen Tool-Call, betrachtet die Aufgabe als erledigt und gibt eine leere Antwort zurück.

Einige Dinge zum Ausprobieren, der Reihe nach:

  1. Aktiviere temporär Intermediate Steps (Zwischenschritte). Im Agent-Node schaltest du „Return Intermediate Steps

Hallo zusammen,

mit den Vorschlägen von @kjooleng und @houda_ben habe ich es geschafft, das Problem zu beheben. Bisher bin ich trotz 10 Fragen, die eine Mischung aus Speicher- und Datenbankabfragen erforderten, nicht wieder auf das Problem gestoßen. Natürlich habe ich die Basis-Eingabeaufforderung erheblich erweitert, um meine Einschränkungen und Anforderungen zu integrieren.

Vielen Dank an euch alle für eure Hilfe.