đ Dein erstes AI & Automation Lab
đ Dein erstes AI & Automation Lab â Linux Mint Edition
Ziel: In ca. 60 Minuten baust du dir auf deinem Laptop ein eigenes AI-Chat-System und eine Automationsplattform â mitalles einemlokal, leistungsstarkenohne KI-ModellCloud, ausohne der IONOS Cloud.Accounts.
Was du am Ende hast:
ZugriffEinauf ein leistungsstarkeslokales Large Language Model (MistralLLM),Smalldas24B) ĂŒber die IONOS Cloud
Teil 01 â SystemDocker vorbereiten und Benutzer einrichteninstallieren (10 Min.)
BevorDocker esist losgeht,wie bringeneine wir"App-Box": dasDu SystemlĂ€dst auffertige denSoftware-Pakete neuesten(Container) Standherunter und startest sie, ohne irgendetwas kompliziert installieren diezu nötigenmĂŒssen. Grundlagen.Stell Meldedir dichvor, dazudu zunĂ€chstbekommst alseine Rootkomplett odereingerichtete mitvirtuelle einemMaschine bestehendenâ Administrator-Accountaber an.viel kleiner und schneller.
Schritt 1: Terminal öffnen
Klicke unten in der Taskleiste auf das Terminal-Symbol oder drĂŒcke Ctrl + Alt + T.
Das Terminal ist deine "Kommandozeile". Hier tippst du Befehle ein, die der Computer direkt ausfĂŒhrt â ohne grafische OberflĂ€che. Das klingt erstmal ungewohnt, aber du wirst sehen: FĂŒr viele Aufgaben ist es schneller als Klicken.
Schritt 2: System aktualisieren
sudo apt update &&Â sudo apt upgrade -y
Was passiert hier im Detail:
sudo â steht fĂŒr "Super User Do". Damit sagst du dem System: "FĂŒhre den folgenden Befehl mit Administrator-Rechten aus." Du wirst nach deinem Passwort gefragt.
apt â der Paketmanager von Linux. Er verwaltet Software-Installation und Updates, Ă€hnlich wie ein App Store, aber per Kommandozeile.
update â && â apt upgrade -y â installiert -y Schritt 2:3: curlDocker installieren
sudo apt install curl -y docker.io docker-compose
apt installâ installierteinneueneuesSoftware-PaketeSoftwarepaket.auf deinem System. â das eigentliche Docker-Programm. Es ermöglicht dir, Container (isolierte Mini-Umgebungen) zu starten.curldocker.io
docker-compose â ein -y â Schritt 3:4: ZeitzoneDocker setzenohne sudo nutzbar machen
timedatectlsudo set-timezoneusermod Europe/Berlin-aG docker $USER
â eintimedatectlusermodWerkzeugBefehlzurzumVerwaltungĂnderndervonSystemzeit und Zeitzone.Benutzer-Einstellungen.âset-timezone-aGEurope/BerlindockerstelltfĂŒgt (-a = append/hinzufĂŒgen) deinen Benutzer zur Gruppe (-G = Group) namensdocker hinzu. Gruppen sind wie Berechtigungs-Clubs: Wer in der Gruppe "docker" ist, darf Docker-Befehle ohnesudo ausfĂŒhren.
$USERÂ â eine Variable, die $USER Teil
â ïž 1Wichtig: âDanach Dockereinmal installierenab- und wieder anmelden (10oder Min.)Laptop neu starten), damit die Ănderung greift. Linux liest Gruppenrechte nur beim Login ein.
Schritt 1:5: Testen ob Docker herunterladen und installierenlÀuft
curldocker -fsSLrun https://get.docker.com -o get-docker.sh
sh get-docker.shhello-world
âcurldocker-fSL https://get.docker.comrunlĂ€dtder wichtigste Docker-Befehl. Er macht drei Dinge auf einmal: (1) PrĂŒft ob dasoffizielleImageDocker-Installationsskript"hello-world"herunter.lokal
-fhello-world â -sPerfekt -S-s-LWenn
-odu get-docker.sheine Nachricht siehst, die mit "Hello from Docker!"Â beginnt â get-docker.shsh get-docker.shSchritt 2: Docker Compose Plugin installieren
apt install docker-compose-plugin -y
docker-compose-pluginSchritt 3: Docker Compose Version prĂŒfen
docker compose version
Du solltest eine aktuelle Version sehen (z.B. v2.x.x).funktioniert!
Teil 2 â Alles starten mit Docker Compose (10 Min.)
Statt jeden Dienst einzeln zu starten, beschreiben wir alles in einer einzigen Datei. Docker Compose liest diese Datei und startet alle Services automatisch â mit den richtigen Einstellungen, Verbindungen und AbhĂ€ngigkeiten.
Schritt 1: Projektordner anlegen
mkdir ~/ai-lab && cd ~/ai-lab
mkdirâ steht fĂŒr "make directory" und erstellt einen neuen Ordner.~/ai-labâ die Tilde~ist eine AbkĂŒrzung fĂŒr dein Home-Verzeichnis (z.B./home/praktikant). Der Ordner heiĂt alsoai-labund liegt direkt in deinem Benutzerordner.cdâ steht fĂŒr "change directory" und wechselt in den angegebenen Ordner. Danach bist du "drin" und alle weiteren Befehle beziehen sich auf diesen Ordner.
Schritt 2: Docker-Compose-Datei erstellen
nano docker-compose.yml
nanoâ ein einfacher Texteditor im Terminal. Er öffnet sich direkt im selben Fenster. Bedienung: Tippen zum Schreiben,Ctrl + Ozum Speichern,Ctrl + Xzum SchlieĂen.docker-compose.ymlâ der Dateiname, den Docker Compose automatisch sucht..yml(auch.yaml) ist ein Dateiformat fĂŒr strukturierte Konfigurationen â Ă€hnlich wie eine Einkaufsliste mit EinrĂŒckungen statt Klammern.
FĂŒge folgenden Inhalt ein (mit Rechtsklick â EinfĂŒgen):
services:
# "services" ist der Hauptblock â hier werden alle Container definiert,
# die zusammen gestartet werden sollen.
# (Hinweis: "version:" wird seit Docker Compose v2 nicht mehr benötigt.)
# =====================================================
# OLLAMA â Das KI-Gehirn: fĂŒhrt das LLM lokal aus
# =====================================================
ollama:
image: ollama/ollama
# Welches Docker-Image benutzt wird. Docker lÀdt es automatisch
# von Docker Hub herunter (wie ein App Store fĂŒr Container).
container_name: ollama
# Ein fester Name fĂŒr den Container, damit wir ihn leicht
# finden und ansprechen können (z.B. in anderen Containern).
ports:
- "11434:11434"
# Port-Weiterleitung: Der Container lauscht intern auf Port 11434.
# Wir leiten ihn auf den gleichen Port deines Laptops weiter.
# Format: "Laptop-Port:Container-Port"
# Du könntest also auch "9999:11434" schreiben â dann wĂ€re
# Ollama auf deinem Laptop unter Port 9999 erreichbar.
volumes:
- ollama_data:/root/.ollama
# Ein Volume ist wie ein USB-Stick fĂŒr den Container:
# Daten bleiben erhalten, auch wenn der Container neu gestartet wird.
# Hier werden die heruntergeladenen KI-Modelle gespeichert.
# Ohne Volume wÀren die Modelle nach jedem Neustart weg!
restart: unless-stopped
# Startet den Container automatisch neu, falls er abstĂŒrzt â
# auĂer du stoppst ihn bewusst mit "docker-compose down".
# =====================================================
# OPEN WEBUI â Die Chat-OberflĂ€che (sieht aus wie ChatGPT)
# =====================================================
open-webui:
image: ghcr.io/open-webui/open-webui:main
# Dieses Image kommt von GitHub Container Registry (ghcr.io)
# statt Docker Hub â einfach ein anderer "App Store".
# ":main" bedeutet: die neueste Version vom Hauptzweig.
container_name: open-webui
ports:
- "3000:8080"
# Der Container lÀuft intern auf Port 8080, aber wir leiten
# auf Port 3000 weiter. Im Browser also: localhost:3000
env_file:
- /root/.token # đ Token wird von hier geladen
environment:
- OPENAI_API_BASE_URL=https:OLLAMA_BASE_URL=http://openai.inference.de-txl.ionos.com/v1ollama:11434
# Eine Umgebungsvariable â wie eine Einstellung fĂŒr den Container.
# Hier sagen wir Open WebUI, wo es Ollama findet.
# "ollama" funktioniert als Hostname, weil Docker Compose
# alle Services automatisch in ein gemeinsames Netzwerk steckt.
# Die URLContainer derkönnen IONOSsich AIgegenseitig ModelĂŒber Hubihre API.Service-Namen
# ansprechen â als wĂ€ren es Computernamen im selben Netzwerk.
depends_on:
- ollama
# Startreihenfolge: Open WebUI sprichterst starten, nachdem
# das OpenAI-kompatible Protokoll â deshalb können wir die
# IONOS-API direkt als "OpenAI-Endpunkt" eintragen.
# OPENAI_API_KEY wird aus der .tokenOllama-Container Dateigestartet gezogenwurde.
volumes:
- webui_data:/app/backend/data
restart: unless-stopped
# Startet den Container automatisch neu, falls er abstĂŒrzt â
# auĂer du stoppst ihn bewusst mit "docker compose down".
# =====================================================
# N8N â Automationsplattform: Workflows per Drag & Drop
# =====================================================
n8n:
image: docker.n8n.io/n8nio/n8n
# Das offizielle n8n-Image aus der eigenen n8n-Registry.
# n8n hat seine Images von Docker Hub auf eine eigene
# Registry (docker.n8n.io) umgezogen â das ist die
# aktuelle und empfohlene Quelle.
container_name: n8n
ports:
- "5678:5678"
# n8n lĂ€uft auf Port 5678 â das ist der Standard-Port.
volumes:
- n8n_data:/home/node/.n8n
# Hier speichert n8n deine erstellten Workflows,
# Zugangsdaten (Credentials) und AusfĂŒhrungsprotokolle.
environment:
- N8N_DEFAULT_LOCALE=de
# Setzt die Sprache der n8n-OberflÀche auf Deutsch.
# n8n ist nicht zu 100% ĂŒbersetzt â manche Texte
# bleiben auf Englisch, aber die wichtigsten MenĂŒs
# und Beschreibungen sind auf Deutsch.
- GENERIC_TIMEZONE=Europe/Berlin
# Setzt die Zeitzone. Wichtig fĂŒr zeitgesteuerte
# Workflows (z.B. "Jeden Morgen um 9 Uhr ausfĂŒhren"),
# damit die richtige Uhrzeit verwendet wird.
- N8N_SECURE_COOKIE=false
# Deaktiviert HTTPS-Pflicht fĂŒr Cookies. Nötig, weil wir
# lokal ĂŒber http:// (nicht https://) arbeiten.
# In einer Produktivumgebung sollte das auf true stehen
# und HTTPS konfiguriert sein.
- N8N_RUNNERS_ENABLED=true
# Aktiviert den neuen Task-Runner von n8n. Dieser fĂŒhrt
# JavaScript/Python-Code in Nodes sicher in einem
# separaten Prozess aus â sicherer und stabiler als
# die alte Methode.
- WEBHOOK_URL=http://ip-des-containers:5678/
restart: unless-stopped
# =====================================================
# VOLUMES â Persistente Speicherbereiche
# =====================================================
volumes:
ollama_data:
webui_data:
n8n_data:
# Hier werden die Volumes "registriert". Docker erstellt dafĂŒr
# automatisch Speicherbereiche auf deiner Festplatte.
# Solange du diese Volumes nicht löschst, bleiben alle deine
# Modelle, Chat-VerlĂ€ufe und Workflows erhalten â auch wenn
# du die Container stoppst und neu startest.
Speichern mit Ctrl + O, Enter, dann schlieĂen mit Ctrl + X.
Was ist hier anders als bei einer lokalen KI? Statt ein KI-Modell auf deinem Rechner laufen zu lassen (was viel RAM und eine starke GPU braucht), nutzen wir dieIONOS AI Model Hub API. Das ist ein Cloud-Dienst, der leistungsstarke KI-Modelle bereitstellt und ĂŒber eine standardisierte Schnittstelle (OpenAI-kompatibel) erreichbar ist. Dein Laptop schickt die Fragen ĂŒber das Internet an IONOS, und IONOS schickt die Antworten zurĂŒck. Der Vorteil: Du kannst ein viel gröĂeres und schlaueres Modell nutzen (Mistral Small mit 24 Milliarden Parametern), als dein Laptop jemals lokal berechnen könnte.
Schritt 3: Alles starten
docker docker-compose up -d
â liest diedockerdocker-compose updocker-compose.ymlim aktuellen Ordner, lĂ€dt alle nötigen Images herunter und startet die Container.-dâ steht fĂŒr "detached" (losgelöst). Die Container laufen im Hintergrund, sodass du das Terminal weiter nutzen kannst. Ohne-dwĂŒrden die Logs direkt im Terminal angezeigt und du könntest nichts anderes mehr tippen.
Docker lĂ€dt jetzt die Container herunter. Das dauert beim ersten Mal einige Minuten â hol dir einen Kaffee â
Schritt 4: PrĂŒfen ob alles lĂ€uft
docker ps
docker psâ zeigt alle aktuell laufenden Container an.pssteht fĂŒr "process status". Du siehst eine Tabelle mit Container-Namen, Status, Ports und Laufzeit.
Du solltest zweidrei Container sehen:Â ollama, open-webui und n8n.
Teil 3 â VerbindungDein zurerstes ChatoberflĂ€cheLLM laden und chatten (10 Min.)
Schritt 1: Ein KI-Modell herunterladen
docker exec ollama ollama pull phi3:mini
docker exec â fĂŒhrt einen Befehl innerhalb eines laufenden Containers aus, ohne ihn neu zu starten. Stell dir vor, du rufst in die Box hinein: "Hey, mach mal das!"
ollama (erster) â der Name des Containers, in dem der Befehl ausgefĂŒhrt werden soll.
ollama pull phi3:mini (zweiter Teil) â der Befehl, der im Container lĂ€uft. ollama pull lĂ€dt ein KI-Modell herunter, Ă€hnlich wie apt install Software installiert.
phi3:mini â das Modell "Phi-3" von Microsoft in der kleinen Variante (ca. 2 GB). Es ist schnell genug fĂŒr Ă€ltere Laptops und trotzdem erstaunlich schlau.
Hintergrund: Ein LLM (Large Language Model) ist das HerzstĂŒck hinter ChatGPT & Co. Es
verstehtist eine riesige Datei mit "gelerntem Wissen", die Text versteht underzeugtTextText.erzeugt.StattDueslĂ€dstlokaldir hier eines direkt aufdeinemdeinenRechnerLaptoplaufenâzukeinlassen,InternetnutzennötigwirzumhierChatten,einen Cloud-Dienst von IONOS, der das Modell auf leistungsstarken Servern in Deutschland betreibt. Deinekeine Datenbleibenverlassendabeideinenin der EU.Rechner.
Schritt 2: Chat-OberflÀche öffnen
Ăffne im Browser: http://localhost:3000
azubi1:https://azubi1.family.ipv64.net/azubi2:https://azubi2.family.ipv64.net/azubi3:https://azubi3.family.ipv64.net/
- Erstelle einen lokalen Account (bleibt alles nur auf deinem Rechner)
- WĂ€hle oben das Modell
mistralai/Mistral-Small-24B-Instructphi3:mini aus - Stell eine Frage!
đĄ Probier mal diese Prompts:
ErklÀre mir Docker in 3 SÀtzen, als wÀre ich 10 Jahre alt.Was ist der Unterschied zwischen einer VM und einem Container?Schreibe mir ein kurzes Python-Skript, das "Hallo Welt" ausgibt.
đ GlĂŒckwunsch! Du hast gerade dein eigeneseigenes, Chat-Systemprivates mit einem leistungsstarken KI-ModellChatGPT aufgebaut.
Teil 4 â Dein erster Automations-Workflow in n8n (20 Min.)
Jetzt verbinden wir das LLM mit einer Automation. n8n ist eine visuelle Plattform, in der du per Drag & Drop "Nodes" (Bausteine) zu einem Workflow verbindest â wie eine Kette, durch die Daten flieĂen.
Schritt 1: n8n öffnen
Ăffne im Browser:
https:http://azubi1n8n.family.ipv64.net/https://azubi2n8n.family.ipv64.net/https://azubi3n8n.family.ipv64.net/Beim ersten Mal: Erstelle einen lokalen Account (nur auf deinem Rechner).
Die
n8n-OberflĂ€cheistsollte gröĂtenteils aufEnglischDeutsch sein ân8ndankunterstĂŒtztderoffiziellEinstellungnurN8N_DEFAULT_LOCALE=deEnglisch.inInunsererdieserCompose-Datei.AnleitungEinigeverwendenTextewirsinddahermöglicherweisedurchgehendnochdieaufenglischenEnglisch,Bezeichnungen.wenn sie noch nicht ĂŒbersetzt wurden.
Schritt 2: IONOS API als Credential einrichten
Bevor wir einen Workflow bauen, sagen wir n8n einmal, wo unser KI-Modell erreichbar ist. Das muss nur einmal gemacht werden â danach können alle Workflows darauf zugreifen.
nano .token
azubi1
eyJ0eXAiOiJKV1QiLCJraWQiOiJiYTEzNzY2Mi00NmRkLTQzMTMtYjAzYy0yYTNmNDMyY2FlZmIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2NTEzLCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsicHJpdmlsZWdlcyI6WyJEQVRBX0NFTlRFUl9DUkVBVEUiLCJTTkFQU0hPVF9DUkVBVEUiLCJJUF9CTE9DS19SRVNFUlZFIiwiTUFOQUdFX0RBVEFQTEFURk9STSIsIkFDQ0VTU19BQ1RJVklUWV9MT0ciLCJQQ0NfQ1JFQVRFIiwiQUNDRVNTX1MzX09CSkVDVF9TVE9SQUdFIiwiQkFDS1VQX1VOSVRfQ1JFQVRFIiwiQ1JFQVRFX0lOVEVSTkVUX0FDQ0VTUyIsIks4U19DTFVTVEVSX0NSRUFURSIsIkZMT1dfTE9HX0NSRUFURSIsIkFDQ0VTU19BTkRfTUFOQUdFX01PTklUT1JJTkciLCJBQ0NFU1NfQU5EX01BTkFHRV9DRVJUSUZJQ0FURVMiLCJBQ0NFU1NfQU5EX01BTkFHRV9MT0dHSU5HIiwiTUFOQUdFX0RCQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfRE5TIiwiTUFOQUdFX1JFR0lTVFJZIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0ROIiwiQUNDRVNTX0FORF9NQU5BR0VfVlBOIiwiQUNDRVNTX0FORF9NQU5BR0VfQVBJX0dBVEVXQVkiLCJBQ0NFU1NfQU5EX01BTkFHRV9OR1MiLCJBQ0NFU1NfQU5EX01BTkFHRV9LQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfTkVUV09SS19GSUxFX1NUT1JBR0UiLCJBQ0NFU1NfQU5EX01BTkFHRV9BSV9NT0RFTF9IVUIiLCJDUkVBVEVfTkVUV09SS19TRUNVUklUWV9HUk9VUFMiLCJBQ0NFU1NfQU5EX01BTkFHRV9JQU1fUkVTT1VSQ0VTIl0sInV1aWQiOiJmNjYwMDU5Ni04MmQxLTQ1ZGUtOTY1Yi0yZDUwZmRmZGNkNWEiLCJyZXNlbGxlcklkIjoxLCJyZWdEb21haW4iOiJpb25vcy5kZSIsInJvbGUiOiJvd25lciIsImNvbnRyYWN0TnVtYmVyIjozNjU3ODA2OSwiaXNQYXJlbnQiOmZhbHNlfSwiZXhwIjoxNzc3MjkxMzEzfQ.KemmxzRAAFHVV5PMwWrkLkBwGTJ15ALFoV9pmcwjOKfG7AzggiGVh2HY5wyL-_uVmwWxXi4ZP9_O7VyWmOtv2UIeWAQzmxHjOGxqR0rISUxYFCkVTax5qtVEmFEJgOYeDVO4rmwg3TaKGCKkYsY-NCiIBXhrQpUEyK0AUOQiqeiKPWxX3JV-ry5qw8P_Qoz5fPvxEPg8sbjFecImEit_L19cSKctCvuEYaO7mdGjRW9QcpTUVUccVwzrFumhVKAuo7vQZJGUtKYJ1nh9Pl86gAjrornutFZTzsch-utu4zgxcufYm6guMJpCna9-To64lqeEK9-6sayZGj74jAo1QQ
azubi2
eyJ0eXAiOiJKV1QiLCJraWQiOiJiMzY1NjhmZS0xNTVhLTRjNTUtOGNjYi1hZjFkYzAxMWYxMmUiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2NjYyLCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsiaXNQYXJlbnQiOmZhbHNlLCJjb250cmFjdE51bWJlciI6MzY1NzgwNjksInJvbGUiOiJvd25lciIsInJlZ0RvbWFpbiI6Imlvbm9zLmRlIiwicmVzZWxsZXJJZCI6MSwidXVpZCI6ImY2NjAwNTk2LTgyZDEtNDVkZS05NjViLTJkNTBmZGZkY2Q1YSIsInByaXZpbGVnZXMiOlsiREFUQV9DRU5URVJfQ1JFQVRFIiwiU05BUFNIT1RfQ1JFQVRFIiwiSVBfQkxPQ0tfUkVTRVJWRSIsIk1BTkFHRV9EQVRBUExBVEZPUk0iLCJBQ0NFU1NfQUNUSVZJVFlfTE9HIiwiUENDX0NSRUFURSIsIkFDQ0VTU19TM19PQkpFQ1RfU1RPUkFHRSIsIkJBQ0tVUF9VTklUX0NSRUFURSIsIkNSRUFURV9JTlRFUk5FVF9BQ0NFU1MiLCJLOFNfQ0xVU1RFUl9DUkVBVEUiLCJGTE9XX0xPR19DUkVBVEUiLCJBQ0NFU1NfQU5EX01BTkFHRV9NT05JVE9SSU5HIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0VSVElGSUNBVEVTIiwiQUNDRVNTX0FORF9NQU5BR0VfTE9HR0lORyIsIk1BTkFHRV9EQkFBUyIsIkFDQ0VTU19BTkRfTUFOQUdFX0ROUyIsIk1BTkFHRV9SRUdJU1RSWSIsIkFDQ0VTU19BTkRfTUFOQUdFX0NETiIsIkFDQ0VTU19BTkRfTUFOQUdFX1ZQTiIsIkFDQ0VTU19BTkRfTUFOQUdFX0FQSV9HQVRFV0FZIiwiQUNDRVNTX0FORF9NQU5BR0VfTkdTIiwiQUNDRVNTX0FORF9NQU5BR0VfS0FBUyIsIkFDQ0VTU19BTkRfTUFOQUdFX05FVFdPUktfRklMRV9TVE9SQUdFIiwiQUNDRVNTX0FORF9NQU5BR0VfQUlfTU9ERUxfSFVCIiwiQ1JFQVRFX05FVFdPUktfU0VDVVJJVFlfR1JPVVBTIiwiQUNDRVNTX0FORF9NQU5BR0VfSUFNX1JFU09VUkNFUyJdfSwiZXhwIjoxNzc3MjkxNDYyfQ.qDIErgaU_mX_D4utaR1YmLBQ9cGZBOPI-Cdy8LNOaOg1ObTbUxWOYJAqTuZfbQMQpPpwx8X3kvdEjosouXc4mjbVt0SJhnIZ4sXeXqdOkMAbodpVSuo_KQqOFNRRUbFN0s3QCSljD7GSGzUfloqXO4oOT3qVXIILDijS0jW6_DBol_G2zqgV448b3DDE91dEC8ncL2UvTF9IaI0iiwSfjHgIqXnMf184UGNWlnKpa95hFZldkxq80jHiybCn8l7xe8c6xTFZuz2-pzx0tU8aAKxdUy-W2ut0kPfBBNVhO9Djm4yFLq432UDlufyilUFfe1rcItw7m4X6m6T0MLa8FA
azubi3
eyJ0eXAiOiJKV1QiLCJraWQiOiIyMTQ3YTA3ZC1jYjA5LTRiZDktYjRmYS1hZDc2MGE4Njc5ZDciLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2Njg2LCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsiY29udHJhY3ROdW1iZXIiOjM2NTc4MDY5LCJpc1BhcmVudCI6ZmFsc2UsInByaXZpbGVnZXMiOlsiREFUQV9DRU5URVJfQ1JFQVRFIiwiU05BUFNIT1RfQ1JFQVRFIiwiSVBfQkxPQ0tfUkVTRVJWRSIsIk1BTkFHRV9EQVRBUExBVEZPUk0iLCJBQ0NFU1NfQUNUSVZJVFlfTE9HIiwiUENDX0NSRUFURSIsIkFDQ0VTU19TM19PQkpFQ1RfU1RPUkFHRSIsIkJBQ0tVUF9VTklUX0NSRUFURSIsIkNSRUFURV9JTlRFUk5FVF9BQ0NFU1MiLCJLOFNfQ0xVU1RFUl9DUkVBVEUiLCJGTE9XX0xPR19DUkVBVEUiLCJBQ0NFU1NfQU5EX01BTkFHRV9NT05JVE9SSU5HIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0VSVElGSUNBVEVTIiwiQUNDRVNTX0FORF9NQU5BR0VfTE9HR0lORyIsIk1BTkFHRV9EQkFBUyIsIkFDQ0VTU19BTkRfTUFOQUdFX0ROUyIsIk1BTkFHRV9SRUdJU1RSWSIsIkFDQ0VTU19BTkRfTUFOQUdFX0NETiIsIkFDQ0VTU19BTkRfTUFOQUdFX1ZQTiIsIkFDQ0VTU19BTkRfTUFOQUdFX0FQSV9HQVRFV0FZIiwiQUNDRVNTX0FORF9NQU5BR0VfTkdTIiwiQUNDRVNTX0FORF9NQU5BR0VfS0FBUyIsIkFDQ0VTU19BTkRfTUFOQUdFX05FVFdPUktfRklMRV9TVE9SQUdFIiwiQUNDRVNTX0FORF9NQU5BR0VfQUlfTU9ERUxfSFVCIiwiQ1JFQVRFX05FVFdPUktfU0VDVVJJVFlfR1JPVVBTIiwiQUNDRVNTX0FORF9NQU5BR0VfSUFNX1JFU09VUkNFUyJdLCJ1dWlkIjoiZjY2MDA1OTYtODJkMS00NWRlLTk2NWItMmQ1MGZkZmRjZDVhIiwicmVzZWxsZXJJZCI6MSwicmVnRG9tYWluIjoiaW9ub3MuZGUiLCJyb2xlIjoib3duZXIifSwiZXhwIjoxNzc3MjkxNDg2fQ.XZ9e5VOkXeIbvIpraUra1lVI9i8n4ow7a7hWIt0eo1S5N0sWM85DQYMpSIHCDrLiERPylGDYahlALN2rKlT-RLbgLeLp8iIEatJ88zTPQ6ZF4oIbDXGDSO1ZGLAMPElcVjjf1qpo9k2j_5imojc8DAHyNRbl6NL7GKhCAeqtlA4zsUtFPh9qLsE1GLn_2aJisrf0HM3E51A7a-vgujcZPpRXTicB7t5PjKvOOB1mQj15V3v0ZcfxFSJ2iaGUC4c6p760abjIwk40vqbcVRh_VWMJ36dF02eGYlryZDsxQNima05C_DRXhFpTjISrsBFDAJ-8a_YeJT_4l-16bKIyQQ
https://openai.inference.de-txl.ionos.com/v1
Warum "OpenAI" als Credential? Die IONOS AI Model Hub API istOpenAI-kompatibel. Das bedeutet, sie spricht das gleiche Protokoll wie die OpenAI-API. Deshalb können wir in n8n einfach die OpenAI-Credential verwenden und nur die Base URL auf die IONOS-Adresse Ă€ndern. n8n merkt keinen Unterschied â es denkt, es spricht mit OpenAI, aber die Anfragen gehen an IONOS.
Schritt 3: Neuen Workflow erstellen
Gehe oben linskKlicke auf das"Neuen plusWorkflow understellen" wÀhle(bzw. "Create new workflow").
Schritt 4:3: Workflow zusammenbauen
Wir bauen einen Chat-Mini-Workflow: Du schreibstschickst eineeinen NachrichtText rein â das LLM antwortetfasst dirihn â direkt in n8n als Chat-OberflĂ€che.zusammen.
Node 1: ChatTrigger Trigger(manuell)
- Klicke auf das + in der Mitte
- Suche "
ChatManueller Trigger" (bzw. "Manual Trigger") â auswĂ€hlen
Die Standardeinstellungen(Damit kannst du soden lassen.Workflow Derper ChatKnopfdruck Triggerstarten)
öffnet ein Chat-Fenster direkt in n8n, ĂŒber das du mit dem LLM sprechen kannst.
Was ist ein
 ChatTrigger? Jeder Workflow braucht einen Auslöser â das Ereignis, das die Kette startet.DerEin "ChatManueller Trigger"startetheiĂt:denDuWorkflowdrĂŒckstjedesselbstMal,aufwenn"Test".duAndere Trigger könnten sein: "Jeden Morgen um 9 Uhr" oder "Wenn eineNachrichtneueimE-MailChat-Fenster abschickst. Du bekommst eine richtige Chat-OberflĂ€che, Ă€hnlich wie bei ChatGPT.kommt".
Node 2: AIText Agentvorbereiten
- Klicke auf das + rechts vom
ChatTrigger - Suche "
AIFelderAgent"bearbeiten" (bzw. "Edit Fields") unter "Datentransformation" â auswĂ€hlen
Die Standardeinstellungen passen fĂŒr unseren Zweck. Optional kannst du unterauf Add"Feld OptionhinzufĂŒgen" im Feldâ System"String"
prompt
DuFasse bistden einfolgenden hilfreicherText Assistent.in Antworte2 immerSĂ€tzen aufzusammen: Deutsch.KĂŒnstliche Intelligenz verĂ€ndert die Arbeitswelt grundlegend. Besonders in der Pharmaindustrie werden Prozesse automatisiert, die frĂŒher Stunden gedauert haben. Von der DokumentenprĂŒfung bis zur Datenanalyse helfen KI-Systeme dabei, schneller und genauer zu arbeiten. Gleichzeitig entstehen neue Berufsbilder rund um Prompt Engineering und KI-Integration.
Was
istmacht "Felder bearbeiten"? Dieser Node erzeugt einAIDatenpaketAgent?mitDereinemAIFeldAgentnamensist n8n's zentraler Baustein fĂŒr KI-Workflows. Er nimmt die Nachricht vom Chat Trigger entgegen, leitet sie an"prompt", dasSprachmodelldenweiterText enthĂ€lt. Stell dir vor, du steckst einen Brief in einen Umschlag undgibtbeschriftestdie Antwort zurĂŒck. Ein Agent kann auch "nachdenken" und Werkzeuge (Tools) nutzenihn âz.B.derimnĂ€chsteInternetNodesuchenweiĂoderdann,BerechnungenwodurchfĂŒhren. FĂŒrer denAnfangTextnutzen wir ihn ohne Tools als reinen Chat-Assistenten.findet.
Node 3: OpenAILLM Chat Model (Sub-Node)aufrufen
Jetzt verbinden wir den AI Agent mit dem IONOS-Modell:
- Klicke
 auf denAI Agent Node, um ihn zu öffnen
