Pourquoi vous ne devriez pas maintenir les connexions DB pendant les appels LLM
La latence de l'IA ne se résume pas seulement au temps que le modèle passe à réfléchir. Elle inclut également la manière dont vous gérez les connexions à la base de données.
Maintenir une connexion DB en attendant un LLM ou une API d'embedding peut épuiser votre pool de connexions. Les appels externes lents maintiennent les sessions ouvertes bien plus longtemps que nécessaire.
J'ai examiné le dépôt Honcho pour voir leur correctif. Ils ont remplacé une session unique et de longue durée par des sessions courtes et spécifiques à chaque tâche.
Ancien modèle
- Ouvrir la session DB
- Lire les paramètres utilisateur
- Appeler le LLM (lent)
- Appeler l'API d'embedding (lent)
- Sauvegarder les résultats
- Fermer la session DB
Nouveau modèle
- Ouvrir la session DB pour les vérifications préliminaires
- Lire les valeurs nécessaires dans des variables
- Fermer la session DB
- Appeler les LLM et les API d'embedding (aucune connexion DB maintenue)
- Ouvrir une nouvelle session DB courte pour sauvegarder les résultats
- Fermer la session DB
L'objectif n'est pas d'abandonner la base de données ; il s'agit de séparer la cohérence des transactions de l'attente réseau.
Cinq étapes pour gérer vos connexions
- Définissez vos limites de cohérence.
- Récupérez toutes les valeurs requises dans des variables avant tout appel d'API externe.
- Fermez la portée (scope) de la base de données.
- Effectuez les tâches externes lentes.
- Ouvrez une nouvelle portée d'écriture courte pour persister les résultats finaux.
Note : Si vous utilisez pgvector, la recherche s'exécute à l'intérieur de la base de données, vous devez donc maintenir la session ouverte pendant cette opération.
Réduire la durée de vie des sessions améliore la mise à l'échelle, mais surveillez les erreurs d'objets détachés (detached-object errors) dans votre ORM et vérifiez que les données restent cohérentes à travers les instantanés de transaction (transaction snapshots).
Source: https://dev.to/junhyun-dev/neurin-llm-hocul-jung-db-connectioneul-jabji-anhneun-iyu-3abg
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi
