Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A: Todos los niveles de API Management
Habilite el almacenamiento en caché semántico de respuestas a solicitudes de API de Azure OpenAI para reducir los requisitos de ancho de banda y procesamiento impuestos en las API de backend y una menor latencia percibida por los consumidores de API. Con el almacenamiento en caché semántico, puede devolver respuestas almacenadas en caché para mensajes idénticos y también para avisos similares en el sentido, incluso si el texto no es el mismo. Para más información, consulte Tutorial: Uso de Azure Cache for Redis como caché semántica.
Nota
Los pasos de configuración de este artículo habilitan el almacenamiento en caché semántico para las API de Azure OpenAI. Estos pasos se pueden generalizar para habilitar el almacenamiento en caché semántico para las API del modelo de lenguaje grande (LLM) correspondientes disponibles a través de la API de inferencia de modelos de Azure AI o con modelos compatibles con OpenAI que se proporcionan a través de proveedores de inferencia de terceros.
Requisitos previos
Se deben agregar una o varias API de Azure OpenAI en Foundry Models a la instancia de API Management. Para más información, consulte Incorporación de una API de Azure OpenAI a Azure API Management.
La instancia de Azure OpenAI debe tener implementaciones para lo siguiente:
- API de finalización de chat: implementación que se usa para las llamadas de consumidor de API
- API de inserción: implementación que se usa para el almacenamiento en caché semántico
La instancia de API Management debe configurarse para usar la autenticación de identidad administrada en las API de Azure OpenAI. Para más información, consulte autenticación y autorización del acceso a las API de Azure OpenAI mediante Azure API Management .
Una instancia de Redis administrada de Azure. El módulo RediSearch debe estar habilitado en la caché de Redis.
Nota
Solo puede habilitar el módulo RediSearch al crear una nueva instancia de Azure Redis Enterprise o Azure Managed Redis Cache. No se puede agregar un módulo a una caché existente. Más información
Caché externa configurada en la instancia de Azure API Management. Para conocer los pasos, consulte Uso de una caché externa compatible con Redis en Azure API Management.
Prueba de la implementación de la API de chat
En primer lugar, pruebe la implementación de Azure OpenAI para asegurarse de que la API de finalización de chat o la API de chat funcionan según lo previsto. Para conocer los pasos, consulte Importación de una API de Azure OpenAI en Azure API Management.
Por ejemplo, pruebe la API de chat de Azure OpenAI mediante el envío de una solicitud POST al punto de conexión de API con un mensaje en el cuerpo de la solicitud. La respuesta debe incluir la finalización de la pregunta. Solicitud de ejemplo:
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
con cuerpo de la solicitud:
{"messages":[{"role":"user","content":"Hello"}]}
Cuando la solicitud se realiza correctamente, la respuesta incluye una finalización para el mensaje de chat.
Creación de un back-end para la API de inserción
Configure un recurso de back-end para la implementación de la API de inserción con la siguiente configuración:
Nombre: nombre de su elección, como
embeddings-backend
. Use este nombre para hacer referencia al backend en las directivas.Tipo: seleccione dirección URL personalizada.
Dirección URL en tiempo de ejecución : la dirección URL de la implementación de la API de inserción en Azure OpenAI, similar a la siguiente:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings
Credenciales de autorización : vaya a la pestaña Identidad administrada .
- Identidad de cliente - Seleccione Identidad asignada por el sistema o escriba un Id. de cliente de identidad administrada asignada por el usuario.
- Identificador de recurso : escriba
https://cognitiveservices.azure.com/
en Azure OpenAI.
Probar back-end
Para probar el back-end, cree una operación de API para la API de Azure OpenAI:
- En la pestaña Diseño de la API, seleccione + Agregar operación.
- Escriba un Nombre para mostrar y, opcionalmente, un Nombre para la operación.
- En la sección Frontend, en dirección URL, seleccione Publicación y escriba la ruta de acceso
/
. - En la pestaña Encabezados, agregue un encabezado necesario con el nombre
Content-Type
y el valorapplication/json
. - Seleccione Guardar
Configure las siguientes directivas en la sección procesamiento de entrada de la operación de API. En el directiva set-backend-service, sustituya el nombre del backend que creó.
<policies>
<inbound>
<set-backend-service backend-id="embeddings-backend" />
<authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
[...]
</inbound>
[...]
</policies>
En la pestaña Prueba, pruebe la operación agregando un parámetro de consulta de api-version
con un valor como 2024-02-01
. Proporcione un cuerpo de solicitud válido. Por ejemplo:
{"input":"Hello"}
Si la solicitud se realiza correctamente, la respuesta incluye una representación vectorial del texto de entrada:
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Configuración de directivas de almacenamiento en caché semántica
Para habilitar el almacenamiento en caché semántico para las API de Azure OpenAI en Azure API Management, aplique las siguientes directivas: una para comprobar la caché antes de enviar solicitudes (búsqueda) y otra para almacenar las respuestas para su reutilización futura (almacén):
En la secciónProcesamiento de entrada de la API, agregue la directiva azure-openai-semantic-cache-lookup. En el atributo
embeddings-backend-id
, especifique el back-end de la API de inserción que creó.Nota
Al habilitar el almacenamiento en caché semántico para otras API de modelo de lenguaje grande, use en su lugar la directiva llm-semantic-cache-lookup.
Ejemplo:
<azure-openai-semantic-cache-lookup score-threshold="0.8" embeddings-backend-id="embeddings-deployment" embeddings-backend-auth="system-assigned" ignore-system-messages="true" max-message-count="10"> <vary-by>@(context.Subscription.Id)</vary-by> </azure-openai-semantic-cache-lookup>
En la sección Procesamiento de salida de la API, agregue la directiva azure-openai-semantic-cache-store.
Nota
Al habilitar el almacenamiento en caché semántico para otras API de modelo de lenguaje grande, use en su lugar la directiva llm-semantic-cache-store.
Ejemplo:
<azure-openai-semantic-cache-store duration="60" />
Confirmación del almacenamiento en caché
Para confirmar que el almacenamiento en caché semántico funciona según lo previsto, realice un seguimiento de una operación de finalización de prueba o finalización de chat mediante la consola de prueba del portal. Confirme que la memoria caché se usó en intentos posteriores inspeccionando el seguimiento. Obtenga más información sobre el seguimiento de llamadas API en Azure API Management.
Por ejemplo, si se usó la memoria caché, la sección Salida incluye entradas similares a las de la captura de pantalla siguiente:
Contenido relacionado
- Directivas de almacenamiento en caché
- Azure Cache for Redis
- Funcionalidades de puerta de enlace de IA en Azure API Management