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 las respuestas a las solicitudes de la API de LLM para reducir los requisitos de ancho de banda y procesamiento impuestos en las APIs de backend, disminuyendo así la latencia percibida por los consumidores de API. Con el almacenamiento en caché semántico, puede devolver respuestas almacenadas en caché para solicitudes idénticas y también para avisos similares en el sentido, incluso si el texto no es idéntico. Para más información, consulte Tutorial: Uso de Azure Managed Redis como caché semántica.
Nota
Los pasos de configuración de este artículo muestran cómo habilitar el almacenamiento en caché semántico para las API agregadas a API Management desde Azure OpenAI en los modelos de Microsoft Foundry. Puede aplicar pasos similares 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
Agregue una o varias implementaciones de modelos de Azure OpenAI en Microsoft Foundry como API a la instancia de API Management. Para más información, consulte Incorporación de una API de Azure OpenAI a Azure API Management.
Cree implementaciones para las SIGUIENTES API:
- 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
Configure la instancia de API Management 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 con el módulo RediSearch habilitado en la caché de Redis.
Nota
Solo puede habilitar el módulo RediSearch al crear una nueva caché de Redis administrada de Azure. No se puede agregar un módulo a una caché existente. Más información
Configure la instancia de Azure Managed Redis como una caché externa 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 funcione 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
Cree un recurso backend para la implementación de la API de embeddings con la siguiente configuración:
Nombre: un nombre de su elección, como incrustaciones-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:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings(sin parámetros de consulta).Credenciales de autorización : vaya a la pestaña Identidad administrada .
- Identidad de cliente : seleccione Identidad asignada por el sistema o escriba un identificador de cliente de identidad administrada asignada por el usuario.
-
Identificador de recurso : escriba
https://cognitiveservices.azure.com/en Azure OpenAI.
Probar los embeddings del backend
Para probar el back-end de incrustaciones, 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 como Incrustaciones 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-Typey el valorapplication/json. - Haga clic en 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. Respuesta de ejemplo:
{
"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.15" embeddings-backend-id="embeddings-backend" 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> <rate-limit calls="10" renewal-period="60" />Nota
Añade una política de límite de velocidad (o política de límite por clave ) tras la búsqueda de caché para ayudar a limitar el número de llamadas y evitar sobrecarga en el servicio de backend en caso de que la caché no esté disponible.
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 utiliza en los intentos posteriores inspeccionando la traza. Obtenga más información sobre el seguimiento de llamadas API en Azure API Management.
Ajuste el atributo score-threshold en la directiva de búsqueda para controlar qué tan estrechamente debe coincidir un aviso entrante con un aviso en caché para devolver su respuesta almacenada. Un umbral de puntuación inferior significa que las solicitudes deben tener una similitud semántica mayor para devolver respuestas almacenadas en caché. Las solicitudes con puntuaciones por encima del umbral no usan la respuesta almacenada en caché.
Por ejemplo, si se usa la memoria caché, la sección Salida incluye entradas similares a la captura de pantalla siguiente:
Contenido relacionado
- Directivas de almacenamiento en caché
- Azure Managed Redis
- Funcionalidades de puerta de enlace de IA en Azure API Management