> ## 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.

# Caché 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>;
  }
};

Prompt Cache es una función de optimización de costos proporcionada por el motor de inferencia de Novita.

Cuando una solicitud coincide con un prompt anterior, el sistema devuelve un resultado en caché y cobra solo una tarifa mínima por tokens de caché, lo que reduce significativamente el costo y mejora la latencia de respuesta.

## 1. Beneficios

Con Prompt Cache habilitado, obtiene:

* **Menor costo**

  Los prompts repetidos ya no requieren inferencia completa. Solo se cobran tarifas mínimas por tokens de caché.

* **Menor latencia**

  Los resultados en caché se devuelven al instante sin ejecutar el modelo.

* **Mayor rendimiento**

  En escenarios de alto QPS, Prompt Cache reduce la carga de cómputo y mejora la capacidad general del sistema.

* **Transparente para su aplicación**

  no se requiere lógica adicional ni cambios en el sistema.

## 2. Modelos compatibles

Actualmente, varios modelos open-source serverless admiten facturación de caché de prompts, entre ellos:

<PromptCacheModels />

Para obtener detalles de precios sobre la función de caché de prompts de los modelos compatibles, consulte: [https://novita.ai/pricing](https://novita.ai/pricing) (consulte la sección "Cache").

## 3. Casos de uso

Prompt Cache es muy eficaz en cargas de trabajo con **prompts repetidos con frecuencia**, incluidos, entre otros:

* **Generación basada en plantillas**
  * Resúmenes con formato fijo
  * Reescritura basada en plantillas
  * Prompts reutilizados entre tareas
* **Clasificación de texto y extracción de campos**
  * Clasificación del tipo de contenido
  * Extracción de etiquetas o información clave
* **Moderación de contenido**
  * Revisión de comentarios, anuncios o títulos
  * Muchos prompts de moderación se repiten entre usuarios y a lo largo del tiempo
* **Prompts de sistema repetidos en aplicaciones de chat**
  * Definiciones de personalidad del chatbot
  * Reglas globales de conversación
  * Información de contexto reutilizada en múltiples turnos
* **Prompts de estilo workflow / asistente**
  * Asistentes de generación SQL
  * Asistentes de reparación de código
  * Asistentes de resumen con formatos de salida fijos

Estos escenarios logran de forma natural altas tasas de acierto de caché, lo que reduce significativamente el costo de inferencia.

## 4. Ejemplos de respuesta

<Note>
  Cuando se acierta en la caché, no se realiza inferencia, lo que resulta en un costo significativamente menor y respuestas más rápidas.
</Note>

Si el modelo admite caché de prompts, sus llamadas a la API no requieren modificaciones. A continuación se muestra una respuesta de ejemplo al obtener el resultado en caché:

```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
    }
}
```
