Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S'APPLIQUE À : Tous les niveaux de Gestion des API
Activez la mise en cache sémantique des réponses aux demandes d’API LLM pour réduire les exigences de bande passante et de traitement imposées aux API principales et à une latence inférieure 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 invites identiques et également des invites similaires, même si le texte n’est pas identique. Pour plus d’informations, consultez Tutoriel : Utiliser Azure Managed Redis comme cache sémantique.
Remarque
Les étapes de configuration décrites dans cet article montrent comment activer la mise en cache sémantique pour les API ajoutées à Gestion des API à partir d’Azure OpenAI dans les modèles Microsoft Foundry. Vous pouvez appliquer des étapes similaires 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 IA Azure ou avec des modèles compatibles OpenAI pris en charge par le biais de fournisseurs d’inférence tiers.
Prérequis
Ajoutez un ou plusieurs déploiements de modèles Azure OpenAI dans Microsoft Foundry en tant qu’API à votre instance Gestion des API. Pour plus d’informations, consultez Ajouter une API Azure OpenAI à Gestion des API Azure.
Créez des déploiements pour les API suivantes :
- API de complétion de conversation : déploiement utilisé pour les appels de consommateur d’API
- API d’incorporations : Déploiement utilisé pour la mise en cache sémantique
Configurez l’instance Gestion des API pour utiliser l’authentification d’identité managée aux 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.
Instance Redis managée Azure avec le module RediSearch activé sur le cache Redis.
Remarque
Vous ne pouvez activer le module RediSearch que lors de la création d’un cache Redis managé Azure. Vous ne pouvez pas ajouter de module à un cache existant. En savoir plus
Configurez l’instance Redis managée Azure en tant que cache externe dans l’instance Gestion des API Azure. Pour découvrir les étapes, consultez Utiliser un cache externe compatible Redis dans 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 d’achèvement de conversation ou l’API Chat 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
Créez une ressource back-end pour le déploiement de l’API d’incorporations avec les paramètres suivants :
Nom : Un nom de votre choix, par exemple 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, similaire à :
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings(sans paramètres de requête).Informations d’identification d’autorisation : accédez à l’onglet Identité managée .
- Identité du client : sélectionnez l’identité affectée par le système ou entrez un ID client d’identité managée affectée par l’utilisateur.
-
ID de ressource : entrez
https://cognitiveservices.azure.com/pour Azure OpenAI.
Test d’incorporations back-end
Pour tester le back-end d’incorporations, créez une opération d’API pour votre API Azure OpenAI :
- Sous l’onglet Conception de votre API, sélectionnez + Ajouter une opération.
- Entrez un nom d’affichage tel que les incorporations 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-Typeet 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. Exemple :
{"input":"Hello"}
Si la demande réussit, la réponse inclut une représentation vectorielle du texte d’entrée. Exemple de réponse :
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Configurer des stratégies de mise en cache sémantique
Pour activer la mise en cache sémantique pour les API Azure OpenAI dans Gestion des API Azure, appliquez les stratégies suivantes : une pour vérifier le cache avant d’envoyer des requêtes (recherche) et une autre pour stocker les réponses pour une réutilisation future (magasin) :
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.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" />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.
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, suivez une opération de complétion de test ou de complétion de conversation à l’aide de la console de test dans le portail. Vérifiez que le cache est utilisé lors des tentatives suivantes en inspectant la trace. En savoir plus sur le traçage des appels d’API dans la Gestion des API Azure.
Ajustez l’attribut score-threshold dans la stratégie de recherche pour définir à quel point une invite entrante doit correspondre à une invite mise en cache afin de retourner sa réponse stockée. Un seuil de score faible signifie que les invites doivent avoir une similarité sémantique plus élevée pour retourner des réponses mises en cache. Les requêtes avec des scores au-dessus du seuil n’utilisent pas la réponse mise en cache.
Par exemple, si le cache est utilisé, la section Sortie inclut des entrées similaires à la capture d’écran suivante :
Contenu connexe
- Stratégies de mise en cache
- Azure Managed Redis
- Fonctionnalités de passerelle IA dans Gestion des API Azure