Partager via


Obtenir des réponses mises en cache des requêtes de l’API Azure OpenAI

S’APPLIQUE À : Tous les niveaux de Gestion des API

Utilisez la stratégie pour effectuer la recherche de cache des réponses aux demandes d’API d’achèvement de conversation Azure OpenAI à partir d’un cache externe configuré, en fonction de la azure-openai-semantic-cache-lookup proximité vectorielle de l’invite aux requêtes précédentes et d’un seuil de score de similarité spécifié. La mise en cache de la réponse réduit les besoins en bande passante et en traitement imposés par l’API Azure OpenAI back-end et limite la latence perçue par les consommateurs de l’API.

Remarque

Remarque

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Prise en charge d’Azure OpenAI dans les modèles Azure AI Foundry

La stratégie est utilisée avec les API ajoutées à Gestion des API à partir d’Azure OpenAI dans les modèles AI Foundry des types suivants :

Type de l’API Modèles pris en charge
Saisie semi-automatique de la conversation gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Incorporations text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Réponses (préversion) gpt-4o (Versions : 2024-11-20, 2024-08-06, 2024-05-13)

gpt-4o-mini (Version : 2024-07-18)

gpt-4.1 (Version : 2025-04-14)

gpt-4.1-nano (Version : 2025-04-14)

gpt-4.1-mini (Version : 2025-04-14)

gpt-image-1 (Version : 2025-04-15)

o3 (Version : 2025-04-16)

o4-mini (Version : '2025-04-16)

Remarque

Les API de saisie semi-automatique traditionnelles sont disponibles uniquement avec les versions de modèle héritées et la prise en charge est limitée.

Pour plus d’informations sur les modèles et leurs fonctionnalités, consultez Azure OpenAI dans Foundry Models.

Instruction de la stratégie

<azure-openai-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>
</azure-openai-semantic-cache-lookup>

Attributs

Attribut Descriptif Obligatoire Par défaut
seuil de score Le seuil de score définit la manière dont une invite entrante doit correspondre à une invite mise en cache pour retourner sa réponse stockée. La valeur est comprise entre 0,0 et 1,0. Les valeurs inférieures nécessitent une similarité sémantique plus élevée pour une correspondance. Plus d’informations Oui S/O
embeddings-backend-id Back-end ID pour l’appel d’API d’incorporation. Oui S/O
embeddings-backend-auth Authentification utilisée pour l’incorporation du serveur principal de l’API. Oui. Cette propriété doit être définie sur system-assigned. S/O
ignore-system-messages Booléenne. Lorsqu’il est défini true sur (recommandé), supprime les messages système d’une invite de saisie semi-automatique de conversation avant d’évaluer la similarité du cache. Non faux
max-message-count Si spécifié, nombre de messages de dialogue restants une fois la mise en cache ignorée. Non S/O

Éléments

Nom Descriptif Obligatoire
varient par Expression personnalisée déterminée au moment du runtime dont la valeur partitionne la mise en cache. Si plusieurs éléments vary-by sont ajoutés, les valeurs sont concaténées pour créer une combinaison unique. Non

Utilisation

Notes d’utilisation

  • Cette stratégie ne peut être employée qu’une seule fois dans une section stratégie.
  • Ajustez la valeur de score-threshold votre application pour vous assurer que la sensibilité appropriée est utilisée pour déterminer quand retourner des réponses mises en cache pour les requêtes. Commencez par une valeur faible telle que 0,05 et ajustez pour optimiser le ratio d’accès au cache aux absences.
  • Le seuil de score supérieur à 0,2 peut entraîner une incompatibilité de cache. Envisagez d’utiliser une valeur inférieure pour les cas d’usage sensibles.
  • Contrôlez l’accès inter-utilisateurs aux entrées du cache en spécifiant vary-by avec des identificateurs d’utilisateur ou de groupe d’utilisateurs spécifiques.
  • Le modèle d’incorporation doit avoir suffisamment de capacité et une taille de contexte suffisante pour prendre en charge le volume et les invites d’invite.
  • Envisagez d’ajouter la stratégie llm-content-safety avec un bouclier d’invite pour protéger contre les attaques d’invite.
  • Nous vous recommandons de configurer une stratégie de limite de débit (ou une stratégie de limite de débit par clé ) immédiatement après toute recherche de cache. Cela permet à votre service principal d’être surchargé si le cache n’est pas disponible.

Exemples

Exemple avec une stratégie azure-openai-semantic-cache-store correspondante

L’exemple suivant montre comment utiliser la azure-openai-semantic-cache-lookup stratégie avec la azure-openai-semantic-cache-store stratégie pour récupérer des réponses mises en cache sémantiquement similaires avec un seuil de score de similarité de 0,05. Les valeurs mises en cache sont partitionnée par l’ID d’abonnement de l’appelant.

Remarque

Ajoutez une stratégie de limite de débit (ou une stratégie de limite de débit par clé ) après la recherche du cache pour limiter le nombre d’appels et empêcher la surcharge sur le service principal si le cache n’est pas disponible.

<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>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Pour plus d’informations sur l’utilisation des stratégies, consultez :