Activer la mise en cache sémantique pour les API Azure OpenAI dans la Gestion des API Azure
S’APPLIQUE À : Essentiel v2 | Standard v2
Activez la mise en cache sémantique des réponses sur les demandes d’API Azure OpenAI pour réduire la bande passante et le traitement imposés par les API back-end et limiter la latence perçue par les consommateurs d’API. Avec la mise en cache sémantique, vous pouvez retourner des réponses mises en cache pour des prompts identiques et des prompts qui ont un sens similaire, même si le texte n’est pas le même. Pour connaître le contexte, consultez Tutoriel : Utiliser Azure Cache pour Redis comme cache sémantique.
Remarque
Les étapes de configuration décrites dans cet article activent la mise en cache sémantique pour les API Azure OpenAI. Ces étapes peuvent être généralisées pour activer la mise en cache sémantique pour les API LLM (Large Language Model) correspondantes disponibles via l’API d’inférence du modèle AZURE AI.
Prérequis
- Une ou plusieurs API Azure OpenAI Service doivent être ajoutées à votre instance Gestion des API. Pour plus d’informations, consultez Ajouter une API Azure OpenAI Service à la Gestion des API Azure.
- Azure OpenAI Service doit avoir des déploiements pour les éléments suivants :
- API de complétion de conversation (ou API de complétion) : déploiement utilisé pour les appels de consommateur d’API
- API d’incorporations : Déploiement utilisé pour la mise en cache sémantique
- L’instance Gestion des API doit être configurée pour utiliser l’authentification d’identité managée auprès des API Azure OpenAI. Pour plus d’informations, consultez Authentifier et autoriser l’accès aux API Azure OpenAI à l’aide de Gestion des API Azure.
- Azure Cache pour Redis Entreprise. Le module RediSearch doit être activé sur le cache Redis Entreprise.
Remarque
Vous pouvez uniquement activer le module RediSearch lors de la création d’un cache Redis Entreprise. Vous ne pouvez pas ajouter de module à un cache existant. En savoir plus
- Cache externe configuré dans l’instance Gestion des API Azure. Pour connaître les étapes, consultez Utiliser une instance Azure Cache pour Redis externe dans la Gestion des API Azure.
Tester le déploiement des API de conversation
Tout d’abord, testez le déploiement Azure OpenAI pour vous assurer que l’API de complétion de conversation ou l’API de conversation fonctionne comme prévu. Pour connaître les étapes, consultez Importer une API Azure OpenAI dans la Gestion des API Azure.
Par exemple, testez l’API de conversation Azure OpenAI en envoyant une requête POST au point de terminaison de l’API avec un prompt dans le corps de la requête. La réponse devrait inclure la complétion du prompt. Exemple de requête :
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
avec le corps de requête :
{"messages":[{"role":"user","content":"Hello"}]}
Une fois que la requête a réussi, la réponse inclut une complétion pour le message de conversation.
Créer un back-end pour l’API d’incorporations
Configurez une ressource back-end pour le déploiement de l’API d’incorporations avec les paramètres suivants :
- Nom – Nom de votre choix, comme
embeddings-backend
. Vous utilisez ce nom pour référencer le back-end dans les stratégies. - Type – Sélectionnez URL personnalisée.
- URL du runtime – URL du déploiement de l’API d’incorporations dans Azure OpenAI Service, similaire à :
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings
Test backend
Pour tester le back-end, créez une opération d’API pour votre API Azure OpenAI Service :
- Sous l’onglet Conception de votre API, sélectionnez + Ajouter une opération.
- Entrez un Nom d’affichage et éventuellement un Nom pour l’opération.
- Dans la section Front-end, dans URL, sélectionnez POST et entrez le chemin
/
. - Sous l’onglet En-têtes, ajoutez un en-tête obligatoire avec le nom
Content-Type
et la valeurapplication/json
. - Cliquez sur Enregistrer
Configurez les stratégies suivantes dans la section Traitement entrant de l’opération d’API. Dans la stratégie set-backend-service, remplacez le nom du back-end que vous avez créé.
<policies>
<inbound>
<set-backend-service backend-id="embeddings-backend" />
<authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
[...]
</inbound>
[...]
</policies>
Sous l’onglet Tester, testez l’opération en ajoutant un paramètre de requête api-version
avec une valeur telle que 2024-02-01
. Fournissez un corps de requête valide. Par exemple :
{"input":"Hello"}
Si la requête a réussi, la réponse inclut une représentation vectorielle du texte d’entrée :
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Configurer des stratégies de mise en cache sémantique
Configurez les stratégies suivantes afin d’activer la mise en cache sémantique pour les API Azure OpenAI dans la Gestion des API Azure :
Dans la section Traitement entrant de l’API, ajoutez la stratégie azure-openai-semantic-cache-lookup. Dans l’attribut
embeddings-backend-id
, spécifiez le back-end de l’API d’incorporations que vous avez créé.Remarque
Lors de l’activation de la mise en cache sémantique pour d’autres API de modèle de langage volumineux, utilisez plutôt la llm-semantic-cache-lookup.
Exemple :
<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>
Dans la section Traitement sortant de l’API, ajoutez la stratégie azure-openai-semantic-cache-store.
Remarque
Lors de l’activation de la mise en cache sémantique pour d’autres API de modèle de langage volumineux, utilisez plutôt la llm-semantic-cache-store.
Exemple :
<azure-openai-semantic-cache-store duration="60" />
Confirmer la mise en cache
Pour confirmer que la mise en cache sémantique fonctionne comme prévu, tracez une opération de complétion ou de complétion de conversation test à l’aide de la console de test dans le portail. Vérifiez que le cache a été utilisé lors des tentatives successives en inspectant la trace. En savoir plus sur le traçage des appels d’API dans la Gestion des API Azure.
Par exemple, si le cache a été utilisé, la section Sortie inclut des entrées similaires à celles de la capture d’écran suivante :