La startup d'infrastructure d'agents Diagrid Inc. a publié aujourd'hui Dapr 1.19 avec des modifications qui réduisent la surcharge des flux de travail durables derrière les agents d'intelligence artificielle de longue durée.
Les opérateurs du runtime open source peuvent également supprimer l'un de ses services de plan de contrôle. Jusqu'à la version 1.19, le moteur de workflow de Dapr envoyait l'intégralité de l'historique d'exécution au travailleur à chaque étape.
Chacun ajoute à cette histoire. Sur un travail qui dure des heures ou qui se répartit en des dizaines de tâches parallèles, la charge utile ne cesse de croître, et Diagrid a déclaré que cela augmentait la latence et l'utilisation de la mémoire. Désormais, un travailleur conserve ce qu'il détient déjà et n'obtient que de nouveaux événements.
Cela rend les données envoyées par étape indépendantes de la durée d'exécution d'un flux de travail. Les travailleurs rejouent encore toute l’histoire localement. Les transferts les plus petits vont uniquement aux travailleurs qui annoncent leur prise en charge, ce qui dans la version 1.19 désigne ceux construits sur les kits de développement logiciel Java et Python de Dapr.
Mark Fussell, co-fondateur et directeur des produits de Diagrid, a déclaré qu'un agent « qui travaille tout l'après-midi et se divise en 50 tâches ne peut pas transmettre l'intégralité de son historique à travers le réseau à chaque étape ».
Un deuxième changement de flux de travail, une fonctionnalité d'aperçu opt-in appelée WorkflowsFastPath, arrête de transmettre chaque événement de flux de travail via un rappel de planificateur durable. Les réveils et les activités locales sont gérés sur place. Le chemin de rappel reste un filet de sécurité pour la récupération, et dans les tests de référence du moteur de Diagrid, la latence médiane des étapes est passée de 553 millisecondes à 153 millisecondes avec la fonctionnalité activée.
Deux services constituaient jusqu'à présent le plan de contrôle de Dapr, et un nouveau mode en 1.19 supprime Placement, qui distribue la table de placement des acteurs. Le service Scheduler survivant gère les tâches, les rappels et la planification des flux de travail, et il suit déjà l'appartenance au cluster et transmet l'état aux side-cars de la même manière que Placement.
Yaron Schneider, co-créateur de Dapr et également co-fondateur et directeur de la technologie de Diagrid, a déclaré que le duo « est devenu deux services dont le travail se chevauche ». Lorsque le mode est activé, le planificateur prend en charge le placement des acteurs et le service de placement autonome n'est plus déployé. Cela épargne aux opérateurs un service avec état et le cluster de consensus Raft derrière celui-ci. Les rappels sont également plus rapides, car le planificateur sait quel side-car appartient à chaque acteur.
Les événements de mise à l’échelle sont également moins perturbateurs. Un hôte rejoignant ou quittant avait l'habitude de suspendre le placement dans tout l'espace de noms pendant que Dapr renvoyait sa table de placement. Dans le nouveau mode, seuls les types d'acteurs concernés sont verrouillés et mis à jour, et les autres continuent de servir le trafic.
Les nouveaux éléments de base alpha de la version 1.19 sont destinés aux développeurs d'applications d'IA. Un bloc de construction Vector offre une interface de programmation d'application portable pour stocker et interroger les intégrations via la recherche de similarité, avec Meilisearch comme premier composant pris en charge.
Binary Store diffuse des fichiers volumineux tels que les sorties de modèles en morceaux afin qu'ils n'aient jamais à rester en mémoire entière. Ses premiers composants couvrent Amazon S3 et les magasins d'objets de Microsoft Azure, Google Cloud et Oracle.
Les développeurs travaillant dans .NET obtiennent Actors.Next, un nouveau SDK d'acteur qui génère des proxys et du code d'enregistrement au moment de la compilation, ce qui réduit la surcharge d'exécution et permet aux applications d'acteur de se compiler avec Native AOT.
Dapr 1.19 est disponible dès maintenant. WorkflowsFastPath est désactivé et le mode de placement du planificateur est activé via un paramètre Helm une fois que chaque side-car exécute la version 1.19, sans qu'aucun redémarrage du side-car ne soit nécessaire pour l'activer ou le désactiver. Les équipes exécutant Dapr sur Kubernetes peuvent gérer la mise à niveau via le tableau de bord Dapr Ops de Diagrid, et la société a déclaré que l'outil prend généralement en charge les nouvelles versions dans les 24 heures.