Dans cette plongée profonde technique, nous explorerons comment le moteur du plan d'Orra implémente un système de mise en cache intelligent qui va au-delà des recherches simples à valeur clé. Nous examinerons l'architecture, les décisions de conception et les défis techniques impliqués dans la création d'une couche de mise en cache sémantique pour les plans d'exécution générés par LLM.
Lorsque nous avons construit le système d'orchestration d'Orra pour la première fois, nous avons rapidement rencontré un défi courant dans les applications alimentées par LLM: bien que les LLM fournissent de puissantes capacités d'orchestration dynamique, ils introduisent également des frais généraux de latence et de coûts importants.
À mesure que les volumes de demande augmentaient dans les environnements de production, nous avons constaté que de nombreuses actions étaient sémantiquement similaires ou fonctionnellement équivalentes, mais chacune a déclenché un appel LLM complet et coûteux.
Cela a créé à la fois des goulots d'étranglement de performances et des coûts de mise à l'échelle imprévisibles.
Les approches de mise en cache traditionnelles ne fonctionnaient pas bien pour ce problème.
La correspondance exacte des cordes était trop cassante pour les entrées du langage naturel, et les modèles de paramètres simples n'ont pas pu gérer la flexibilité nécessaire pour un système d'orchestration à usage général. Nous avions besoin de quelque chose de plus sophistiqué.
Le défi de base que nous relèverons est de savoir comment reconnaître quand différentes demandes d'utilisateurs sont fonctionnellement équivalentes malgré les différences textuelles, et comment adapter efficacement les plans mis en cache pour travailler avec de nouveaux paramètres.
Cela implique de résoudre plusieurs problèmes techniques:
Les approches décrites ici ne sont pas seulement spécifiques à ORRA - elles peuvent informer votre propre travail lors de la création d'applications alimentées par LLM.
Comme les LLM sont incorporées dans les systèmes de production, les techniques de mise en cache sémantique, la substitution dynamique des paramètres et la similitude vectorielle peuvent être appliquées pour réduire les coûts, améliorer les temps de réponse et améliorer les expériences des utilisateurs dans de nombreux contextes différents.
À la fin de cet article, vous comprendrez le fonctionnement interne du système de mise en cache d'Orra, les compromis impliqués dans sa conception et comment ces principes peuvent être appliqués pour améliorer considérablement les performances et la rentabilité dans vos propres applications alimentées par LLM.
Au cœur du système d'orchestration d'Orra se trouve le moteur du plan - responsable de la coordination des flux de travail multi-agents grâce à des plans d'exécution. Un plan d'exécu...
[Courte citation de 8% de l'article original]