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
Use la llm-semantic-cache-lookup directiva para realizar la búsqueda en caché de respuestas a solicitudes de API del modelo de lenguaje grande (LLM) desde una caché externa configurada, en función de la proximidad vectorial del mensaje a las solicitudes anteriores y un umbral de puntuación especificado. El almacenamiento en caché de respuesta reduce el ancho de banda y los requisitos de procesamiento impuestos sobre la API de LLM de back-end y disminuye la latencia percibida por los consumidores de API.
Nota:
- Esta directiva debe tener una directiva de Respuestas de caché a las solicitudes de API de modelo de lenguaje grande correspondiente.
- Para conocer los requisitos previos y los pasos para habilitar el almacenamiento en caché semántico, consulte Habilitación del almacenamiento en caché semántico para las API llm en Azure API Management.
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
Use la directiva con las API de LLM agregadas a Azure API Management que están 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.
Instrucción de la directiva
<llm-semantic-cache-lookup
score-threshold="score threshold to return cached response"
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>
</llm-semantic-cache-lookup>
Atributos
| Atributo | Descripción | Necesario | Valor predeterminado |
|---|---|---|---|
| umbral de puntuación | El umbral de puntuación define qué tan cerca debe coincidir una solicitud entrante con el fin de devolver su respuesta almacenada. El valor oscila entre 0,0 y 1,0. Los valores inferiores requieren una mayor similitud semántica para una coincidencia. Más información. | Sí | N/D |
| embeddings-backend-id | Back-end Identificador de la llamada API de inserción. | Sí | N/D |
| embeddings-backend-auth | Autenticación que se usa para insertar back-end de api. | 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 del chat 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
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, producto, API y operación
- Puertas de enlace: clásica, v2, consumo, autohospedado
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-thresholdque se usa la confidencialidad correcta para determinar cuándo devolver respuestas almacenadas en caché para las consultas. Comience con un valor bajo como 0,05 y ajuste para optimizar la proporción de aciertos de caché a errores. - El umbral de puntuación por encima de 0,2 puede provocar que la caché no coincida. Considere la posibilidad de usar un valor inferior para casos de uso confidenciales.
- Controle el acceso entre usuarios para almacenar en caché las entradas especificando
vary-bycon identificadores de usuario o grupo de usuarios específicos. - 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.
- Considere la posibilidad de agregar una directiva de seguridad de llm-content-safety con escudo de avisos para protegerse frente a ataques rápidos.
- Se recomienda configurar una directiva de límite de velocidad (o directiva de límite de velocidad por clave ) inmediatamente después de cualquier búsqueda de caché. Esto ayuda a evitar que el servicio back-end se sobrecargue si la memoria caché no está disponible.
Ejemplos
Ejemplo con la directiva llm-semantic-cache-store correspondiente
En el ejemplo siguiente se muestra cómo usar la llm-semantic-cache-lookup directiva junto con la llm-semantic-cache-store directiva para recuperar respuestas en caché semánticamente similares con un umbral de puntuación de similitud de 0,05. Los valores almacenados en caché se particionan mediante el identificador de suscripción del autor de la llamada.
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.
<policies>
<inbound>
<base />
<llm-semantic-cache-lookup
score-threshold="0.05"
embeddings-backend-id ="llm-backend"
embeddings-backend-auth ="system-assigned" >
<vary-by>@(context.Subscription.Id)</vary-by>
</llm-semantic-cache-lookup>
<rate-limit calls="10" renewal-period="60" />
</inbound>
<outbound>
<llm-semantic-cache-store duration="60" />
<base />
</outbound>
</policies>
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Repositorio de área de juegos de directivas
- Kit de herramientas de directivas de Azure API Management
- Obtener ayuda de Copilot para crear, explicar y solucionar problemas de directivas