? Floki en est aux premiers stades de développement. Le cadre évolue activement dans le cadre des recherches en cours, et j'explore et j'apprends toujours comment intégrer efficacement Dapr. Attendez-vous à des changements radicaux dans les API et les structures de base à mesure que le cadre mûrit et que les informations sont affinées.
Floki est un framework open source permettant aux chercheurs et aux développeurs d'expérimenter des agents autonomes basés sur LLM. Il fournit des outils pour créer, orchestrer et gérer des agents tout en se connectant de manière transparente aux API d'inférence LLM. Construit sur Dapr, Floki exploite un modèle de programmation unifié qui simplifie les microservices et prend en charge à la fois les flux de travail déterministes et les interactions basées sur les événements. Grâce au modèle Virtual Actor de Dapr, Floki permet aux agents de fonctionner comme des unités indépendantes et autonomes qui traitent les messages de manière séquentielle, éliminant ainsi les problèmes de concurrence tout en s'intégrant de manière transparente dans des flux de travail plus vastes. Il facilite également la collaboration des agents grâce à l'intégration Pub/Sub de Dapr, où les agents communiquent via un bus de messages partagé, simplifiant ainsi la conception des flux de travail où les tâches sont réparties efficacement et où les agents travaillent ensemble pour atteindre des objectifs communs. En réunissant ces fonctionnalités, Floki offre un moyen puissant d'explorer les flux de travail agentiques et les composants qui permettent aux systèmes multi-agents de collaborer et d'évoluer, le tout alimenté par Dapr.
Dapr fournit à Floki un modèle de programmation unifié qui simplifie le développement de systèmes résilients et évolutifs en proposant des API intégrées pour des fonctionnalités telles que l'appel de service, la messagerie Pub/Sub, les flux de travail et même la gestion de l'état. Ces composants, essentiels à la définition des workflows agents, permettent aux développeurs de se concentrer sur la conception d'agents et de workflows plutôt que sur la reconstruction des fonctionnalités fondamentales. En tirant parti de l'architecture side-car de Dapr et de son environnement d'exécution portable basé sur les événements, Floki permet également aux agents de collaborer efficacement, de partager des tâches et de s'adapter de manière dynamique dans les environnements cloud et périphériques. Cette intégration transparente rassemble les flux de travail déterministes et la prise de décision basée sur LLM dans un système unifié, facilitant ainsi l'expérimentation de systèmes multi-agents et de flux de travail agent évolutifs.
Invocation de service à service : facilite la communication directe entre les agents grâce à la découverte de services intégrée, à la gestion des erreurs et au traçage distribué. Les agents peuvent en tirer parti pour la messagerie synchrone dans les workflows multi-agents.
⚡️ Publier et s'abonner : prend en charge la collaboration faiblement couplée entre les agents via un bus de messages partagé. Cela permet des interactions en temps réel basées sur des événements, essentielles à la répartition et à la coordination des tâches.
API Workflow : définit des flux de travail persistants et de longue durée qui combinent des processus déterministes avec une prise de décision basée sur LLM. Floki l'utilise pour orchestrer de manière transparente des flux de travail agents complexes en plusieurs étapes.
? Gestion de l'état : fournit un magasin clé-valeur flexible permettant aux agents de conserver le contexte lors des interactions, garantissant ainsi la continuité et l'adaptabilité pendant les flux de travail.
? Acteurs : implémente le modèle Virtual Actor, permettant aux agents de fonctionner comme des unités autonomes et avec état qui gèrent les messages de manière séquentielle. Cela élimine les problèmes de concurrence et améliore l'évolutivité des systèmes d'agents de Floki.
Assurez-vous que Python est déjà installé. Python >=3.9
pip installer floki-ai
pip install git+https://github.com/Cyb3rWard0g/floki.git
poetry
:git clone https://github.com/Cyb3rWard0g/flokicd floki installation de poésie
Installez la CLI Dapr pour gérer les tâches liées à Dapr telles que l'exécution d'applications avec des side-cars, l'affichage des journaux et le lancement du tableau de bord Dapr. Il fonctionne de manière transparente avec les environnements auto-hébergés et Kubernetes. Pour un guide complet étape par étape, visitez la page d'installation officielle de Dapr CLI.
Vérifiez que la CLI est installée en redémarrant votre terminal/invite de commande et en exécutant ce qui suit :
dapr -h
Assurez-vous que Docker est déjà installé. J'utilise Docker Bureau.
Initialisez Dapr localement pour configurer un environnement auto-hébergé pour le développement. Ce processus installe les binaires side-car Dapr, exécute des services essentiels tels que Redis (magasin d'état et courtier de messages) et Zipkin (observabilité) et prépare un dossier de composants par défaut. Pour des étapes détaillées, consultez le guide officiel sur l'initialisation de Dapr localement.
Pour initialiser les conteneurs du plan de contrôle Dapr et créer un fichier de configuration par défaut, exécutez :
dapr initialisation
Vérifiez que vous disposez d'instances de conteneur avec des images daprio/dapr
, openzipkin/zipkin
et redis
en cours d'exécution :
docker ps
Floki est né du désir d'explorer et d'en apprendre davantage sur Dapr et son potentiel pour la construction de systèmes agentiques. Je voulais comprendre comment déployer des agents en tant que services, gérer la communication des messages et connecter efficacement divers composants. En cours de route, j’ai consulté plusieurs cadres établis pour trouver des idées et des conseils, qui m’ont aidé à façonner ma réflexion et mon approche :
https://github.com/microsoft/autogen
https://github.com/langchain-ai/langchain
https://github.com/run-llama/llama_deploy
Bien que ces frameworks aient fourni des informations précieuses, Floki est mon point de vue unique sur la manière d'exploiter Dapr pour les flux de travail et les systèmes basés sur des agents. Cela reflète mon parcours d’apprentissage et mes recherches en cours dans cet espace passionnant.