? Floki se encuentra en las primeras etapas de desarrollo. El marco está evolucionando activamente como parte de la investigación en curso y todavía estoy explorando y aprendiendo cómo integrar Dapr de manera efectiva. Espere cambios importantes en las API y las estructuras centrales a medida que el marco madure y se perfeccionen los conocimientos.
Floki es un marco de código abierto para que investigadores y desarrolladores experimenten con agentes autónomos basados en LLM. Proporciona herramientas para crear, organizar y administrar agentes mientras se conecta sin problemas a las API de inferencia de LLM. Basado en Dapr, Floki aprovecha un modelo de programación unificado que simplifica los microservicios y admite flujos de trabajo deterministas e interacciones basadas en eventos. Al utilizar el patrón Virtual Actor de Dapr, Floki permite que los agentes funcionen como unidades independientes y autónomas que procesan mensajes de forma secuencial, eliminando problemas de concurrencia y al mismo tiempo se integran perfectamente en flujos de trabajo más grandes. También facilita la colaboración de los agentes a través de la integración Pub/Sub de Dapr, donde los agentes se comunican a través de un bus de mensajes compartido, simplificando el diseño de flujos de trabajo donde las tareas se distribuyen de manera eficiente y los agentes trabajan juntos para lograr objetivos compartidos. Al reunir estas características, Floki proporciona una manera poderosa de explorar flujos de trabajo agentes y los componentes que permiten que los sistemas multiagente colaboren y escale, todo con tecnología de Dapr.
Dapr proporciona a Floki un modelo de programación unificado que simplifica el desarrollo de sistemas resistentes y escalables al ofrecer API integradas para funciones como invocación de servicios, mensajería Pub/Sub, flujos de trabajo e incluso gestión de estado. Estos componentes, esenciales para definir flujos de trabajo agentes, permiten a los desarrolladores centrarse en diseñar agentes y flujos de trabajo en lugar de reconstruir funciones fundamentales. Al aprovechar la arquitectura sidecar de Dapr y el tiempo de ejecución portátil impulsado por eventos, Floki también permite a los agentes colaborar de manera efectiva, compartir tareas y adaptarse dinámicamente a través de entornos de nube y de borde. Esta perfecta integración reúne flujos de trabajo deterministas y toma de decisiones basada en LLM en un sistema unificado, lo que facilita la experimentación con sistemas multiagente y flujos de trabajo agentes escalables.
Invocación de servicio a servicio : facilita la comunicación directa entre agentes con descubrimiento de servicios integrado, manejo de errores y seguimiento distribuido. Los agentes pueden aprovechar esto para mensajería sincrónica en flujos de trabajo de múltiples agentes.
⚡️ Publicar y suscribirse : admite la colaboración flexible entre agentes a través de un bus de mensajes compartido. Esto permite interacciones en tiempo real basadas en eventos críticas para la distribución y coordinación de tareas.
API de flujo de trabajo : define flujos de trabajo persistentes y de larga duración que combinan procesos deterministas con la toma de decisiones basada en LLM. Floki utiliza esto para orquestar flujos de trabajo agentes complejos de varios pasos sin problemas.
? Gestión de estado : proporciona un almacén de valores clave flexible para que los agentes retengan el contexto en todas las interacciones, lo que garantiza la continuidad y adaptabilidad durante los flujos de trabajo.
? Actores : implementa el patrón de actor virtual, lo que permite a los agentes operar como unidades autónomas con estado que manejan mensajes de forma secuencial. Esto elimina los problemas de simultaneidad y mejora la escalabilidad de los sistemas de agentes de Floki.
Asegúrate de tener Python ya instalado. Python >=3.9
pip instalar floki-ai
pip instala git+https://github.com/Cyb3rWard0g/floki.git
poetry
:clon de git https://github.com/Cyb3rWard0g/flokicd floki instalación de poesía
Instale la CLI de Dapr para administrar tareas relacionadas con Dapr, como ejecutar aplicaciones con sidecars, ver registros e iniciar el panel de Dapr. Funciona a la perfección con entornos autohospedados y de Kubernetes. Para obtener una guía completa paso a paso, visite la página oficial de instalación de Dapr CLI.
Verifique que la CLI esté instalada reiniciando su terminal/símbolo del sistema y ejecutando lo siguiente:
dapr-h
Asegúrese de tener Docker ya instalado. Yo uso Docker Desktop.
Inicialice Dapr localmente para configurar un entorno autohospedado para el desarrollo. Este proceso instala los binarios secundarios de Dapr, ejecuta servicios esenciales como Redis (almacenamiento de estado y agente de mensajes) y Zipkin (observabilidad) y prepara una carpeta de componentes predeterminada. Para conocer los pasos detallados, consulte la guía oficial sobre cómo inicializar Dapr localmente.
Para inicializar los contenedores del plano de control de Dapr y crear un archivo de configuración predeterminado, ejecute:
inicio dapr
Verifique que tenga instancias de contenedor con imágenes daprio/dapr
, openzipkin/zipkin
y redis
en ejecución:
ventana acoplable ps
Floki nació del deseo de explorar y aprender más sobre Dapr y su potencial para construir sistemas agentes. Quería entender cómo implementar agentes como servicios, gestionar la comunicación de mensajes y conectar varios componentes de forma eficaz. A lo largo del camino, busqué varios marcos establecidos para obtener ideas y orientación, que me ayudaron a dar forma a mi pensamiento y enfoque:
https://github.com/microsoft/autogen
https://github.com/langchain-ai/langchain
https://github.com/run-llama/llama_deploy
Si bien estos marcos proporcionaron información valiosa, Floki es mi visión única sobre cómo aprovechar Dapr para sistemas y flujos de trabajo basados en agentes. Refleja mi viaje de aprendizaje y mi investigación en curso en este apasionante espacio.