Partager via


Vue d’ensemble des fonctionnalités de la passerelle d’IA générative dans Gestion des API Azure

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

Cet article présente les fonctionnalités dans Gestion des API Azure pour vous aider à gérer les API d’IA générative, comme celles fournies par Azure OpenAI Service. Gestion des API Azure offre une gamme de stratégies, métriques et d’autres fonctionnalités pour améliorer la sécurité, les performances et la fiabilité pour les API servant vos applications intelligentes. Ces fonctionnalités sont collectivement appelées Fonctionnalités de la passerelle (GenAI) d’IA générative pour vos API d’IA générative.

Remarque

  • Cet article se concentre sur les fonctionnalités pour gérer les API exposées par Azure OpenAI Service. Plusieurs des fonctionnalités de la passerelle GenAI s’appliquent aux API de grand modèle de langage (LLM), notamment celles disponibles via l’API Inférence de modèle Azure AI.
  • Les fonctionnalités de la passerelle d’IA générative sont des fonctionnalités de la passerelle API existante de Gestion des API, et non d’une passerelle API distincte. Pour découvrir plus d’informations sur Gestion des API, consultez Vue d’ensemble de la Gestion des API Azure .

Défis liés à la gestion des API d’IA générative

Les jetons constituent l’une des principales ressources dont vous disposez dans les services d’IA générative. Azure OpenAI Service attribue un quota pour vos modèles de déploiements, exprimé en jetons par minute (TPM), qui est ensuite distribué dans vos consommateurs modèles, par exemple, diverses applications, équipes de développeurs, divers services au sein de la société, etc.

Azure facilite la connexion d’une seule application à Azure OpenAI Service : vous pouvez vous connecter directement en utilisant une clé API avec une limite de TPM configurée directement sur le niveau du modèle de déploiement. Toutefois, lorsque vous commencez à développer votre portefeuille d’applications, il vous est présenté plusieurs applications appelant un, voire plusieurs points de terminaison Azure OpenAI Service déployés en tant qu’instances de paiement à l’utilisation ou Unités de débit approvisionnées (PTU). Il en découle certaines problématiques :

  • De quelle manière l’utilisation des jetons est-elle suivie sur plusieurs applications ? Les charges croisées peuvent-elles être calculées pour plusieurs applications/équipes qui utilisent des modèles Azure OpenAI Service ?
  • Comment veiller à ce qu’une seule application ne consomme pas la totalité du quota de TPM, laissant les autres applications sans aucune option pour utiliser des modèles Azure OpenAI Service ?
  • Comment la clé API est-elle distribuée en toute sécurité sur plusieurs applications ?
  • Comment la charge est-elle distribuée sur plusieurs points de terminaison Azure OpenAI ? Pouvez-vous veiller à ce que la capacité validée en PTU soit épuisée avant de retourner aux instances avec paiement à l’utilisation ?

Le reste de cet article décrit comment Gestion des API Azure peut vous aider à résoudre ces problèmes.

Importer une ressource Azure OpenAI Service en tant qu’API

Importer une SPI à partir d’un point de terminaison Azure OpenAI Service pour Gestion des API Azure en utilisant une expérience en un seul clic. Gestion des API simplifie le processus d’intégration en important automatiquement le schéma OpenAI pour l’API Azure OpenAI et définit une authentification pour le point de terminaison Azure OpenAI en utilisant une identité managée, ce qui supprime le besoin de configuration manuelle. Avec la même expérience conviviale, vous pouvez préconfigurer des stratégies pour les limites de jetons et l’émission de métriques de jetons.

Capture d’écran de la vignette d’API Azure OpenAI dans le portail.

Stratégie de limite de jetons

Configurez la stratégie de limite de jetons Azure OpenAI pour gérer et appliquer des limites par client d’API en fonction de l’utilisation de jetons Azure OpenAI Service. Avec cette stratégie, vous pouvez définir des limites exprimées en jetons par minute (TPM).

Diagramme d’une limite de jetons Azure OpenAI Service dans Gestion des API.

Cette stratégie offre une certaine flexibilité pour attribuer des limites basées sur les jetons sur n’importe quelle clé de compteur, comme une clé d’abonnement, une adresse IP d’origine ou une clé arbitraire définie via une expression de stratégie. La stratégie permet également un calcul préalable des jetons d’invite du côté de Gestion des API Azure, ce qui réduit les requêtes inutiles adressées au back-end Azure OpenAI Service si l’invite dépasse déjà la limite.

L’exemple de base suivant montre comment définir une limite de 500 TPM par clé d’abonnement :

<azure-openai-token-limit counter-key="@(context.Subscription.Id)" 
    tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</azure-openai-token-limit>

Conseil

Pour gérer et appliquer les limites de jetons pour les API de grand modèle de langage disponibles via l’API Inférence de modèle Azure AI, Gestion des API fournit la stratégie llm-token-limit équivalente.

Émission d’une stratégie pour les métriques de jetons

La stratégie d’émission de métriques de jetons Azure OpenAI envoie des métriques à Application Insights sur la consommation de jetons d’un grand modèle de langage via les API Azure OpenAI Service. La stratégie fournit une vue d’ensemble de l’utilisation des modèles Azure OpenAI Service dans plusieurs applications ou clients d’API. Cette stratégie peut être utile pour les scénarios de rétrofacturation, le monitoring et la planification de capacité.

Diagramme de l’émission de métriques de jetons Azure OpenAI Service en utilisant Gestion des API.

Cette stratégie capture les invites, saisies semi-automatiques et les métriques d’utilisation totale de jetons, puis les envoie à un espace de noms Application Insights de votre choix. De plus, vous pouvez configurer ou effectuer une sélection à partir de dimensions personnalisées pour fractionner les métriques d’utilisation de jetons afin que vous puissiez analyser des métriques par ID d’abonnement, adresse IP ou une dimension personnalisée de votre choix.

Par exemple, la stratégie suivante envoie des métriques à Application Insights fractionnées par adresse IP du client, API et utilisateur :

<azure-openai-emit-token-metric namespace="openai">
    <dimension name="Client IP" value="@(context.Request.IpAddress)" />
    <dimension name="API ID" value="@(context.Api.Id)" />
    <dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</azure-openai-emit-token-metric>

Conseil

Pour envoyer des métriques pour les API de grand modèle de langage disponibles via l’API Inférence de modèle Azure AI, Gestion des API fournit la stratégie llm-emit-token-metric équivalente.

Équilibreur de charge de back-end et disjoncteur

L’une des problématiques lors de la génération d’applications intelligentes est de veiller à ce qu’elles soient résilientes aux défaillances du back-end et puissent gérer des charges élevées. Si vous configurez vos points de terminaison Azure OpenAI Service en utilisant des back-ends dans Gestion des API Azure, vous pouvez équilibrer la charge entre eux. Vous pouvez également définir des règles de disjoncteur pour arrêter le transfert de requêtes vers des back-ends Azure OpenAI Service, s’ils ne répondent pas.

L’équilibrage de charge de back-end prend en charge l’équilibrage de charge de tourniquet, pondéré et basé sur la priorité, ce qui vous donne la souplesse de définir une stratégie de distribution de charge qui répond à vos exigences spécifiques. Par exemple, définissez des priorités dans la configuration de l’équilibreur de charge pour veiller à une utilisation optimale de points de terminaison Azure OpenAI spécifiques, en particulier ceux achetés en tant que PTU.

Diagramme de l’utilisation d’un équilibrage de charge de back-end dans Gestion des API.

Le disjoncteur de back-end présente une durée de trajet dynamique et applique des valeurs à partir de l’en-tête Retry-After fourni par le back-end. Il veille à une récupération précise et opportune des back-ends et maximise ainsi l’utilisateur de votre back-ends prioritaires.

Diagramme de l’utilisation d’un disjoncteur de back-end dans Gestion des API.

Stratégie de mise en cache sémantique

Configurez des stratégies de mise en cache sémantique Azure OpenAI pour optimiser l’utilisation de jetons en stockant des saisies semi-automatiques pour des prompts similaires.

Diagramme de la mise en cache sémantique dans Gestion des API.

Dans Gestion des API, activez la mise en cache sémantique en tirant parti d’Azure Redis Enterprise ou un autre cache externe compatible avec RediSearch et intégré à Gestion des API Azure. L’utilisation de l’API Incorporations Azure OpenAI Service permet aux stratégies azure-openai-semantic-cache-store et azure-openai-semantic-cache-lookup de stocker et de récupérer des saisies semi-automatiques de prompt similaires à partir du cache. Cette approche veille à une réutilisation des saisies semi-automatiques et a donc pour effet de réduire la consommation de jetons et d’améliorer les performances des réponses.

Conseil

Pour activer la mise en cache sémantique pour les API de grand modèle de langage via l’API Inférence de modèle Azure AI, Gestion des API fournit les stratégies llm-semantic-cache-store-policy et llm-semantic-cache-lookup-policy équivalentes.

Labos et exemples

Considérations relatives à l'architecture et à la conception