llm-all-models-async 0.1 marque une avancée significative dans l’intégration des modèles de langage, en combinant synchronisation et asynchronisme pour une flexibilité accrue.

Dans l’écosystème des plugins LLM, les modèles peuvent être définis en versions synchrones (sync) ou asynchrones (async). Les variantes asynchrones sont particulièrement prisées pour les modèles basés sur des API, tandis que les versions synchrones sont souvent utilisées pour exécuter directement le modèle au sein du plugin.

Le plugin llm-mrchatterbox, développé par Simon Willison, est actuellement limité à une version synchrone uniquement. Cette contrainte a posé un défi lors de l’utilisation avec certaines fonctionnalités avancées de Datasette, notamment datasette-enrichments-llm, qui nécessite des modèles asynchrones pour fonctionner.

Pour résoudre ce problème, Claude a mis en place un plugin innovant qui convertit les modèles synchrones en modèles asynchrones grâce à l’utilisation d’un pool de threads. Cette solution a nécessité une mise à jour majeure du mécanisme de hooks dans LLM lui-même, avec la sortie récente de LLM 0.30, intégrant cette nouvelle fonctionnalité.

Cette avancée ouvre la voie à une plus grande interopérabilité entre les différents types de modèles LLM, permettant aux développeurs de tirer pleinement parti des capacités asynchrones sans sacrifier la compatibilité avec les modèles synchrones existants.

Tags: llm, async, python