P

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

EmbeddingVector DatabaseCosine SimilarityRAG (Retrieval-Augmented Generation)

FAQ

Quelle est la différence entre un cache classique et un semantic cache ?
Un cache classique exige une correspondance exacte de la clé (le texte du prompt doit être identique). Un semantic cache compare le sens des requêtes grâce aux embeddings vectoriels, permettant de reconnaître que deux formulations différentes expriment la même intention.
Le semantic cache peut-il retourner des réponses incorrectes ?
Oui, c'est le principal risque. Si le seuil de similarité est trop bas, le cache peut considérer deux requêtes comme équivalentes alors qu'elles ne le sont pas. Il est essentiel de monitorer le taux de faux positifs et d'ajuster le seuil en conséquence.
Quels gains de performance peut-on attendre d'un semantic cache ?
Les gains dépendent du taux de similarité dans vos requêtes. En support client ou FAQ, on observe couramment un taux de cache hit de 30 à 60 %, ce qui se traduit par une réduction proportionnelle des coûts API et une latence divisée par 10 ou plus pour les requêtes servies depuis le cache.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.