---
title: "Cache de prompts pour API LLM · prompts répétés plus rapides"
description: "Réutilisez le début déjà traité d'un prompt d'une requête à l'autre grâce au cache automatique. Structurer vos prompts et lire cached_tokens."
canonical: "https://inference.eu/fr/api/prompt-caching/"
language: "fr"
---

Guides · Prompt caching

# Cache de prompts : réutiliser les longs prompts d'une requête à l'autre

Beaucoup d'applications envoient le même long texte au début de chaque requête : un prompt système, des définitions d'outils, un document de référence ou les tours précédents d'une conversation. Le cache de prompts permet au modèle de réutiliser le travail déjà fait sur ce début commun, si bien que les requêtes répétées commencent à répondre plus tôt. Il fonctionne automatiquement, et chaque réponse indique la part du prompt servie par le cache.

[Contacter l'équipe](https://inference.eu/fr/contact/)[Exemple de requête](#example)

1.  01Format d'API: OpenAI et Anthropic
2.  02Centres de données dans l'UE
3.  03Couvert par un seul DPA

cached\_prompt.py

```
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.inference.eu/v1", api_key=os.environ["INFERENCE_EU_API_KEY"])

# Long, stable prefix first: policy text that is the same for every question
POLICY = open("travel-expenses-policy.md").read()

def ask(question: str):
    reply = client.chat.completions.create(
        model="gpt-oss-120b",
        messages=[
            {"role": "system", "content": "Answer questions about the travel policy below. Quote the section number.\n\n" + POLICY},
            {"role": "user", "content": question},  # variable part last
        ],
    )
    cached = reply.usage.prompt_tokens_details.cached_tokens
    print(f"{cached} of {reply.usage.prompt_tokens} prompt tokens came from the cache")
    return reply.choices[0].message.content

ask("Can I book business class for a six-hour flight?")
ask("What is the daily meal allowance in Germany?")
```

## Comment fonctionne le cache de prompts

Avant d'écrire quoi que ce soit, un modèle traite l'intégralité du prompt. Quand une nouvelle requête commence exactement par les mêmes tokens qu'une requête récente, l'API peut réutiliser l'état déjà calculé pour ce préfixe commun et ne traiter que la partie nouvelle. On parle de cache de préfixe : la correspondance part du premier token et s'arrête à la première différence.

Le cache est automatique pour les modèles compatibles sur chat completions, Responses et Messages, sans champ supplémentaire. Il réside en mémoire dans les mêmes centres de données européens que ceux qui traitent vos requêtes, reste cloisonné entre organisations et expire après une période d'inactivité.

## Structurer ses prompts pour le cache

Placez d'abord ce qui ne change pas, et à la fin ce qui varie. Un bon ordre : prompt système, définitions d'outils, longs documents de référence, tours précédents de la conversation, puis le nouveau message de l'utilisateur. Le moindre changement au début, comme un horodatage ou un nom d'utilisateur dans le prompt système, fait manquer le cache pour tout ce qui suit.

Gardez la partie stable identique à l'octet près : mêmes espaces, même ordre des outils, même sérialisation JSON. Dans une application de chat, ajoutez les nouveaux tours au lieu de réécrire l'historique, pour que chaque requête prolonge le préfixe déjà en cache. Envoyez les requêtes liées à peu d'intervalle, tant que le cache est chaud.

## Mesurer l'effet

Chaque réponse indique combien de tokens du prompt proviennent du cache. Lisez `usage.prompt_tokens_details.cached_tokens` dans chat completions, `usage.input_tokens_details.cached_tokens` dans l'API Responses et `usage.cache_read_input_tokens` au format Messages. Journalisez cette valeur à côté du total de tokens du prompt pour suivre le taux de réussite par fonctionnalité.

Un taux faible signifie en général qu'un élément du début du prompt change à chaque appel : comparez deux prompts successifs et cherchez la première différence. Les clients au format Anthropic qui ajoutent des marqueurs `cache_control` aux blocs de contenu fonctionnent tels quels. La façon dont les tokens en cache apparaissent sur votre facture dépend de votre offre ; nous vous la confirmons.

## Limites et cas particuliers

Mettre en cache un prompt très court n'a pas d'intérêt : le cache ne s'applique qu'au-delà d'une longueur minimale qui dépend du modèle. Les entrées sont évincées après une période d'inactivité ou en cas de forte charge ; une réussite est probable mais jamais garantie, et votre application doit fonctionner de la même façon dans les deux cas.

Le cache ne modifie pas la sortie. Le modèle lit les mêmes tokens et produit le même type de réponse ; seul le travail sur le préfixe commun est évité. Les données en cache servent uniquement aux requêtes de votre organisation, restent dans l'UE et ne servent jamais à l'entraînement. Les lots en profitent aussi quand de nombreuses lignes partagent le même préfixe.

## Prompt caching

Catégorie

Guides

Format d'API

OpenAI et Anthropic

Base URL

api.inference.eu/v1

Traitement

Centres de données dans l'UE

Entraînement sur vos données

Jamais

## Prompt caching : questions fréquentes

Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.

Le cache de prompts réutilise la forme déjà traitée des premiers tokens d'un prompt lorsqu'une nouvelle requête commence par le même texte. Le modèle ne traite alors que la partie nouvelle. Longs prompts système, définitions d'outils et documents répétés sont traités une fois, puis réutilisés tant que le cache est chaud.

Non. Le cache est automatique pour les modèles compatibles. Vous en tirez le meilleur parti en plaçant le contenu stable au début du prompt et le contenu variable à la fin. Chaque réponse indique combien de tokens proviennent du cache, ce qui vous permet de vérifier qu'il fonctionne.

Lisez \`usage.prompt\_tokens\_details.cached\_tokens\` dans chat completions, \`usage.input\_tokens\_details.cached\_tokens\` dans l'API Responses, ou \`usage.cache\_read\_input\_tokens\` au format Messages. Une valeur supérieure à zéro signifie qu'une partie du prompt a été servie par le cache.

Le plus souvent, un élément du début du prompt change à chaque requête : la date du jour, un identifiant de requête ou le nom de l'utilisateur dans le prompt système. Déplacez ces détails à la fin. Vérifiez aussi que le prompt est assez long et que vos requêtes ne sont pas trop espacées dans le temps.

Non. Le modèle lit exactement les mêmes tokens, avec ou sans cache. Le cache évite seulement de refaire le travail sur le début commun du prompt : les réponses sont du même ordre que celles obtenues sans lui.

Non. Les entrées du cache sont cloisonnées par organisation et ne servent qu'à vos propres requêtes. Elles sont conservées en mémoire dans des centres de données européens, expirent après une période d'inactivité et ne sont jamais utilisées pour entraîner des modèles.

Oui. Les requêtes \`/v1/messages\` profitent du cache automatique, et les clients qui ajoutent \`cache\_control\` aux blocs de contenu, comme beaucoup d'outils Anthropic, fonctionnent sans modification. L'usage du cache est indiqué dans \`cache\_read\_input\_tokens\`, comme l'attendent les clients Anthropic.

La facturation des tokens en cache dépend de votre offre, et nous vous la confirmons avant la mise en production. Quelle que soit la facturation, le cache permet aux longs prompts répétés de commencer à répondre plus vite, ce qui se remarque dans les applications de chat et les boucles d'agents.

[Poser une question](https://inference.eu/fr/contact/)

## Pages liées

[Présentation de l'API](https://inference.eu/fr/api/)

-   [Chat completionsEnvoyez vos messages à des modèles open-weight au format chat completions d'OpenAI. Traitement dans des centres de données de l'UE, sans entraînement.Endpoints](https://inference.eu/fr/api/chat-completions/)
-   [Count tokensComptez les tokens d'entrée d'une requête Messages avant de l'envoyer. Point de terminaison count\_tokens compatible Anthropic sur inference.eu, traité dans l'UE.Endpoints](https://inference.eu/fr/api/count-tokens/)
-   [Messages (Anthropic format)Appelez des modèles open-weight au format Messages d'Anthropic sur inference.eu. Compatible avec les SDK Anthropic et Claude Code, traité dans l'UE.Endpoints](https://inference.eu/fr/api/messages/)
-   [Rate limits and errorsFonctionnement des limites de débit et des erreurs de l'API inference.eu : codes HTTP, objet d'erreur, en-têtes de limite et schéma de reprise fiable.Guides](https://inference.eu/fr/api/rate-limits-and-errors/)

## Faites passer vos charges IA sur une infrastructure européenne

Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.

-   Réponse sous un jour ouvré
-   Tarif adapté à votre volume
-   DPA prêt à signer
