Die Entwicklung von KI-Agenten wird durch Frameworks wie LangChain und CrewAI zunehmend erleichtert. Dennoch bringt die Erstellung dieser Agenten Herausforderungen mit sich, wie das Einhalten von API-Ratenlimits, das Verwalten hochdimensionaler Daten oder das Bereitstellen lokaler Server im Internet.
Anstatt während der Prototypenphase in Cloud-Dienste zu investieren oder die lokale Maschine mit Abhängigkeiten zu belasten, können Entwickler Docker nutzen. Mit nur einem Befehl lässt sich die Infrastruktur bereitstellen, die die Agenten intelligenter macht.
Im Folgenden werden fünf unverzichtbare Docker-Container vorgestellt, die jeder Entwickler von KI-Agenten in seinem Werkzeugkasten haben sollte. Dazu gehört auch die Top 7 AI Agent Orchestration Frameworks.
1. Ollama: Lokale Sprachmodelle ausführen
Beim Aufbau von Agenten kann es kostspielig und zeitaufwendig sein, jede Eingabe an einen Cloud-Anbieter wie OpenAI zu senden. Manchmal benötigt man ein schnelles, privates Modell für spezifische Aufgaben wie Grammatikprüfung oder Klassifizierungsaufgaben.
Ollama ermöglicht es, Open-Source-Sprachmodelle (LLMs) wie Llama 3, Mistral oder Phi direkt auf dem lokalen Rechner auszuführen. Durch die Nutzung eines Containers bleibt das System sauber, und es ist einfach, zwischen verschiedenen Modellen zu wechseln, ohne eine komplexe Python-Umgebung einrichten zu müssen.
Datenschutz und Kosten sind wesentliche Aspekte beim Aufbau von Agenten. Das Ollama-Docker-Image ermöglicht es, Modelle wie Llama 3 oder Mistral über eine REST-API bereitzustellen.
„Anstatt sensible Daten an externe APIs wie OpenAI zu senden, kann man dem Agenten ein ‚Gehirn‘ geben, das innerhalb der eigenen Infrastruktur lebt. Dies ist besonders wichtig für Unternehmensagenten, die mit proprietären Daten arbeiten.“
Um das Mistral-Modell über den Ollama-Container zu starten, verwenden Sie den folgenden Befehl, der den Port zuordnet und die Modelle auf der lokalen Festplatte speichert:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Sobald der Container läuft, müssen Sie ein Modell durch Ausführen eines Befehls innerhalb des Containers abrufen:
docker exec -it ollama ollama run mistral
Jetzt können Sie den LLM-Client Ihres Agenten auf http://localhost:11434 verweisen. Dies bietet einen lokalen, API-kompatiblen Endpunkt für schnelles Prototyping und stellt sicher, dass Ihre Daten niemals Ihren Rechner verlassen.
Wichtige Vorteile
- Datenschutz: Halten Sie Ihre Eingaben und Daten sicher.
- Kosteneffizienz: Keine API-Gebühren für Inferenz.
- Latenz: Schnellere Antworten bei Ausführung auf lokalen GPUs.
2. Qdrant: Die Vektordatenbank für Gedächtnis
Agenten benötigen Gedächtnis, um frühere Gespräche und Fachwissen abzurufen. Um einem Agenten langfristiges Gedächtnis zu verleihen, ist eine Vektordatenbank erforderlich. Diese Datenbanken speichern numerische Darstellungen (Embeddings) von Texten, sodass Ihr Agent später nach semantisch ähnlichen Informationen suchen kann.
Qdrant ist eine leistungsstarke, Open-Source-Vektordatenbank, die in Rust entwickelt wurde. Sie ist schnell, zuverlässig und bietet sowohl eine gRPC- als auch eine REST-API. Die Ausführung in Docker ermöglicht es Ihnen, sofort ein produktionsreifes Gedächtnissystem für Ihre Agenten zu erhalten.
„Um einen Retrieval-augmented Generation (RAG) Agenten zu erstellen, müssen Sie Dokumenten-Embeddings speichern und schnell abrufen können. Qdrant fungiert als langfristiges Gedächtnis des Agenten.“
Sie können Qdrant mit einem einzigen Befehl starten. Dies öffnet die API und das Dashboard auf Port 6333 sowie die gRPC-Schnittstelle auf Port 6334:
docker run -d -p 6333:6333 -p 6334:6334 qdrant/qdrant
Nach dem Start können Sie Ihren Agenten mit localhost:6333 verbinden. Wenn der Agent etwas Neues lernt, speichern Sie das Embedding in Qdrant. Bei der nächsten Anfrage des Benutzers kann der Agent diese Datenbank nach relevanten „Erinnerungen“ durchsuchen, um sie in die Eingabeaufforderung einzubeziehen und so ein wirklich konversationelles Erlebnis zu schaffen.
3. n8n: Workflows verknüpfen
Agentische Workflows existieren selten isoliert. Manchmal muss Ihr Agent Ihre E-Mails überprüfen, eine Zeile in einem Google Sheet aktualisieren oder eine Slack-Nachricht senden. Während Sie die API-Aufrufe manuell schreiben könnten, ist der Prozess oft mühsam.
n8n ist ein Fair-Code-Workflow-Automatisierungstool. Es ermöglicht Ihnen, verschiedene Dienste über eine visuelle Benutzeroberfläche zu verbinden. Durch die lokale Ausführung können Sie komplexe Workflows erstellen – wie „Wenn ein Agent einen Verkaufslead erkennt, füge ihn zu HubSpot hinzu und sende eine Slack-Benachrichtigung“ – ohne eine einzige Zeile Integrationscode zu schreiben.
Um Ihre Workflows zu speichern, sollten Sie ein Volume einbinden. Der folgende Befehl richtet n8n mit SQLite als Datenbank ein:
docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
Sie können Ihren Agenten so gestalten, dass er eine n8n-Webhook-URL aufruft. Der Agent sendet einfach die Daten, und n8n kümmert sich um die komplexe Logik der Kommunikation mit Drittanbieter-APIs. Dies trennt das „Gehirn“ (das LLM) von den „Händen“ (den Integrationen).
Greifen Sie auf den Editor unter http://localhost:5678 zu und beginnen Sie mit der Automatisierung.
4. Firecrawl: Webseiten in LLM-fähige Daten umwandeln
Eine der häufigsten Aufgaben für Agenten ist die Recherche. Allerdings haben Agenten Schwierigkeiten, rohen HTML- oder JavaScript-gerenderten Webseiten zu lesen. Sie benötigen sauberen, im Markdown formatierten Text.
Firecrawl ist ein API-Dienst, der eine URL entgegennimmt, die Webseite crawlt und den Inhalt in sauberes Markdown oder strukturierte Daten umwandelt. Es verarbeitet JavaScript-Rendering und entfernt automatisch Boilerplate-Elemente wie Werbung und Navigationsleisten. Die lokale Ausführung umgeht die Nutzungslimits der Cloud-Version.
Firecrawl verwendet eine docker-compose.yml-Datei, da es aus mehreren Diensten besteht, einschließlich der App, Redis und Playwright. Klonen Sie das Repository und führen Sie es aus:
git clone https://github.com/mendableai/firecrawl.git cd firecrawl docker compose up
Geben Sie Ihrem Agenten die Fähigkeit, Live-Webdaten zu erfassen. Wenn Sie einen Forschungsagenten erstellen, kann dieser Ihre lokale Firecrawl-Instanz aufrufen, um eine Webseite abzurufen, sie in sauberen Text umzuwandeln, zu chunkieren und autonom in Ihrer Qdrant-Instanz zu speichern.
5. PostgreSQL und pgvector: Relationales Gedächtnis implementieren
Manchmal reicht die Vektorsuche allein nicht aus. Möglicherweise benötigen Sie eine Datenbank, die strukturierte Daten – wie Benutzerprofile oder Transaktionsprotokolle – und Vektor-Embeddings gleichzeitig verarbeiten kann. PostgreSQL mit der pgvector-Erweiterung ermöglicht genau das.
Anstatt eine separate Vektordatenbank und eine separate SQL-Datenbank zu betreiben, erhalten Sie das Beste aus beiden Welten. Sie können den Namen und das Alter eines Benutzers in einer Tabellen-Spalte speichern und deren Gesprächs-Embeddings in einer anderen Spalte ablegen, um hybride Suchen durchzuführen (z. B. „Finde mir Gespräche von Benutzern in New York über Rückerstattungen“).
Der offizielle PostgreSQL-Image enthält pgvector standardmäßig nicht. Sie müssen ein spezifisches Image verwenden, wie das von der pgvector-Organisation:
docker run -d --name postgres-pgvector -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword pgvector/pgvector:pg16
Dies ist das ultimative Backend für zustandsbehaftete Agenten. Ihr Agent kann seine Erinnerungen und seinen internen Zustand in derselben Datenbank speichern, in der sich Ihre Anwendungsdaten befinden, was Konsistenz gewährleistet und Ihre Architektur vereinfacht.
Fazit
Sie benötigen kein umfangreiches Cloud-Budget, um anspruchsvolle KI-Agenten zu entwickeln. Das Docker-Ökosystem bietet produktionsreife Alternativen, die perfekt auf einem Entwickler-Laptop laufen.
Indem Sie diese fünf Container in Ihren Workflow integrieren, statten Sie sich mit folgenden Komponenten aus:
- Gehirne: Ollama für lokale Inferenz
- Gedächtnis: Qdrant für Vektorsuche
- Hände: n8n für Workflow-Automatisierung
- Augen: Firecrawl für Web-Datenaufnahme
- Speicher: PostgreSQL mit pgvector für strukturierte Daten
Starten Sie Ihre Container, verweisen Sie Ihren LangChain- oder CrewAI-Code auf localhost und beobachten Sie, wie Ihre Agenten zum Leben erwachen. Für eine tiefere Einsicht in die Optimierung von KI-Agenten, lesen Sie auch über Fünf effektive Python-Dekoratoren zur Optimierung von KI-Agenten und entdecken Sie 5 Free AI Tools to Understand Code and Generate Documentation.
Weiterführende Literatur
Shittu Olumide ist Software-Ingenieur und technischer Autor, der leidenschaftlich daran interessiert ist, modernste Technologien zu nutzen, um fesselnde Erzählungen zu gestalten, mit einem scharfen Auge für Details und einem Talent dafür, komplexe Konzepte zu vereinfachen. Sie können Shittu auch auf Twitter finden.
„`
Bildquelle: ai-generated-gemini