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:
-
Erhöhe numPredict auf mindestens 4096 in den Ollama-Node-Optionen.
-
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:
- 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.