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 directiva azure-openai-semantic-cache-lookup para realizar la búsqueda en caché de respuestas a la API de finalización de chat de Azure OpenAI y las solicitudes de API de finalización de una caché externa configurada, en función de la proximidad vectorial de la solicitud 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 admitidos de Azure OpenAI Service

La directiva se usa con las API agregadas a API Management desde el Azure OpenAI Service de los siguientes tipos:

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

gpt-4
Completion gpt-3.5-turbo-instruct
Inserciones text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002

Para obtener más información, consulte Modelos de servicio de OpenAI de Azure.

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
score-threshold 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. 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. Si se establece en true, quita los mensajes del sistema de un mensaje de finalización del chat GPT antes de evaluar la similitud de caché. No false
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 Obligatorio
vary-by 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.

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: