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

# Cache de prompts

export const PromptCacheModels = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    let attempts = 0;
    const maxAttempts = 50;
    const INIT_DISPLAY_COUNT = 3;
    const interval = setInterval(() => {
      const clientComponent = document.getElementById("prompt-cache-models");
      if (clientComponent && window.novitaRemoteData.llmModels.status === 'loaded') {
        const modelList = window.novitaRemoteData.llmModels.data.filter(model => {
          return !!model.support_prompt_cache;
        });
        let displayModels = modelList.slice(0, INIT_DISPLAY_COUNT).map(model => {
          return `<li><span class="model-id-item">${model.id}</span></li>`;
        }).join('');
        let showMoreButton = '';
        if (modelList.length > INIT_DISPLAY_COUNT) {
          showMoreButton = `<button id="show-more-prompt-cache-model-btn" style="margin-left: 32px; color: rgb(40 116 255)">View More</button>`;
        }
        clientComponent.innerHTML = `
          <ul>${displayModels}</ul>
          ${showMoreButton}
        `;
        document.getElementById('show-more-prompt-cache-model-btn')?.addEventListener('click', () => {
          clientComponent.innerHTML = `
            <ul>${modelList.map(model => {
            return `<li><span class="model-id-item">${model.id}</span></li>`;
          }).join('')}</ul>
          `;
        });
        clearInterval(interval);
      }
      attempts++;
      if (attempts >= maxAttempts) {
        clearInterval(interval);
      }
    }, 200);
    return <div id="prompt-cache-models"></div>;
  }
};

Le cache de prompts est une fonctionnalité d’optimisation des coûts fournie par le moteur d’inférence Novita.

Lorsqu’une requête correspond à un prompt précédent, le système renvoie un résultat mis en cache et ne facture que des frais minimaux de tokens de cache, ce qui réduit considérablement les coûts et améliore la latence des réponses.

## 1. Avantages

Avec le cache de prompts activé, vous bénéficiez de :

* **Coûts réduits**

  Les prompts répétés ne nécessitent plus une inférence complète. Seuls des frais minimaux de tokens de cache sont facturés.

* **Latence réduite**

  Les résultats mis en cache sont renvoyés instantanément, sans exécuter le modèle.

* **Débit plus élevé**

  Dans les scénarios à QPS élevé, le cache de prompts réduit la charge de calcul et améliore la capacité globale du système.

* **Transparent pour votre application**

  aucune logique supplémentaire ni modification du système n’est requise.

## 2. Modèles pris en charge

Plusieurs modèles open source serverless prennent actuellement en charge la facturation du cache de prompts, notamment :

<PromptCacheModels />

Pour plus de détails sur la tarification concernant la fonctionnalité de cache de prompts des modèles pris en charge, veuillez consulter : [https://novita.ai/pricing](https://novita.ai/pricing) (voir la section « Cache »).

## 3. Cas d’utilisation

Le cache de prompts est très efficace pour les charges de travail avec des **prompts fréquemment répétés**, notamment, sans s’y limiter :

* **Génération basée sur des modèles**
  * Résumés à format fixe
  * Réécriture guidée par des modèles
  * Prompts réutilisés entre différentes tâches
* **Classification de texte et extraction de champs**
  * Classification du type de contenu
  * Extraction de tags ou d’informations clés
* **Modération de contenu**
  * Examen de commentaires, publicités ou titres
  * De nombreux prompts de modération se répètent selon les utilisateurs et au fil du temps
* **Prompts système répétés dans les applications de chat**
  * Définitions de persona de chatbot
  * Règles globales de conversation
  * Informations contextuelles réutilisées sur plusieurs tours
* **Prompts de type workflow / assistant**
  * Assistants de génération SQL
  * Assistants de correction de code
  * Assistants de résumé avec formats de sortie fixes

Ces scénarios atteignent naturellement des taux élevés de réussite du cache, réduisant considérablement le coût d’inférence.

## 4. Exemples de réponses

<Note>
  Lorsque le cache est atteint, aucune inférence n’est effectuée, ce qui entraîne des coûts nettement plus faibles et des réponses plus rapides.
</Note>

Si le modèle prend en charge la mise en cache des prompts, vos appels API ne nécessitent aucune modification. Voici un exemple de réponse lorsque le résultat mis en cache est utilisé :

```JSON theme={"system"}
{
    "prompt_tokens": 3295,
    "completion_tokens": 137,
    "total_tokens": 3432,
    "prompt_tokens_details":
    {
        "audio_tokens": 0,
        "cached_tokens": 448,
        "cache_creation_Prompt_tokens": 0,
        "cache_read_Prompt_tokens": 0
    }
}
```
