Affichage actuel :
Version du portail - Passer à la version du nouveau portail Foundry
Microsoft Foundry Models vous permet d’accéder aux modèles les plus puissants des principaux fournisseurs de modèles via un seul point de terminaison et un ensemble d’informations d’identification. Cette fonctionnalité vous permet de basculer entre les modèles et de les utiliser dans votre application sans modifier de code.
Cet article explique comment les services Foundry organisent les modèles et comment utiliser le point de terminaison d’inférence pour y accéder.
Important
Azure SDK bêta d’inférence d’IA est déconseillé et sera mis hors service le 26 août 2026. Basculez vers l’API OpenAI/v1 généralement disponible avec un SDK OpenAI stable. Suivez le guide de migration pour passer à OpenAI/v1 à l’aide du Kit de développement logiciel (SDK) pour votre langage de programmation préféré.
Déploiements
Foundry utilise des déploiements pour rendre les modèles disponibles.
Les déploiements donnent un nom à un modèle et définissent des configurations spécifiques. Vous pouvez accéder à un modèle à l’aide de son nom de déploiement dans vos demandes.
Un déploiement inclut :
- Nom d’un modèle
- Version d’un modèle
- Un provisionnement ou un type de capacité1
- Configuration du filtrage de contenu1
- Configuration de limitation de débit1
1 Ces configurations peuvent changer en fonction du modèle sélectionné.
Une ressource Foundry peut avoir de nombreux déploiements de modèles. Vous payez uniquement pour l’inférence effectuée sur les déploiements de modèles. Les déploiements sont des ressources Azure, donc soumis à des stratégies Azure.
Pour plus d’informations sur la création de déploiements, consultez Ajouter et configurer des déploiements de modèles.
Points de terminaison
Les services Foundry fournissent plusieurs points de terminaison en fonction du type de travail que vous souhaitez effectuer :
Azure point de terminaison d’inférence IA
Note
Les exemples Azure SDK d’inférence IA de cette section restent entièrement fonctionnels. Toutefois, pour les nouveaux projets, nous vous recommandons d’utiliser le point de terminaison Azure OpenAI avec le Kit de développement logiciel (SDK) OpenAI. Pour obtenir des conseils sur la migration, consultez Migrer de SDK d’inférence Azure AI au SDK OpenAI.
Le point de terminaison d’inférence Azure AI, généralement de la forme https://<resource-name>.services.ai.azure.com/models, vous permet d’utiliser un seul point de terminaison avec la même authentification et le même schéma pour effectuer l’inférence pour les modèles déployés dans la ressource. Tous les modèles Foundry prennent en charge cette fonctionnalité. Ce point de terminaison suit l’API d’inférence Azure AI Model Inference, qui prend en charge les modalités suivantes :
- Incorporations de texte
- Incorporations d’images
- Finalisation de la conversation
Routage
Le point de terminaison d’inférence achemine les demandes vers un déploiement spécifique en faisant correspondre le paramètre name de la demande au nom du déploiement. Cette configuration signifie que les déploiements fonctionnent en tant qu’alias pour un modèle sous certaines configurations. Cette flexibilité vous permet de déployer un modèle plusieurs fois dans le service, mais avec différentes configurations si nécessaire.
Par exemple, si vous créez un déploiement nommé Mistral-large, vous pouvez appeler ce déploiement comme suit :
Installez le package à l’aide de votre gestionnaire de package azure-ai-inference , par exemple pip :
pip install azure-ai-inference
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
client = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
)
Explorez notre samples et lisez la documentation de référence API pour commencer.
Installez le package @azure-rest/ai-inference à l’aide de npm :
npm install @azure-rest/ai-inference
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
import ModelClient from "@azure-rest/ai-inference";
import { isUnexpected } from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";
const client = new ModelClient(
"https://<resource>.services.ai.azure.com/models",
new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL)
);
Explorez notre samples et lisez la documentation de référence API pour commencer.
Installez la bibliothèque d’inférence IA Azure avec la commande suivante :
dotnet add package Azure.AI.Inference --prerelease
Importez les espaces de noms suivants :
using Azure;
using Azure.Identity;
using Azure.AI.Inference;
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
ChatCompletionsClient client = new ChatCompletionsClient(
new Uri("https://<resource>.services.ai.azure.com/models"),
new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);
Explorez nos exemples et lisez la documentation de référence de l’API pour commencer.
Ajoutez le package à votre projet :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-inference</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
ChatCompletionsClient client = new ChatCompletionsClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("https://<resource>.services.ai.azure.com/models")
.buildClient();
Explorez notre samples et lisez la documentation de référence API pour commencer.
Utilisez la section de référence pour explorer la conception de l’API et les paramètres disponibles. Par exemple, la section de référence pour les complétions de conversation explique comment utiliser la route /chat/completions pour générer des prédictions basées sur des instructions sous forme de conversation. Notez que le chemin d’accès /models est inclus à la racine de l’URL :
Demande
POST https://<resource>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview
api-key: <api-key>
Content-Type: application/json
Pour un modèle de conversation, vous pouvez créer une demande comme suit :
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
var messages = [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "Explain Riemann's conjecture in 1 paragraph" },
];
var response = await client.path("/chat/completions").post({
body: {
messages: messages,
model: "mistral-large"
}
});
console.log(response.body.choices[0].message.content)
requestOptions = new ChatCompletionsOptions()
{
Messages = {
new ChatRequestSystemMessage("You are a helpful assistant."),
new ChatRequestUserMessage("Explain Riemann's conjecture in 1 paragraph")
},
Model = "mistral-large"
};
response = client.Complete(requestOptions);
Console.WriteLine($"Response: {response.Value.Content}");
List<ChatRequestMessage> chatMessages = new ArrayList<>();
chatMessages.add(new ChatRequestSystemMessage("You are a helpful assistant"));
chatMessages.add(new ChatRequestUserMessage("Explain Riemann's conjecture in 1 paragraph"));
ChatCompletions chatCompletions = client.complete(new ChatCompletionsOptions(chatMessages));
for (ChatChoice choice : chatCompletions.getChoices()) {
ChatResponseMessage message = choice.getMessage();
System.out.println("Response:" + message.getContent());
}
Demande
POST https://<resource>.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview
api-key: <api-key>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"model": "mistral-large"
}
Si vous spécifiez un nom de modèle qui ne correspond à aucun déploiement de modèle, vous obtenez une erreur indiquant que le modèle n’existe pas. Vous contrôlez les modèles disponibles pour les utilisateurs en créant des déploiements de modèles. Pour plus d’informations, consultez ajouter et configurer des déploiements de modèles.
Azure point de terminaison d’inférence OpenAI
Le Azure API OpenAI expose les fonctionnalités complètes des modèles OpenAI et prend en charge d’autres fonctionnalités telles que les assistants, les threads, les fichiers et l’inférence par lots. Vous pouvez également accéder à des modèles non OpenAI via cet itinéraire.
Azure OpenAI points de terminaison, généralement de la forme https://<resource-name>.openai.azure.com, fonctionnent au niveau du déploiement et chaque déploiement a sa propre URL associée. Toutefois, vous pouvez utiliser le même mécanisme d’authentification pour accéder aux déploiements. Pour plus d’informations, consultez la page de référence de Azure API OpenAI.
Chaque déploiement a une URL formée en concaténant l'URL de base Azure OpenAI et l'itinéraire /deployments/<model-deployment-name>.
Installez le package à l’aide de votre gestionnaire de package openai , par exemple pip :
pip install openai --upgrade
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = "https://<resource>.services.ai.azure.com"
api_key=os.getenv("AZURE_INFERENCE_CREDENTIAL"),
api_version="2024-10-21",
)
Installez le package openai à l’aide de npm :
npm install openai
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
import { AzureKeyCredential } from "@azure/openai";
const endpoint = "https://<resource>.services.ai.azure.com";
const apiKey = new AzureKeyCredential(process.env.AZURE_INFERENCE_CREDENTIAL);
const apiVersion = "2024-10-21"
const client = new AzureOpenAI({
endpoint,
apiKey,
apiVersion,
"deepseek-v3-0324"
});
Ici, deepseek-v3-0324 est le nom d’un déploiement de modèle dans la ressource Microsoft Foundry.
Installez la bibliothèque OpenAI avec la commande suivante :
dotnet add package Azure.AI.OpenAI --prerelease
Vous pouvez utiliser le package pour exploiter le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
AzureOpenAIClient client = new(
new Uri("https://<resource>.services.ai.azure.com"),
new ApiKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL"))
);
Ajoutez le package à votre projet :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.16</version>
</dependency>
Ensuite, vous pouvez utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat :
OpenAIClient client = new OpenAIClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("https://<resource>.services.ai.azure.com")
.buildClient();
Utilisez la section de référence pour explorer la conception de l’API et les paramètres disponibles. Par exemple, la section de référence pour les complétions de chat explique comment utiliser l’itinéraire /chat/completions pour générer des prédictions basées sur des instructions formatées pour la conversation :
Demande
POST https://<resource>.services.ai.azure.com/openai/deployments/deepseek-v3-0324/chat/completions?api-version=2024-10-21
api-key: <api-key>
Content-Type: application/json
deepseek-v3-0324 Voici le nom d’un déploiement de modèle dans la ressource Foundry.
response = client.chat.completions.create(
model="deepseek-v3-0324", # Replace with your model deployment name.
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain Riemann's conjecture in 1 paragraph"}
]
)
print(response.model_dump_json(indent=2)
var messages = [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "Explain Riemann's conjecture in 1 paragraph" },
];
const response = await client.chat.completions.create({ messages, model: "deepseek-v3-0324" });
console.log(response.choices[0].message.content)
ChatCompletion response = chatClient.CompleteChat(
[
new SystemChatMessage("You are a helpful assistant."),
new UserChatMessage("Explain Riemann's conjecture in 1 paragraph"),
]);
Console.WriteLine($"{response.Role}: {response.Content[0].Text}");
List<ChatRequestMessage> chatMessages = new ArrayList<>();
chatMessages.add(new ChatRequestSystemMessage("You are a helpful assistant"));
chatMessages.add(new ChatRequestUserMessage("Explain Riemann's conjecture in 1 paragraph"));
ChatCompletions chatCompletions = client.getChatCompletions("deepseek-v3-0324",
new ChatCompletionsOptions(chatMessages));
System.out.printf("Model ID=%s is created at %s.%n", chatCompletions.getId(), chatCompletions.getCreatedAt());
for (ChatChoice choice : chatCompletions.getChoices()) {
ChatResponseMessage message = choice.getMessage();
System.out.printf("Index: %d, Chat Role: %s.%n", choice.getIndex(), message.getRole());
System.out.println("Message:");
System.out.println(message.getContent());
}
Ici, deepseek-v3-0324 est le nom d’un déploiement de modèle dans la ressource Microsoft Foundry.
Demande
POST https://<resource>.services.ai.azure.com/openai/deployments/deepseek-v3-0324/chat/completions?api-version=2024-10-21
api-key: <api-key>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
]
}
deepseek-v3-0324 Voici le nom d’un déploiement de modèle dans la ressource Foundry.
Pour plus d’informations sur l’utilisation du point de terminaison Azure OpenAI, consultez la documentation Azure OpenAI dans les modèles Foundry.
Authentification sans clé
Les modèles déployés sur les modèles Foundry dans Foundry Tools prennent en charge l’autorisation sans clé à l’aide de Microsoft Entra ID. L’autorisation sans clé améliore la sécurité, simplifie l’expérience utilisateur, réduit la complexité opérationnelle et fournit une prise en charge robuste de la conformité pour le développement moderne. Il rend l’autorisation sans clé un choix fort pour les organisations qui adoptent des solutions de gestion des identités sécurisées et évolutives.
Pour utiliser l’authentification sans clé, configurez votre ressource et accordez l’accès aux utilisateurs pour effectuer l’inférence. Après avoir configuré la ressource et accordé l’accès, authentifiez-vous comme suit :
Installez le Kit de développement logiciel (SDK) OpenAI à l’aide d’un gestionnaire de package tel que pip :
pip install openai
Pour l’authentification Microsoft Entra ID, installez également :
pip install azure-identity
Utilisez le package logiciel pour exploiter le modèle. L’exemple suivant montre comment créer un client pour consommer des achèvements de chat avec Microsoft Entra ID et effectuer un appel de test au point de terminaison de complétion de chat avec votre déploiement de modèle.
Remplacez par <resource> le nom de votre ressource Foundry. Recherchez-le dans le portail Azure ou en exécutant az cognitiveservices account list. Remplacez par DeepSeek-V3.1 votre nom de déploiement réel.
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://ai.azure.com/.default"
)
client = OpenAI(
base_url="https://<resource>.openai.azure.com/openai/v1/",
api_key=token_provider,
)
completion = client.chat.completions.create(
model="DeepSeek-V3.1", # Required: your deployment name
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is Azure AI?"}
]
)
print(completion.choices[0].message.content)
Sortie attendue
Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.
Référence : OpenAI Python SDK et DefaultAzureCredential class.
Installez le Kit de développement logiciel (SDK) OpenAI :
dotnet add package OpenAI
Pour l’authentification Microsoft Entra ID, installez également le package Azure.Identity :
dotnet add package Azure.Identity
Importez les espaces de noms suivants :
using Azure.Identity;
using OpenAI;
using OpenAI.Chat;
using System.ClientModel.Primitives;
Ensuite, utilisez le package pour exploiter le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat avec Microsoft Entra ID, puis effectuer un appel de test au point de terminaison des complétions de chat avec votre déploiement de modèle.
Remplacez <resource> par le nom de votre ressource Foundry (recherchez-la dans le portail Azure). Remplacez par gpt-4o-mini votre nom de déploiement réel.
#pragma warning disable OPENAI001
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://ai.azure.com/.default"
);
ChatClient client = new(
model: "gpt-4o-mini", // Your deployment name
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions() {
Endpoint = new Uri("https://<resource>.openai.azure.com/openai/v1/")
}
);
ChatCompletion completion = client.CompleteChat(
new SystemChatMessage("You are a helpful assistant."),
new UserChatMessage("What is Azure AI?")
);
Console.WriteLine(completion.Content[0].Text);
Sortie attendue :
Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.
Référence : OpenAI .NET SDK et DefaultAzureCredential class.
Installez le Kit de développement logiciel (SDK) OpenAI avec npm :
npm install openai
Pour l’authentification Microsoft Entra ID, installez également :
npm install @azure/identity
Ensuite, utilisez le package pour exploiter le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat avec Microsoft Entra ID, puis effectuer un appel de test au point de terminaison des complétions de chat avec votre déploiement de modèle.
Remplacez <resource> par le nom de votre ressource Foundry (recherchez-la dans le portail Azure ou en exécutant az cognitiveservices account list). Remplacez par DeepSeek-V3.1 votre nom de déploiement réel.
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://ai.azure.com/.default'
);
const client = new OpenAI({
baseURL: "https://<resource>.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
const completion = await client.chat.completions.create({
model: "DeepSeek-V3.1", // Required: your deployment name
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "What is Azure AI?" }
]
});
console.log(completion.choices[0].message.content);
Sortie attendue :
Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.
Référence : Kit de développement logiciel (SDK) OpenAI Node.js et classe DefaultAzureCredential.
Ajoutez le Kit de développement logiciel (SDK) OpenAI à votre projet. Consultez le référentiel OpenAI Java GitHub pour obtenir les dernières instructions d’installation et de version.
Pour l’authentification Microsoft Entra ID, ajoutez également :
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.0</version>
</dependency>
Ensuite, utilisez le package pour exploiter le modèle. L’exemple suivant montre comment créer un client pour consommer des complétions de chat avec Microsoft Entra ID, puis effectuer un appel de test au point de terminaison des complétions de chat avec votre déploiement de modèle.
Remplacez <resource> par le nom de votre ressource Foundry (recherchez-la dans le portail Azure). Remplacez par DeepSeek-V3.1 votre nom de déploiement réel.
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.models.chat.completions.*;
DefaultAzureCredential tokenCredential = new DefaultAzureCredentialBuilder().build();
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://<resource>.openai.azure.com/openai/v1/")
.credential(BearerTokenCredential.create(
AuthenticationUtil.getBearerTokenSupplier(
tokenCredential,
"https://ai.azure.com/.default"
)
))
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addSystemMessage("You are a helpful assistant.")
.addUserMessage("What is Azure AI?")
.model("DeepSeek-V3.1") // Required: your deployment name
.build();
ChatCompletion completion = client.chat().completions().create(params);
System.out.println(completion.choices().get(0).message().content());
Sortie attendue :
Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.
Référence : OpenAI Java SDK et la classe DefaultAzureCredential.
Explorez la conception de l’API dans la section référence pour voir quels paramètres sont disponibles. Indiquez le jeton d’authentification dans l’en-tête Authorization. Par exemple, la section de référence Chat completion explique comment utiliser la /chat/completions route pour générer des prédictions basées sur des instructions au format conversation. Le chemin d’accès /models est inclus à la racine de l’URL :
Demande
Remplacez <resource> par le nom de votre ressource Foundry (recherchez-la dans le portail Azure ou en exécutant az cognitiveservices account list). Remplacez par MAI-DS-R1 votre nom de déploiement réel.
La base_url acceptera à la fois les formats https://<resource>.openai.azure.com/openai/v1/ et https://<resource>.services.ai.azure.com/openai/v1/.
curl -X POST https://<resource>.openai.azure.com/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "MAI-DS-R1",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain what the bitter lesson is?"
}
]
}'
Réponse
Si l’authentification réussit, vous recevez une 200 OK réponse avec les résultats de la complétion de la conversation dans le corps de la réponse.
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1738368234,
"model": "MAI-DS-R1",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The bitter lesson refers to a key insight in AI research that emphasizes the importance of general-purpose learning methods that leverage computation, rather than human-designed domain-specific approaches. It suggests that methods which scale with increased computation tend to be more effective in the long run."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 52,
"total_tokens": 80
}
}
Les jetons doivent être émis avec le périmètre https://ai.azure.com/.default.
À des fins de test, le moyen le plus simple d’obtenir un jeton valide pour votre compte d’utilisateur consiste à utiliser le Azure CLI. Dans une console, exécutez la commande Azure CLI suivante :
az account get-access-token --resource https://cognitiveservices.azure.com --query "accessToken" --output tsv
Cette commande génère un jeton d’accès que vous pouvez stocker dans la variable d’environnement $AZURE_OPENAI_AUTH_TOKEN .
Référence : API de complétion de chat
Limitations
- Vous ne pouvez pas utiliser Azure OpenAI Batch avec le point de terminaison Foundry Models. Vous devez utiliser l’URL de déploiement dédiée, comme expliqué dans la prise en charge de l'API Batch dans la documentation Azure OpenAI.
- L’API en temps réel n’est pas prise en charge dans le point de terminaison d’inférence. Utilisez l’URL de déploiement dédiée.
Contenu connexe