Compartir a través de


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. "Preguntar" en este contexto hace referencia a la entrada que envía al modelo como parte de la solicitud de finalización del chat. En lugar de volver a procesar los mismos tokens de entrada de nuevo, el modelo puede conservar una caché temporal de los datos de entrada procesados para mejorar el rendimiento general. El almacenamiento en caché de mensajes no afecta al contenido de salida devuelto en la respuesta del modelo más allá de una reducción de la latencia y el costo. En el caso de los modelos compatibles, los tokens almacenados en caché se facturan con un descuento del 50 % en los precios de token de entrada.

Modelos admitidos

Actualmente, solo los siguientes modelos admiten el almacenamiento en caché de mensajes con Azure OpenAI:

  • o1-preview-2024-09-12
  • o1-mini-2024-09-12
  • gpt-4o-2024-05-13
  • gpt-4o-2024-08-06
  • gpt-4o-mini-2024-07-18

Compatibilidad con API

El soporte oficial con el almacenamiento en caché de mensajes se agregó por primera vez en la versión de API2024-10-01-preview. En este momento, solo los modelos o1-preview-2024-09-12 y o1-mini-2024-09-12 admiten el parámetro de respuesta de la API de cached_tokens.

Introducción

Para que una solicitud aproveche el almacenamiento en caché de mensajes, la solicitud debe ser ambas:

  • Un mínimo de 1024 tokens de longitud.
  • Los primeros 1024 tokens del símbolo del sistema deben ser idénticos.

Cuando se encuentra una coincidencia entre un mensaje y el contenido actual de la memoria caché del mensaje, se conoce como acierto de caché. Los aciertos de caché se mostrarán como cached_tokens bajoprompt_token_details en la respuesta de finalizaciones de chat.

{
  "created": 1729227448,
  "model": "o1-preview-2024-09-12",
  "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 que se produzcan los primeros 1024 tokens de aciertos de caché para cada 128 tokens idénticos adicionales.

Una diferencia de caracteres único en los primeros 1024 tokens dará como resultado una falta de caché que se caracteriza por uncached_tokens valor de 0. El almacenamiento en caché de mensajes está habilitado de forma predeterminada sin necesidad de configuración adicional para los modelos admitidos.

¿Qué se almacena en caché?

Los modelos de la serie o1 son solo texto y no admiten mensajes del sistema, imágenes, llamadas a herramientas o funciones o salidas estructuradas. Esto limita la eficacia del almacenamiento en caché de mensajes para estos modelos a las partes del usuario o asistente de la matriz de mensajes que es menos probable que tengan un prefijo de token 1024 idéntico.

Para los modelos de gpt-4o y gpt-4o-mini, se admite el almacenamiento en caché de mensajes para:

Almacenamiento en caché admitido Descripción
Mensajes Matriz de mensajes completa: contenido del sistema, usuario y asistente
Imágenes Imágenes incluidas en los mensajes de usuario, tanto como vínculos como datos codificados en base64. El parámetro de detalle debe establecerse igual 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. No hay ninguna opción de exclusión.

¿Cómo funciona el almacenamiento en caché de solicitudes para las implementaciones aprovisionadas?

En el caso de los modelos admitidos en implementaciones aprovisionadas, descontamos hasta el 100 % para los tokens de entrada almacenados en caché. Para obtener más información, consulte nuestra documentación sobre el rendimiento aprovisionado.