? Floki befindet sich in einem frühen Entwicklungsstadium. Das Framework entwickelt sich im Rahmen der laufenden Forschung aktiv weiter und ich erforsche und lerne immer noch, wie man Dapr effektiv integrieren kann. Erwarten Sie bahnbrechende Änderungen an APIs und Kernstrukturen, wenn das Framework ausgereift ist und die Erkenntnisse verfeinert werden.
Floki ist ein Open-Source-Framework für Forscher und Entwickler zum Experimentieren mit LLM-basierten autonomen Agenten. Es bietet Tools zum Erstellen, Orchestrieren und Verwalten von Agenten und stellt gleichzeitig eine nahtlose Verbindung zu LLM-Inferenz-APIs her. Floki basiert auf Dapr und nutzt ein einheitliches Programmiermodell, das Microservices vereinfacht und sowohl deterministische Arbeitsabläufe als auch ereignisgesteuerte Interaktionen unterstützt. Mithilfe des Virtual Actor-Musters von Dapr ermöglicht Floki den Agenten, als unabhängige, eigenständige Einheiten zu fungieren, die Nachrichten nacheinander verarbeiten, wodurch Parallelitätsprobleme beseitigt und gleichzeitig nahtlos in größere Arbeitsabläufe integriert werden. Darüber hinaus erleichtert es die Zusammenarbeit zwischen Agenten durch die Pub/Sub-Integration von Dapr, bei der Agenten über einen gemeinsamen Nachrichtenbus kommunizieren, was die Gestaltung von Arbeitsabläufen vereinfacht, bei denen Aufgaben effizient verteilt werden und Agenten zusammenarbeiten, um gemeinsame Ziele zu erreichen. Durch die Zusammenführung dieser Funktionen bietet Floki eine leistungsstarke Möglichkeit, Agenten-Workflows und die Komponenten zu erkunden, die die Zusammenarbeit und Skalierung von Multi-Agent-Systemen ermöglichen, alles unterstützt von Dapr.
Dapr stellt Floki ein einheitliches Programmiermodell zur Verfügung, das die Entwicklung belastbarer und skalierbarer Systeme vereinfacht, indem es integrierte APIs für Funktionen wie Dienstaufruf, Pub/Sub-Messaging, Workflows und sogar Statusverwaltung bietet. Diese für die Definition von Agenten-Workflows wesentlichen Komponenten ermöglichen es Entwicklern, sich auf die Entwicklung von Agenten und Workflows zu konzentrieren, anstatt grundlegende Funktionen neu zu erstellen. Durch die Nutzung der Sidecar-Architektur und der tragbaren, ereignisgesteuerten Laufzeit von Dapr ermöglicht Floki den Agenten außerdem die effektive Zusammenarbeit, die gemeinsame Aufgabenteilung und die dynamische Anpassung über Cloud- und Edge-Umgebungen hinweg. Diese nahtlose Integration vereint deterministische Arbeitsabläufe und LLM-basierte Entscheidungsfindung in einem einheitlichen System und erleichtert so das Experimentieren mit Multi-Agenten-Systemen und skalierbaren Agenten-Arbeitsabläufen.
Dienst-zu-Dienst-Aufruf : Erleichtert die direkte Kommunikation zwischen Agenten mit integrierter Diensterkennung, Fehlerbehandlung und verteilter Ablaufverfolgung. Agenten können dies für synchrones Messaging in Multi-Agent-Workflows nutzen.
⚡️ Veröffentlichen und Abonnieren : Unterstützt die lose gekoppelte Zusammenarbeit zwischen Agenten über einen gemeinsamen Nachrichtenbus. Dies ermöglicht ereignisgesteuerte Interaktionen in Echtzeit, die für die Aufgabenverteilung und -koordinierung entscheidend sind.
Workflow-API : Definiert lang andauernde, persistente Workflows, die deterministische Prozesse mit LLM-basierter Entscheidungsfindung kombinieren. Floki nutzt dies, um komplexe mehrstufige Agenten-Workflows nahtlos zu orchestrieren.
? Statusverwaltung : Bietet einen flexiblen Schlüsselwertspeicher für Agenten, um den Kontext über Interaktionen hinweg beizubehalten und so Kontinuität und Anpassungsfähigkeit während der Arbeitsabläufe sicherzustellen.
? Akteure : Implementiert das Virtual Actor-Muster und ermöglicht es Agenten, als eigenständige, zustandsbehaftete Einheiten zu arbeiten, die Nachrichten nacheinander verarbeiten. Dadurch werden Parallelitätsprobleme beseitigt und die Skalierbarkeit der Agentensysteme von Floki verbessert.
Stellen Sie sicher, dass Python bereits installiert ist. Python >=3.9
pip install floki-ai
pip install git+https://github.com/Cyb3rWard0g/floki.git
poetry
:Git-Klon https://github.com/Cyb3rWard0g/flokicd floki Poesieinstallation
Installieren Sie die Dapr-CLI, um Dapr-bezogene Aufgaben zu verwalten, z. B. das Ausführen von Anwendungen mit Sidecars, das Anzeigen von Protokollen und das Starten des Dapr-Dashboards. Es funktioniert nahtlos sowohl mit selbst gehosteten als auch mit Kubernetes-Umgebungen. Eine vollständige Schritt-für-Schritt-Anleitung finden Sie auf der offiziellen Dapr CLI-Installationsseite.
Überprüfen Sie, ob die CLI installiert ist, indem Sie Ihr Terminal bzw. Ihre Eingabeaufforderung neu starten und Folgendes ausführen:
dapr -h
Stellen Sie sicher, dass Docker bereits installiert ist. Ich verwende Docker Desktop.
Initialisieren Sie Dapr lokal, um eine selbstgehostete Umgebung für die Entwicklung einzurichten. Dieser Prozess installiert Dapr-Sidecar-Binärdateien, führt wichtige Dienste wie Redis (Statusspeicher und Nachrichtenbroker) und Zipkin (Beobachtbarkeit) aus und bereitet einen Standardkomponentenordner vor. Detaillierte Schritte finden Sie im offiziellen Leitfaden zur lokalen Initialisierung von Dapr.
Führen Sie Folgendes aus, um die Dapr-Steuerungsebenencontainer zu initialisieren und eine Standardkonfigurationsdatei zu erstellen:
dapr init
Stellen Sie sicher, dass Containerinstanzen mit daprio/dapr
, openzipkin/zipkin
und redis
Images ausgeführt werden:
Docker PS
Floki entstand aus dem Wunsch heraus, Dapr und sein Potenzial für den Aufbau von Agentensystemen zu erforschen und mehr darüber zu erfahren. Ich wollte verstehen, wie man Agenten als Dienste bereitstellt, die Nachrichtenkommunikation verwaltet und verschiedene Komponenten effektiv verbindet. Unterwegs suchte ich nach Ideen und Anleitungen in mehreren etablierten Rahmenwerken, die mein Denken und meinen Ansatz prägten:
https://github.com/microsoft/autogen
https://github.com/langchain-ai/langchain
https://github.com/run-llama/llama_deploy
Während diese Frameworks wertvolle Erkenntnisse lieferten, ist Floki meine einzigartige Sicht auf die Nutzung von Dapr für agentenbasierte Arbeitsabläufe und Systeme. Es spiegelt meine Lernreise und meine fortlaufende Forschung in diesem spannenden Bereich wider.