Compartir a través de


Obtención de respuestas almacenadas en caché de solicitudes de API de Azure OpenAI

SE APLICA A: todos los niveles de API Management

Use la azure-openai-semantic-cache-lookup directiva para realizar la búsqueda en caché de respuestas a las solicitudes de la API de finalización de chat de Azure OpenAI desde una caché externa configurada, en función de la proximidad vectorial del mensaje a las solicitudes anteriores y un umbral de puntuación de similitud especificado. El almacenamiento en caché de respuesta reduce el ancho de banda y los requisitos de procesamiento impuestos sobre la API de Azure OpenAI de back-end y disminuye la latencia percibida por los consumidores de API.

Nota:

Nota:

Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Modelos de Foundry compatibles con Azure OpenAI

La directiva se usa con las API agregadas a API Management desde Azure OpenAI en los modelos foundry de los siguientes tipos:

Tipo de API Modelos admitidos
Finalización del chat gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Inserciones text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Respuestas (versión preliminar) gpt-4o (Versiones: 2024-11-20, 2024-08-06, 2024-05-13)

gpt-4o-mini (Versión: 2024-07-18)

gpt-4.1 (Versión: 2025-04-14)

gpt-4.1-nano (Versión: 2025-04-14)

gpt-4.1-mini (Versión: 2025-04-14)

gpt-image-1 (Versión: 2025-04-15)

o3 (Versión: 2025-04-16)

o4-mini (Versión: '2025-04-16)

Nota:

Las API de finalización tradicionales solo están disponibles con versiones de modelo heredadas y la compatibilidad es limitada.

Para obtener información actual sobre los modelos y sus funcionalidades, consulte Azure OpenAI en Foundry Models.

Instrucción de la directiva

<azure-openai-semantic-cache-lookup
    score-threshold="similarity score threshold"
    embeddings-backend-id ="backend entity ID for embeddings API"
    embeddings-backend-auth ="system-assigned"             
    ignore-system-messages="true | false"      
    max-message-count="count" >
    <vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>

Atributos

Atributo Descripción Necesario Valor predeterminado
umbral de puntuación Umbral de puntuación de similitud usado para determinar si se devuelve una respuesta almacenada en caché a un mensaje. El valor es decimal entre 0,0 y 1,0. Los valores más pequeños representan una mayor similitud semántica. Más información. N/D
embeddings-backend-id Id. de back-end para la llamada API de inserción de OpenAI. N/D
embeddings-backend-auth Autenticación usada para el back-end de la API de incrustaciones de Azure OpenAI. Sí. Se debe establecer en system-assigned. N/D
ignore-system-messages booleano. Cuando se establece en true (recomendado), quita los mensajes del sistema de un mensaje de finalización de chat gpT antes de evaluar la similitud de la memoria caché. No falso
max-message-count Si se especifica, número de mensajes de diálogo restantes después del cual se omite el almacenamiento en caché. No N/D

Elementos

Nombre Descripción Necesario
variación por Expresión personalizada determinada en tiempo de ejecución cuyas particiones de valor almacenan en caché. Si se agregan varios elementos vary-by, los valores se concatenan para crear una combinación única. No

Uso

Notas de uso

  • Esta directiva solo se puede usar una vez en una sección de directiva.
  • Ajuste el valor de en función de la aplicación para asegurarse de score-threshold que se usa la confidencialidad correcta al determinar qué consultas almacenar en caché. Comience con un valor bajo como 0,05 y ajuste para optimizar la proporción de aciertos de caché a errores.
  • El modelo de incrustaciones debe tener suficiente capacidad y un tamaño de contexto suficiente para dar cabida al volumen del mensaje y las solicitudes.

Ejemplos

Ejemplo con la directiva azure-openai-semantic-cache-store correspondiente

<policies>
    <inbound>
        <base />
        <azure-openai-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="azure-openai-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </azure-openai-semantic-cache-lookup>
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Para más información sobre el trabajo con directivas, vea: