Azure AI Foundry
Azure AI Foundry fournit un accès à des modèles sans serveur et déployés, tant pour OpenAI que pour d’autres fournisseurs. Plusieurs moyens d’accéder à ces serveurs sont pris en charge dans GenAIScript :
- sans aucun déploiement, en utilisant le fournisseur Azure AI Model Inference,
- avec déploiement pour les modèles OpenAI, en utilisant le fournisseur Azure AI OpenAI Serverless,
- avec des déploiements pour les modèles non-OpenAI, utilisez le fournisseur Azure AI Serverless Models.
Vous pouvez déployer des modèles “sans serveur” via Azure AI Foundry et payer à l’usage par jeton. Vous pouvez parcourir le catalogue des modèles Azure AI Foundry et utiliser le filtre Serverless API pour voir les modèles disponibles.
Il existe deux types de déploiements sans serveur qui nécessitent des configurations différentes : les modèles OpenAI et tous les autres modèles.
Les modèles OpenAI, comme gpt-4o
, sont déployés sur des points de terminaison .openai.azure.com
,
tandis que les modèles Azure AI, comme Meta-Llama-3.1-405B-Instruct
, sont déployés sur des points de terminaison .models.ai.azure.com
.
Ils sont configurés de manière légèrement différente.
Azure AI Inference
Section intitulée « Azure AI Inference »L’API Azure AI Model Inference fournit un point de terminaison unique pour accéder à plusieurs LLM. C’est une excellente façon d’expérimenter car il n’est pas nécessaire de créer des déploiements pour accéder aux modèles. Elle prend en charge l’authentification Entra ID et par clé.
script({ model: "azure_ai_inference:gpt-4o" });
Identité gérée (Entra ID)
Section intitulée « Identité gérée (Entra ID) »Suivez attentivement ces étapes pour configurer les rôles nécessaires pour votre utilisateur.
Ouvrez https://ai.azure.com/ et ouvrez votre projet
Configurez l’URL cible du point de terminaison en tant que
AZURE_AI_INFERENCE_API_ENDPOINT
..env AZURE_AI_INFERENCE_API_ENDPOINT=https://<resource-name>.services.ai.azure.com/modelsTrouvez le nom du modèle dans le catalogue avec le filtre Options de déploiement = Serverless API et utilisez-le dans votre script,
model: "azure_id_inference:model-id"
.script({ model: "azure_ai_inference:model-id" });
Ouvrez https://ai.azure.com/, ouvrez votre projet et allez à la page Présentation.
Configurez l’URL cible du point de terminaison en tant que variable
AZURE_AI_INFERENCE_API_ENDPOINT
et la clé dansAZURE_AI_INFERENCE_API_KEY
dans le fichier.env
**.**.env AZURE_AI_INFERENCE_API_ENDPOINT=https://<resourcename>.services.ai.azure.com/modelsAZURE_AI_INFERENCE_API_KEY=...Trouvez le nom du modèle dans le catalogue avec le filtre Options de déploiement = Serverless API et utilisez-le dans votre script,
model: "azure_id_inference:model-id"
.script({ model: "azure_ai_inference:model-id" });
Version de l’API
Section intitulée « Version de l’API »La version API par défaut pour Azure AI Inference est 2025-03-01-preview.
Vous pouvez la modifier en définissant la variable d’environnement AZURE_AI_INFERENCE_API_VERSION
(voir la documentation Azure AI)
AZURE_AI_INFERENCE_API_VERSION=2025-01-01-preview
Aliases
The following model aliases are attempted by default in GenAIScript.
Alias | Model identifier |
---|---|
large | gpt-4o |
small | gpt-4o-mini |
vision | gpt-4o |
vision_small | gpt-4o-mini |
reasoning | o1 |
reasoning_small | o1-mini |
embeddings | text-embedding-3-small |
Limitations
- listModels
- logprobs (and top logprobs) ignored
- Ignore prediction of output tokens
- topLogprobs
Azure AI OpenAI Serverless
Section intitulée « Azure AI OpenAI Serverless »Le fournisseur azure_serverless
prend en charge les modèles OpenAI déployés via les déploiements sans serveur Azure AI Foundry.
Il supporte l’authentification Entra ID ainsi que par clé.
script({ model: "azure_serverless:deployment-id" });
Identité gérée (Entra ID)
Section intitulée « Identité gérée (Entra ID) »Ouvrez https://ai.azure.com/, ouvrez votre projet et allez à la page Déploiements.
Déployez un modèle de base depuis le catalogue. Vous pouvez utiliser l’option
Options de déploiement
->Serverless API
pour déployer un modèle en tant qu’API sans serveur.Déployez un modèle de base OpenAI. Cela créera également une nouvelle ressource Azure OpenAI dans votre abonnement (qui peut être invisible pour vous, plus d’informations plus tard).
Mettez à jour le fichier
.env
avec le point de terminaison du déploiement dans la variableAZURE_SERVERLESS_OPENAI_API_ENDPOINT
..env AZURE_SERVERLESS_OPENAI_API_ENDPOINT=https://....openai.azure.comRetournez à l’onglet Présentation dans votre projet Azure AI Foundry et cliquez sur Ouvrir dans le centre de gestion.
Cliquez sur la ressource Azure OpenAI Service, puis cliquez sur le lien externe Ressource qui vous ramènera vers le service Azure OpenAI (sous-jacent) dans le portail Azure.
Naviguez vers Contrôle d’accès (IAM), puis Afficher mon accès. Assurez-vous que votre utilisateur ou principal de service dispose du rôle Cognitive Services OpenAI User/Contributor. Si vous obtenez une erreur
401
, cliquez sur Ajouter, Ajouter une attribution de rôle et ajoutez le rôle Cognitive Services OpenAI User à votre utilisateur.
À ce stade, vous êtes prêt à vous connecter avec Azure CLI et à utiliser l’identité managée.
Installez l’Azure CLI.
Ouvrez un terminal et connectez-vous
Fenêtre de terminal az login
Ouvrez votre ressource Azure OpenAI et naviguez vers Gestion des ressources, puis Clés et point de terminaison.
Mettez à jour le fichier
.env
avec le point de terminaison et la clé secrète (Clé 1 ou Clé 2) ainsi que le point de terminaison..env AZURE_SERVERLESS_OPENAI_API_ENDPOINT=https://....openai.azure.comAZURE_SERVERLESS_OPENAI_API_KEY=...
Aliases
The following model aliases are attempted by default in GenAIScript.
Alias | Model identifier |
---|---|
large | gpt-4o |
small | gpt-4o-mini |
vision | gpt-4o |
vision_small | gpt-4o-mini |
reasoning | o1 |
reasoning_small | o1-mini |
embeddings | text-embedding-3-small |
Limitations
- listModels
- Ignore prediction of output tokens
Azure AI Serverless Models
Section intitulée « Azure AI Serverless Models »Le fournisseur azure_serverless_models
prend en charge les modèles non-OpenAI, tels que DeepSeek R1/v3, déployés via les déploiements sans serveur Azure AI Foundry.
script({ model: "azure_serverless_models:deployment-id" });
Identité gérée (Entra ID)
Section intitulée « Identité gérée (Entra ID) »Ouvrez votre ressource Projet Azure AI dans le portail Azure
Naviguez vers Contrôle d’accès (IAM), puis Voir mes accès. Assurez-vous que votre utilisateur ou principal de service dispose du rôle Développeur Azure AI. Si vous recevez une erreur
401
, cliquez sur Ajouter, Ajouter une attribution de rôle et ajoutez le rôle Développeur Azure AI à votre utilisateur.Configurez l’URL cible du point de terminaison en tant que
AZURE_SERVERLESS_MODELS_API_ENDPOINT
..env AZURE_SERVERLESS_MODELS_API_ENDPOINT=https://...models.ai.azure.comNaviguez vers déploiements et assurez-vous que votre LLM est déployé, puis copiez le nom des informations de déploiement, vous en aurez besoin dans le script.
Mettez à jour le champ
model
dans la fonctionscript
pour correspondre au nom du modèle déployé dans votre ressource Azure.script({model: "azure_serverless:deployment-info-name",...})
Ouvrez https://ai.azure.com/ et ouvrez la page Déploiements.
Déployez un modèle de base depuis le catalogue. Vous pouvez utiliser l’option
Options de déploiement
->Serverless API
pour déployer un modèle en tant qu’API sans serveur.Configurez l’URL cible du point de terminaison en tant que variable
AZURE_SERVERLESS_MODELS_API_ENDPOINT
et la clé dansAZURE_SERVERLESS_MODELS_API_KEY
dans le fichier.env
**.**.env AZURE_SERVERLESS_MODELS_API_ENDPOINT=https://...models.ai.azure.comAZURE_SERVERLESS_MODELS_API_KEY=...Trouvez le nom du déploiement et utilisez-le dans votre script,
model: "azure_serverless_models:deployment-id"
.
Prise en charge de plusieurs déploiements d’inférence
Section intitulée « Prise en charge de plusieurs déploiements d’inférence »Vous pouvez mettre à jour la variable AZURE_SERVERLESS_MODELS_API_KEY
avec une liste de paires deploymentid=key
pour prendre en charge plusieurs déploiements (chaque déploiement ayant une clé différente).
AZURE_SERVERLESS_MODELS_API_KEY="model1=key1model2=key2model3=key3"
Limitations
- listModels
- Ignore prediction of output tokens