Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Semantic Caching

La mise en cache sémantique renvoie une réponse de LLM stockée lorsqu’une nouvelle requête a le même sens qu’une requête précédente. La comparaison des plongements permet d’éviter de nouveaux appels au modèle et de réduire les coûts.

La mise en cache sémantique stocke les réponses d’un grand modèle de langage (LLM) ou d’un autre modèle génératif, puis les réutilise pour les nouvelles requêtes qui ont le même sens qu’une requête antérieure, même si leur formulation diffère. Le cache convertit chaque invite en incorporation vectorielle, trouve l’invite enregistrée la plus similaire et renvoie sa réponse lorsque la similarité dépasse un seuil. Un résultat du cache évite entièrement l’appel au modèle : la latence tombe à quelques millisecondes et la requête ne consomme aucun jeton. Comme la correspondance repose sur le sens, « J’ai oublié mon mot de passe » et « Comment réinitialiser mon mot de passe ? » renvoient à une même réponse enregistrée ; un cache à correspondance exacte, indexé par le texte de l’invite, devrait stocker cette réponse deux fois. Zilliz a publié en 2023 la bibliothèque open source GPTCache pour cette méthode, et les bases de données vectorielles et les passerelles API la proposent désormais comme fonctionnalité intégrée.

Fonctionnement d’un cache sémantique#

Un modèle d’incorporation de phrases encode l’invite entrante, puis une recherche vectorielle la compare aux incorporations vectorielles des invites auxquelles il a déjà été répondu, généralement par similarité cosinus. Les petits caches tiennent en mémoire, tandis que les grands sont hébergés dans une base de données vectorielle dotée d’un index approximatif des plus proches voisins. En cas d’échec du cache, le modèle génère une nouvelle réponse, puis enregistre ensemble l’incorporation vectorielle de la nouvelle invite et la réponse, généralement avec une durée d’expiration.

La clé de cache doit couvrir tous les autres éléments qui influent sur la réponse correcte. Les réponses générées avec une invite système, une version du modèle, un niveau d’autorisation utilisateur ou un ensemble de documents récupérés différents sont stockées dans des espaces distincts, de sorte que la réponse mise en cache pour un client n’est jamais renvoyée à un autre. La fraîcheur des données exige la même attention : lorsqu’un prix, une politique ou un document source change, les entrées fondées sur l’ancienne version continuent de correspondre aux nouvelles invites. Chaque entrée a donc une durée de vie, et l’espace concerné est vidé lorsque ses données sources changent.

Choisir le seuil de similarité#

Le seuil détermine dans quelle mesure deux invites peuvent différer tout en partageant une réponse. Cet exemple utilise le modèle all-MiniLM-L6-v2 de Sentence Transformers comme encodeur pour un cache à trois entrées :

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

# Earlier prompts whose answers are already stored in the cache
cached = ["How do I reset my password?", "What are your opening hours?", "How do I cancel my subscription?"]
cached_embeddings = model.encode(cached)

# Each new prompt reuses the closest cached answer if it clears the threshold
queries = ["I forgot my password, how can I change it?", "When does the store open?", "How do I cancel my order?"]
for query in queries:
    query_embedding = model.encode(query)
    scores = model.similarity(query_embedding, cached_embeddings)[0]
    best = scores.argmax().item()
    status = "hit" if scores[best] >= 0.7 else "miss"
    print(f"{query} -> {cached[best]} ({scores[best]:.2f}, {status})")

La reformulation de la question sur le mot de passe obtient un score de 0,89 et correspond correctement à une entrée. La reformulation sur les horaires d’ouverture n’obtient que 0,61 et ne trouve aucune correspondance. « Comment annuler ma commande ? » obtient 0,71 par rapport à « Comment annuler mon abonnement ? » et renverrait des instructions erronées. La similarité des incorporations vectorielles mesure les mots et les thèmes communs ; aucun seuil unique ne permet donc de distinguer ces trois cas. Les caches de production réduisent l’écart en ajustant finement l’encodeur sur des paires de paraphrases issues de leur propre trafic, en définissant des seuils par catégorie ou en transmettant chaque correspondance potentielle à un réordonnanceur qui évalue ensemble les deux invites avant de renvoyer la réponse mise en cache.

Quand utiliser la mise en cache sémantique#

La mise en cache sémantique est utile lorsque de nombreux utilisateurs posent les mêmes questions et que les réponses évoluent lentement : chatbots d’assistance, services d’assistance internes et assistants de génération augmentée par récupération (RAG) fondés sur une documentation stable. Les requêtes personnalisées, sensibles au facteur temps ou créatives en bénéficient peu, car une réponse réutilisée serait erronée ou répétitive.

Deux autres caches utilisés pour servir les LLM interviennent à d’autres niveaux :

  • Mise en cache des invites : Le serveur du modèle stocke les états calculés d’un préfixe d’invite exact répété, ce qui raccourcit le préremplissage ; le modèle génère tout de même une nouvelle réponse.
  • Cache KV : Les clés et les valeurs des jetons précédents sont conservées au cours d’une même génération, de sorte que chaque nouveau jeton évite de les recalculer.

La recherche sémantique utilise la même recherche par incorporations vectorielles pour récupérer des documents en réponse à une requête, tandis qu’un cache sémantique récupère des réponses déjà produites, souvent au sein d’une passerelle IA située entre les applications et les fournisseurs de modèles.

Les images peuvent servir de clés de cache de la même façon. embed() dans Ultralytics YOLO renvoie un vecteur de caractéristiques pour chaque image ; un modèle YOLO26 entraîné à la classification d’images peut donc fournir la clé de recherche qui permet aux images de caméra presque identiques de réutiliser la description antérieure d’un modèle vision-langage.

Explore solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique