Obtención de respuestas almacenadas en caché de solicitudes de API de modelos de lenguaje grande
SE APLICA A: todos los niveles de API Management
Use la directiva llm-semantic-cache-lookup
para realizar la búsqueda en caché de respuestas al modelo de lenguaje grande (LLM) y las solicitudes de API 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 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 de Azure OpenAI en Azure API Management.
- Esta directiva está actualmente en versión preliminar.
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.
Instrucción de la directiva
<llm-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>
</llm-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. | Sí | N/D |
embeddings-backend-id | Id. de back-end para la llamada API de inserción de OpenAI. | Sí | 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
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, producto, API y operación
- Puertas de enlace: v2
Notas de uso
- Esta directiva solo se puede usar una vez en una sección de directiva.
Ejemplos
Ejemplo con la directiva llm-semantic-cache-store correspondiente
<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>
</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
- Creación de directivas mediante Microsoft Copilot en Azure