Almacenamiento en caché de mensajes

El almacenamiento en caché de mensajes permite reducir la latencia general de las solicitudes y el costo de los mensajes más largos que tienen contenido idéntico al principio del mensaje. "Indicador" en este contexto se refiere a la entrada que envía al modelo como parte de sus completaciones de chat o solicitudes de creación de respuestas. En lugar de volver a procesar los mismos tokens de entrada de nuevo, el servicio puede conservar una caché temporal de cálculos de token de entrada procesados para mejorar el rendimiento general. El almacenamiento en caché no afecta al contenido de salida devuelto en la respuesta del modelo, aparte de reducir la latencia y el costo.

En el caso de los modelos compatibles, los tokens almacenados en caché se facturan con un descuento en los precios del token de entrada para los tipos de implementación estándar y hasta 100% descuento en los tokens de entrada para los tipos de implementación aprovisionados. Los precios de la caché son los mismos para ambas políticas de retención.

Retención rápida de caché

El almacenamiento en caché de prompts puede utilizar directivas de retención en memoria o extendidas. Cuando está disponible, el almacenamiento en caché de mensajes extendidos tiene como objetivo conservar la memoria caché durante más tiempo, por lo que es más probable que las solicitudes posteriores coincidan con la memoria caché.

Para configurar la directiva de retención de caché de mensajes, establezca el prompt_cache_retention parámetro en la API Respuestas o Finalizaciones de chat.

Retención de caché en memoria

Las memorias caché normalmente se borran en un plazo de 5 a 10 minutos de inactividad y siempre se quitan dentro de una hora del último uso de la memoria caché. Las cachés de mensajes no se comparten entre suscripciones de Azure.

Se admite la retención de caché de mensajes en memoria con todos los modelos de OpenAI de Azure GPT-4 o posteriores. Se aplica a los modelos que tienen operaciones de completado, finalización, respuestas o de chat en tiempo real. En el caso de los modelos que no tienen estas operaciones, esta característica no está disponible.

Retención extendida de caché de mensajes

La retención extendida de la caché de indicaciones mantiene activos los prefijos almacenados en caché durante más tiempo, hasta un máximo de 24 horas. El almacenamiento en caché extendido funciona descargando los tensores de clave/valor al almacenamiento local de GPU cuando la memoria está llena, lo que aumenta significativamente la capacidad disponible para el almacenamiento en caché.

La retención extendida de la caché de mensajes está disponible para los siguientes modelos:

  • gpt-5.4
  • gpt-5.3-codex
  • gpt-5.2
  • gp5-5.1-codex-max
  • gpt-5.1
  • gpt-5.1-codex
  • gpt-5.1-codex-mini
  • gpt-5.1-chat
  • gpt-5
  • gpt-5-codex
  • gpt-4.1

Configuración por solicitud

En el caso gpt-5.4 de los modelos anteriores y en caso de no especificar una directiva de retención, el valor predeterminado es in_memory. Los valores permitidos son in_memory y 24h. Para todos los modelos más recientes, el valor predeterminado es 24h y in_memory no se admite.

{
  "model": "gpt-5.4",
  "input": "Your prompt goes here...",
  "prompt_cache_retention": "24h"
}

Comenzar

Para aprovechar el almacenamiento en caché de mensajes, una solicitud debe cumplir estos dos requisitos:

  • Un mínimo de 1,024 tokens en longitud.
  • Los primeros 1.024 tokens de la solicitud deben ser idénticos.

Las solicitudes se enrutan en función de un hash del prefijo inicial de un mensaje. Normalmente, el hash usa los primeros 256 tokens, aunque la longitud exacta varía en función del modelo.

Cuando se encuentra una coincidencia entre los cálculos de token en una indicación y el contenido actual de la memoria caché de la indicación, se conoce como hit de caché. Los aciertos de caché se mostrarán como cached_tokens en prompt_tokens_details la respuesta de finalizaciones de chat.

{
  "created": 1729227448,
  "model": "o1-2024-12-17",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": "fp_50cdd5dc04",
  "usage": {
    "completion_tokens": 1518,
    "prompt_tokens": 1566,
    "total_tokens": 3084,
    "completion_tokens_details": {
      "audio_tokens": null,
      "reasoning_tokens": 576
    },
    "prompt_tokens_details": {
      "audio_tokens": null,
      "cached_tokens": 1408
    }
  }
}

Después de los primeros 1,024 tokens, los aciertos de caché ocurrirán por cada 128 tokens idénticos adicionales.

Una diferencia de un solo carácter en los primeros 1,024 tokens dará como resultado una falta de caché que se caracteriza por un valor de cached_tokens 0. El almacenamiento en caché de mensajes está habilitado de forma predeterminada sin necesidad de configuración adicional para los modelos admitidos.

Si proporciona el parámetro prompt_cache_key, se combina con el prefijo hash, lo que le permite influir en el enrutamiento y mejorar los índices de aciertos de caché. Esto es especialmente beneficioso cuando muchas solicitudes comparten prefijos largos y comunes. Si las solicitudes para el mismo prefijo y prompt_cache_key combinación superan una velocidad determinada (aproximadamente 15 solicitudes por minuto), algunas pueden desbordarse y enrutarse a máquinas adicionales, lo que reduce la eficacia de la memoria caché.

Preguntas más frecuentes

¿Qué se almacena en caché?

La compatibilidad de características de los modelos de la serie o1 varía según el modelo. Para obtener más información, consulte nuestra guía de modelos de razonamiento dedicado.

Se admite el almacenamiento en caché de mensajes para:

Almacenamiento en caché admitido Descripción
Mensajes Matriz de mensajes completa: contenido del sistema, del desarrollador, del usuario y del asistente
Imágenes Imágenes incluidas en los mensajes de usuario, tanto como vínculos como datos codificados en base64. El parámetro detalles debe configurarse de forma idéntica en todas las solicitudes.
Uso de herramientas Tanto la matriz de mensajes como las definiciones de herramientas.
Salidas estructuradas El esquema de salida estructurado se anexa como prefijo al mensaje del sistema.

Para mejorar la probabilidad de que se produzcan aciertos de caché, debe estructurar las solicitudes de forma que el contenido repetitivo se produzca al principio de la matriz de mensajes.

¿Puedo deshabilitar el almacenamiento en caché de mensajes?

El almacenamiento en caché de mensajes está habilitado de forma predeterminada para todos los modelos admitidos. No hay compatibilidad con la exclusión para el almacenamiento en caché de mensajes.

¿El almacenamiento en caché de mensajes funciona con La residencia de datos?

El almacenamiento en caché de prompts en memoria es compatible con todas las regiones de localización de datos. El almacenamiento en caché de mensajes extendidos almacena temporalmente datos en máquinas GPU y solo se conservará en la región cuando se usen los tipos de implementación estándar regional o regional aprovisionado.