Semantic Cache : Définition et Exemples
Un semantic cache est un système de mise en cache qui stocke et retrouve des réponses de modèles d'IA en se basant sur la similarité sémantique des requêtes, plutôt que sur une correspondance exacte des mots.
Définition complète
Le semantic cache (ou cache sémantique) est une technique d'optimisation utilisée dans les applications d'intelligence artificielle qui permet de réutiliser des réponses précédemment générées par un modèle de langage (LLM) lorsqu'une nouvelle requête est sémantiquement proche d'une requête déjà traitée. Contrairement à un cache traditionnel qui exige une correspondance exacte entre les clés, le cache sémantique utilise des embeddings vectoriels pour mesurer la proximité de sens entre deux requêtes.
Le fonctionnement repose sur un pipeline en plusieurs étapes : lorsqu'un utilisateur envoie un prompt, celui-ci est d'abord transformé en vecteur (embedding) puis comparé aux vecteurs des requêtes déjà en cache via une recherche de similarité (cosine similarity, par exemple). Si un vecteur suffisamment proche est trouvé au-dessus d'un seuil de confiance défini, la réponse associée est retournée directement sans appeler le LLM, ce qui réduit considérablement la latence et les coûts.
Cette approche est particulièrement utile dans les contextes où de nombreux utilisateurs posent des questions similaires mais formulées différemment. Par exemple, "Comment fonctionne GPT ?" et "Explique-moi le fonctionnement de GPT" sont deux formulations distinctes mais sémantiquement équivalentes. Un cache classique les traiterait comme deux requêtes différentes, tandis qu'un cache sémantique reconnaîtra leur proximité.
Les solutions populaires incluent GPTCache (open source), Redis avec le module de recherche vectorielle, ou encore des services managés comme ceux proposés par certaines plateformes d'API. Le principal défi du semantic cache réside dans le réglage du seuil de similarité : trop bas, il retournera des réponses inadaptées ; trop haut, il ne servira presque jamais de cache.
Étymologie
Le terme combine "semantic" (du grec semantikos, "qui a du sens"), référant à l'analyse du sens des mots plutôt que de leur forme, et "cache" (de l'informatique), désignant un espace de stockage temporaire pour accélérer les accès ultérieurs. Le concept émerge vers 2023 avec la démocratisation des LLMs et la nécessité de réduire les coûts d'appels API.
Exemples concrets
Application de support client avec un chatbot IA
Comment résilier mon abonnement ?
Plateforme éducative où les étudiants posent des questions similaires
Explique-moi le théorème de Pythagore simplement
API d'IA en production avec des milliers de requêtes par minute
Résume les avantages du cloud computing
Usage pratique
En prompt engineering, le semantic cache s'intègre en amont de vos appels LLM pour intercepter les requêtes redondantes. Configurez un seuil de similarité entre 0.90 et 0.95 pour commencer, puis ajustez selon votre tolérance aux faux positifs. Combinez-le avec un TTL (durée de vie) pour invalider les réponses obsolètes, surtout si vos données sources évoluent fréquemment.
Concepts liés
FAQ
Quelle est la différence entre un cache classique et un semantic cache ?
Le semantic cache peut-il retourner des réponses incorrectes ?
Quels gains de performance peut-on attendre d'un semantic cache ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.