n8n - Nodemation
Ich habe n8n als neues KI-Spielzeug für mich entdeckt. n8n ist eine Open-Source-Plattform zur Automatisierung von Workflows. Die Aufmachung ist so ähnlich wie bei Node Red. Man stellt Workflows aus einzelnen Nodes zusammen, die jeweils eine Teilaufgabe erledigen. Damit kann man z.B. KI Agenten bauen.
Ich habe mich daran versucht, und bin erstmal kläglich gescheitert. Mein Chatbot sollte einfach nur Wikipedia als Tool verwenden, und auf Anfragen wie “Suche in der Wikipedia nach Jever” eine entsprechende Antwort liefern. Nur hat der Bot sich einfach geweigert überhaupt Anfragen an Wikipedia zu stellen.
Mein n8n-Flow ist dabei wie folgt aufgebaut:
- Der Eingangstrigger ist ein einfacher “on chat message”-Node, der erstmal keine weiteren Einstellungen hat.
- Der folgende AI-Agent-Node hat nur eine geänderte System Message von mir bekommen: “Du bist ein hilfreicher Assistent und sprichst deutsch.”
- Angeflanscht an den Agenten Node ist meine lokale Ollama Instanz.
- Der Agent hat auch ein Simple Memory. Die Context Windows Length habe ich auf den Wert 5 eingestellt. Das sollte reichen um ergänzende Fragen zu bisher erhaltenen Anworten zu stellen.
- Als Tool ist der Node Wikipedia angebunden. Dieses Tool soll vom Agent aktiv benutzt werden.
Hier gibt es den Bot als Download: Wikipedia Bot mit Ollama
Meine ersten Versuche habe ich mit Gemma2 als LLM gemacht. Dabei wurde das Tool Wikipedia immer nicht verwendet. Ich habe dann verschieden LLMs ausprobiert und bekam immer gleiche Ergebnisse. Wikipedia wurde nie abgefragt. In meiner Verzweifelung habe ich dann Ollama auf dem lokalen Rechner durch eine externe KI ersetzt. Ich habe Googles Gemini mit Gemini-2.0-flash als LLM verwendet. Und siehe da alles funktioniert bestens.
Nach längerer Internetrecherche habe ich dann die Lösung für mein Probleme gefunden. Meine verwendeten LLMs konnten alle keine Tools verwenden. Aufgrund meiner eingeschränkten Rechenpower hatte ich bisher Llama3, Gemma2 und Phi3 benutzt. Ich habe mir dann
- qwen3:4b
- qwen3:8b
- llama3.2:3b
- mistral:7b
heruntergeladen. Alle diese Modelle haben Tool-Unterstützung, und der Wikipedia-Agent funktionert. Dann habe ich ein wenig herumgespielt und ein paar Tests gemacht.
Auf die Frage: “Suche in der Wikipedia nach Jever” liefert mir der Bot folgende Antwort:
Es scheint, als ob du nach Informationen über die Stadt Jever in Deutschland suchst. Jever ist eine Stadt im Landkreis Ammerland in Niedersachsen und hat eine lange Geschichte und eine reiche Kultur….
Okay, die Anwort ist zwar falsch, aber immerhin benutzt der Agent das Tool Wikipedia, wie man am Log erkennt. Ammerland…
Die Anwort auf den gemachten Fehler klingt schon besser! Meine nächsten Versuche gehen in Richtung Home Assistant. n8n hat dort entsprechende Nodes um auf Home Assistant Entitäten zugreifen zu können.
Ich verwende n8n in der Version 1.110.1, Ollama in der Version 0.11.10. Beides läuft bei mir im Docker-Container.
Dokumentation: https://docs.n8n.io/