http://ollama:11434/api/generate
Send Body aktivieren
Body-Inhaltstyp:Â JSON
Im Feld mistralai/Mistral-Small-24B-Instruct{
"model": "phi3:mini",
"prompt": "{{ $json.prompt }}",
"stream": false
}
Was passiert hier?
HTTP-Anfrage â so kommunizieren Programme miteinander ĂŒbers Netzwerk. Du schickst eine Anfrage ("Request") an Ollama. POST â die HTTP-Methode. POST heiĂt: "Ich schicke dir Daten und will eine Antwort." (GET wĂ€re: "Gib mir etwas.")
http://ollama:11434/api/generate â die Adresse der Ollama-API. Wir nutzenollama stattlocalhost, weil die Container sich untereinander ĂŒber ihre Service-Namen ansprechen (das Docker-Compose-Netzwerk macht es möglich).{{ $json.prompt }} â das ist n8n-Syntax: "Nimm den Wert aus dem Feldprompt vom vorherigen Node." Die doppelten geschwungenen Klammern{{ }} sagen n8n: "Das hier ist kein normaler Text, sondern einSub-Node?Verweis auf Daten."stream: false â normalerweise schickt Ollama die Antwort Wort fĂŒr Wort (Streaming). Wir wollen aber die komplette Antwort auf einmal, deshalbfalse.
Node 4: Ergebnis anzeigen
Das Ergebnis kommt im Feld response der HTTP-Antwort zurĂŒck. Du kannst es direkt im Ausgabe-Panel von n8n unterscheidetsehen zwischenâ normalenklicke Nodeseinfach (dieauf inden der Kette liegen) und Sub-Nodes (die an einen anderenletzten Node "angedockt" werden). Der OpenAI Chat Model ist ein Sub-Node â er wird nicht in den Datenfluss eingereiht, sondern an den AI Agent angehĂ€ngt, um ihm zu sagen: "Nutze dieses Sprachmodell." Das ist wie ein Werkzeug, das dunach dem Agenten in die Hand gibst.AusfĂŒhren.
Schritt 5:4: Workflow testen!ausfĂŒhren!
Klicke oben auf "Chat"Workflow testen" (dasbzw. Sprechblasen-Symbol)"Test âWorkflow") esâ öffnetder sichWorkflow einlĂ€uft Chat-Fenster
Im z.B.:letzten ErklÀreNode mirsiehst Docker in 3 SÀtzen, als wÀre ich 10 Jahre alt.
đĄ Probier diese Fragen im Chat:
Was ist der Unterschied zwischen einer VM und einem Container?Schreibe mir ein kurzes Python-Skript, das "Hallo Welt" ausgibt.Was sind die wichtigsten Vorteile von Workflow-Automation?đ Du hast gerade deine erste KI-Automation gebaut â mit einer richtigen Chat-OberflĂ€che!gebaut!
Teil 5 â Bonus-Challenges (wenn noch Zeit ist)
Challenge 1: Anderes Modell testen
Die
docker IONOSexec AIollama Modelollama Hubpull bietetllama3.2:1b
mehrere Modelle an. Probiere ein anderes aus, indem du in Open WebUI oben das Modell wechselst. VerfĂŒgbare Modelle sind z.B.:
â Metasmeta-llama/Llama-3.3-70B-Instructllama3.2:1bgroĂes"Llama70B-Modell,3.2"sehr hohe AntwortqualitĂ€t
mistralai/Mistral-Nemo-Instruct-2407Vergleiche die Antworten verschiedenervon ModellePhi-3 und Llama 3.2 auf die gleiche Frage!Frage in Open WebUI. Wechsle dazu oben in der Chat-OberflÀche einfach das Modell.
Challenge 2: n8n-Workflow erweitern
ĂndereFĂŒgedasvorModelldemimLLM einenOpenAI Chat Model"Wenn" Sub--Nodeauf(bzw."If") hinzu, der prĂŒft ob der Text lĂ€nger als 100 Zeichen istmeta-llama/Llama-3.3-70B-InstructTesteWenndiejagleichenâFragenZusammenfassungerneutdurchund vergleiche die Antworten mit Mistral SmallLLMProbiereWennverschiedeneneinSystemâMessagesdirektaus, z.B.:ausgeben
Tipp:Â Der Wenn-Node findet sich unter "Ablaufsteuerung" (bzw. "Flow"). Bedingung:
Du{{bist$json.prompt.lengthein}}ExperteâfĂŒr"istdiegröĂerPharmaindustrie.als"ErklĂ€reâalles100einfach und verstĂ€ndlich.
Challenge 3: Eigenes System-Prompt
Ăndere dieden System MessagePrompt im AI"Felder Agent bearbeiten"-Node zu:
Du bist ein Experte fĂŒr die Pharmaindustrie. ErklĂ€re das folgende Thema einfach und verstĂ€ndlich: Was ist ein ERP-System?
Was ist ein System-Prompt? Das ist die "Rollenbeschreibung" fĂŒr das LLM. Du sagst ihm damit, wer es sein soll und wie es antworten soll â bevor es die eigentliche Frage bekommt. In Unternehmen werden System-Prompts genutzt, um KI-Assistenten auf bestimmte Aufgaben zu spezialisieren.
đ§ Was du gelernt hast
| Thema | Was du gemacht hast |
|---|---|
đ§ NĂŒtzliche Befehle zum Nachschlagen
| Befehl | Was er tut |
|---|---|
docker ps |
Zeigt laufende Container (ps = process status) |
docker ps -a |
Zeigt alle Container, auch gestoppte |
|
Startet alle Services im Hintergrund |
|
Stoppt alle Services und entfernt die Container |
|
Zeigt Live-Logs aller Container (-f = follow, folgt neuen EintrÀgen) |
|
Zeigt Live-Logs nur von |
docker exec ollama ollama list
Zeigt alle installierten KI-Modelle
docker exec ollama ollama pull <modell>
LĂ€dt ein neues Modell herunter
docker exec ollama ollama rm <modell>
Löscht ein Modell (spart Speicherplatz)
docker stats
Zeigt CPU- und RAM-Verbrauch aller Container live
â Troubleshooting
Open WebUI zeigt kein Modell an?
â PrĂŒfeWarte ob1â2 dieMinuten, UmgebungsvariablenOllama braucht OPENAI_API_BASE_URLundZeit zum OPENAI_API_KEYinStarten. derDann Seite docker-compose.ymlkorrektneu eingetragen sind.
â Starte den Container neu: docker compose restart open-webui
Open WebUI zeigt einen Fehler bei der Modellauswahl?
â Der API-Token könnte abgelaufen sein. Frage deinen Kursleiter nach einem neuen Token.laden.
n8n Chat zeigt keine Antwort / AI AgentHTTP-Anfrage schlÀgt fehl?
â PrĂŒfe ob diestream OpenAI-Credentialwirklich korrekt eingerichtet ist: Base URL mussauf https://openai.inference.de-txl.ionos.com/v1falsesein.steht (als Boolean, nicht als Text).
â PrĂŒfe obdie das ModellURL: mistralai/Mistral-Small-24B-Instructhttp://ollama:11434/api/generateim(nicht OpenAIlocalhost Chatâ Modeldie NodeContainer korrektsprechen eingetragensich ist.ĂŒber ihre Namen an).
n8n ist nicht auf Deutsch?
â PrĂŒfe obin der API-TokenCompose-Datei nochob gĂŒltigN8N_DEFAULT_LOCALE=de korrekt gesetzt ist.
Docker-Befehle brauchen sudo?
â Du hast dich nach usermod nicht neu angemeldet. Einmal ausloggen und wieder einloggen.
"Permission denied" bei docker docker-compose?
â PrĂŒfe mit groups ob "docker" in deiner Gruppenliste auftaucht. Falls nicht: Schritt 4 aus Teil 1 wiederholen und neu anmelden.
Laptop wird langsam?
â Modelle brauchen RAM. Phi-3 Mini braucht ca. 3â4 GB. SchlieĂe andere Programme.
â Mit docker stats kannst du sehen, welcher Container wie viel Ressourcen verbraucht.
â Da das KI-Modell in der Cloud lĂ€uft, braucht dein Laptop deutlich weniger RAM als bei einer lokalen Installation.
Container startet nicht?
â zeigt dir die Fehlermeldung des Containers.docker docker-compose logs -f <containername>