> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mise en cache des préfixes

> Réduisez la latence des prompts répétés grâce à la mise en cache des préfixes, et isolez la réutilisation du cache avec cache_salt si nécessaire.

W\&B Inference utilise la mise en cache des préfixes sur les modèles hébergés pris en charge afin d’accélérer les requêtes répétées qui partagent un préfixe de prompt identique.

Lorsqu’une requête présente le même préfixe de prompt qu’une requête antérieure traitée sur le même backend, le modèle réutilise le cache clé-valeur (KV) déjà calculé au lieu de recalculer l’intégralité du préfixe. La latence s’en trouve réduite pour les prompts répétés, les prompts système longs et les charges de travail reposant sur un préfixe partagé stable.

La mise en cache des préfixes est automatique sur les modèles pris en charge : vous n’avez donc pas besoin de l’activer dans votre requête. Cette page décrit les cas où la mise en cache des préfixes est la plus efficace et explique comment contrôler l’isolation du cache avec `cache_salt`.

<h2 id="when-prefix-caching-helps">
  Quand la mise en cache des préfixes est utile
</h2>

La mise en cache des préfixes est particulièrement utile lorsque vous envoyez régulièrement des requêtes qui partagent un long préfixe commun, par exemple :

* Un long prompt système réutilisé dans de nombreuses requêtes.
* Un long document partagé, suivi de différentes questions d’utilisateurs.
* Des prompts d’évaluation répétés qui ne varient que légèrement d’une requête à l’autre.
* Des charges de travail sur plusieurs tours de conversation, dont une grande partie de l’historique reste identique.

<h2 id="cache-isolation">
  Isolation du cache
</h2>

Dans certains environnements, vous pouvez avoir besoin d’empêcher la réutilisation du cache entre différents utilisateurs ou applications. Le paramètre `cache_salt` vous permet de contrôler ce comportement.

Par défaut, les requêtes dont les préfixes de prompt sont identiques peuvent réutiliser le cache sur une infrastructure partagée, si le backend le permet.

Pour limiter la réutilisation du cache à un périmètre de confiance donné, définissez le paramètre de requête `cache_salt`. Les requêtes ne réutilisent le cache de préfixe que si le préfixe de prompt et la valeur de `cache_salt` correspondent tous les deux.

Utilisez `cache_salt` lorsque vous souhaitez que le cache soit réutilisé au sein d’un même périmètre (utilisateur, locataire, session ou application), mais pas entre différents appelants.

<h3 id="how-it-works">
  Fonctionnement
</h3>

La présence et la valeur de `cache_salt` influent sur la réutilisation du cache comme suit :

* Même préfixe de prompt, sans `cache_salt` : le cache est susceptible d’être réutilisé entre les requêtes correspondantes.
* Même préfixe de prompt, même `cache_salt` : le cache peut être réutilisé.
* Même préfixe de prompt, `cache_salt` différent : le cache est isolé et n’est pas réutilisé d’un salt à l’autre.

<Note>
  Lorsqu’il est fourni, `cache_salt` doit être une chaîne de caractères non vide.
</Note>

<h2 id="examples">
  Exemples
</h2>

Les exemples suivants montrent comment envoyer une requête de complétion de chat avec `cache_salt` afin d’isoler la réutilisation du cache.

<Tabs>
  <Tab title="Python">
    ```python theme={"system"}
    import openai

    client = openai.OpenAI(
        base_url="https://api.inference.wandb.ai/v1",
        api_key="<your-api-key>",
    )

    response = client.chat.completions.create(
        model="moonshotai/Kimi-K2.5",
        messages=[
            {
                "role": "system",
                "content": "You are a careful assistant that answers concisely."
            },
            {
                "role": "user",
                "content": "Summarize this document in one sentence: <long shared prefix here>"
            },
        ],
        extra_body={
            "cache_salt": "tenant-a-user-123-secret",
        },
    )

    print(response.choices[0].message.content)
    ```
  </Tab>

  <Tab title="Bash">
    ```bash theme={"system"}
    curl https://api.inference.wandb.ai/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer <your-api-key>" \
      -d '{
        "model": "moonshotai/Kimi-K2.5",
        "messages": [
          { "role": "system", "content": "You are a careful assistant that answers concisely." },
          { "role": "user", "content": "Summarize this document in one sentence: <long shared prefix here>" }
        ],
        "cache_salt": "tenant-a-user-123-secret"
      }'
    ```
  </Tab>
</Tabs>

<h2 id="response-behavior">
  Comportement de la réponse
</h2>

Pour vérifier que la mise en cache des préfixes est active pour une requête, consultez les détails d’utilisation de la réponse. Avec certains modèles, ces détails peuvent inclure le nombre de jetons mis en cache dans `usage.prompt_tokens_details.cached_tokens` lorsque le cache de préfixes est réutilisé. La disponibilité de ce champ varie selon le modèle et le backend.

<h2 id="related-pages">
  Pages connexes
</h2>

Les pages suivantes abordent des sujets connexes :

* [Complétions de chat](/fr/products/inference/serverless/api-reference/chat-completions)
* [Activer les réponses en streaming](/fr/products/inference/serverless/response-settings/streaming)
* [Sortie structurée](/fr/products/inference/serverless/response-settings/structured-output)
* [Mode JSON](/fr/products/inference/serverless/response-settings/json-mode)
