Microsoft Foundry Models biedt toegang tot een groot aantal modellen van veel providers via één eindpunt en een set referenties. Met deze mogelijkheid kunt u schakelen tussen modellen en deze gebruiken in uw toepassing zonder codewijzigingen aan te brengen.
In dit artikel wordt uitgelegd hoe de Foundry-services modellen organiseren en hoe u het deductie-eindpunt kunt gebruiken om ze te openen.
Prerequisites
Inzettingen
Foundry maakt gebruik van implementaties als aliassen voor modeltoegang. Een implementatie geeft een model een naam en een set configuraties. U opent een model met behulp van de implementatienaam in uw aanvragen.
Een implementatie definieert:
- Een modelnaam
- Een modelversie
- Een voorziening of capaciteitstype1
- Een configuratie voorinhoudsfilters 1
- Een snelheidsbeperkingsconfiguratie1
1 Deze configuraties kunnen veranderen, afhankelijk van het geselecteerde model.
Een Foundry-resource kan veel modelimplementaties hebben. U betaalt alleen voor inference die wordt uitgevoerd op modelimplementaties. Implementaties zijn Azure resources, zodat ze onderhevig zijn aan Azure beleid.
Zie Modelimplementaties toevoegen en configureren voor meer informatie over het maken van implementaties.
Azure OpenAI-deductie-eindpunt
De Azure OpenAI-API biedt de volledige mogelijkheden van OpenAI-modellen en biedt ondersteuning voor meer functies zoals assistenten, threads, bestanden en batchdeductie. U kunt het ook gebruiken voor toegang tot niet-OpenAI-modellen.
Azure OpenAI-eindpunten zijn opgemaakt als https://<resource-name>.openai.azure.com. Eindpunten worden toegewezen aan implementaties en elke implementatie heeft een eigen bijbehorende URL. U kunt echter hetzelfde verificatiemechanisme gebruiken om meer dan één implementatie te gebruiken. Zie de referentiepagina voor Azure OpenAI-API voor meer informatie.
Implementatie-URL's worden gevormd door het samenvoegen van de Azure OpenAI-basis-URL en de route/deployments/<model-deployment-name>. Wanneer u de OpenAI v1-API gebruikt, roept u de /openai/v1/ route aan op de basis-URL https://<resource-name>.openai.azure.com/openai/v1/en geeft u de implementatienaam door in het model veld van uw aanvraag. De /openai/v1/-route gebruikt impliciete versiebepaling, dus u geeft geen api-version mee.
In de volgende voorbeelden wordt de Response-API gebruikt, die de nieuwste deductiefuncties ondersteunt.
Note
De Response-API werkt met Azure OpenAI-modellen en met Foundry-modellen die worden verkocht door Azure die dit ondersteunen, zoals DeepSeek-, Llama- en Grok-modellen. Als een implementatie geen ondersteuning biedt voor de antwoorden-API, retourneert 400 Model not supportedde aanvraag. In dat geval gebruikt u de API voor chatvoltooiing door in plaats daarvan aan te roepen client.chat.completions.create .
API-sleutelverificatie gebruiken
U kunt deductieaanvragen verifiëren met een API-sleutel uit uw Foundry-resource. API-sleutels zijn snel in te stellen, maar ze verlenen volledige toegang tot de resource, zijn moeilijk te beperken tot specifieke gebruikers of acties en vereisen handmatige rotatie om veilig te blijven. Gebruik voor productieworkloads in plaats daarvan sleutelloze verificatie met Microsoft Entra ID.
In het volgende voorbeeld deepseek-v3-0324 is dit de naam van een modelimplementatie in de Microsoft Foundry-resource. Vervang deze door uw eigen implementatienaam en sla uw API-sleutel op in de AZURE_INFERENCE_CREDENTIAL omgevingsvariabele.
Installeer het openai pakket met behulp van pip:
pip install openai --upgrade
Maak een client die verwijst naar het Azure OpenAI v1-eindpunt en genereer vervolgens een antwoord. De /openai/v1/-route gebruikt impliciete versiebepaling, dus u geeft geen api-version mee. Geef uw implementatienaam door in het model veld:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://<resource>.openai.azure.com/openai/v1/",
api_key=os.environ["AZURE_INFERENCE_CREDENTIAL"],
)
response = client.responses.create(
model="deepseek-v3-0324", # Replace with your model deployment name.
input="Explain the Riemann hypothesis in one paragraph.",
)
print(response.output_text)
Installeer het openai pakket met behulp van npm:
npm install openai
Maak een client die verwijst naar het Azure OpenAI v1-eindpunt en genereer vervolgens een antwoord:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://<resource>.openai.azure.com/openai/v1/",
apiKey: process.env.AZURE_INFERENCE_CREDENTIAL,
});
const response = await client.responses.create({
model: "deepseek-v3-0324", // Replace with your model deployment name.
input: "Explain the Riemann hypothesis in one paragraph.",
});
console.log(response.output_text);
Installeer de OpenAI-bibliotheek:
dotnet add package OpenAI
Maak een client die verwijst naar het Azure OpenAI v1-eindpunt en genereer vervolgens een antwoord:
using System.ClientModel;
using OpenAI;
using OpenAI.Responses;
OpenAIClient client = new(
new ApiKeyCredential(Environment.GetEnvironmentVariable("AZURE_INFERENCE_CREDENTIAL")),
new OpenAIClientOptions
{
Endpoint = new Uri("https://<resource>.openai.azure.com/openai/v1/")
});
OpenAIResponseClient responseClient = client.GetResponsesClient("deepseek-v3-0324");
OpenAIResponse response = responseClient.CreateResponse(
"Explain the Riemann hypothesis in one paragraph.");
Console.WriteLine(response.GetOutputText());
Voeg de OpenAI Java SDK toe aan uw project. Controleer de OpenAI Java opslagplaats voor de nieuwste versie.
Maak een client die verwijst naar het Azure OpenAI v1-eindpunt en genereer vervolgens een antwoord:
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://<resource>.openai.azure.com/openai/v1/")
.apiKey(System.getenv("AZURE_INFERENCE_CREDENTIAL"))
.build();
Response response = client.responses().create(
ResponseCreateParams.builder()
.model("deepseek-v3-0324") // Replace with your model deployment name.
.input("Explain the Riemann hypothesis in one paragraph.")
.build());
// The Responses API has no single output-text accessor; concatenate the output items.
response.output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(outputText -> System.out.println(outputText.text()));
Verzend aanvragen rechtstreeks naar de v1-route. Het /openai/v1/-pad gebruikt impliciete versionering, dus voegt u geen queryparameter api-version toe. Geef uw sleutel in de Authorization header door als bearer-token:
curl -X POST https://<resource>.openai.azure.com/openai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_INFERENCE_CREDENTIAL" \
-d '{
"model": "deepseek-v3-0324",
"input": "Explain the Riemann hypothesis in one paragraph."
}'
Zie Azure OpenAI SDK-taalondersteuning voor meer informatie over het gebruik van het Azure OpenAI-eindpunt.
Sleutelloze verificatie gebruiken
Geïmplementeerde Foundry-modellen ondersteunen sleutelloze autorisatie met Microsoft Entra ID. Sleutelloze autorisatie verbetert de beveiliging, vereenvoudigt de gebruikerservaring, vermindert de operationele complexiteit en biedt robuuste nalevingsondersteuning. Gebruik sleutelloze autorisatie als uw organisatie veilige en schaalbare oplossingen voor identiteitsbeheer gebruikt.
Als u sleutelloze verificatie wilt gebruiken, configureert u uw resource en verleent u toegang tot gebruikers om inference uit te voeren. Nadat u de resource hebt geconfigureerd en toegang hebt verleend, moet u zich als volgt verifiëren:
Installeer de OpenAI SDK met behulp van een pakketbeheerder zoals pip:
pip install openai
Voor Microsoft Entra ID-verificatie moet u ook het volgende installeren:
pip install azure-identity
Gebruik het pakket om het model te gebruiken. In het volgende voorbeeld ziet u hoe u een client maakt en een testoproep uitvoert naar de Response-API met behulp van Microsoft Entra ID en uw modelimplementatie.
Vervang door <resource> de naam van de Foundry-resource. Zoek deze in de Azure-portal of door az cognitiveservices account list uit te voeren. Vervang deepseek-v3-0324 door uw werkelijke implementatienaam.
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,
)
response = client.responses.create(
model="deepseek-v3-0324", # Replace with your model deployment name.
input="What is Azure AI?",
)
print(response.output_text)
Verwachte uitvoer
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.
Naslaginformatie: OpenAI Python SDK en klasse DefaultAzureCredential.
Installeer de OpenAI SDK:
dotnet add package OpenAI
Installeer voor Microsoft Entra ID verificatie ook het pakket Azure.Identity:
dotnet add package Azure.Identity
Gebruik vervolgens het pakket om het model te gebruiken. In het volgende voorbeeld ziet u hoe u een client maakt en een testoproep uitvoert naar de Response-API met behulp van Microsoft Entra ID en uw modelimplementatie.
Vervang <resource> door de naam van de Foundry-resource (zoek deze in de Azure-portal). Vervang deepseek-v3-0324 door uw werkelijke implementatienaam.
using Azure.Identity;
using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
#pragma warning disable OPENAI001
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://ai.azure.com/.default"
);
OpenAIResponseClient client = new(
model: "deepseek-v3-0324", // Replace with your model deployment name.
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://<resource>.openai.azure.com/openai/v1/")
}
);
OpenAIResponse response = client.CreateResponse("What is Azure AI?");
Console.WriteLine(response.GetOutputText());
Verwachte uitvoer:
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.
Naslaginformatie: OpenAI .NET SDK en DefaultAzureCredential class.
Installeer de OpenAI SDK met npm:
npm install openai
Voor Microsoft Entra ID-verificatie moet u ook het volgende installeren:
npm install @azure/identity
Gebruik vervolgens het pakket om het model te gebruiken. In het volgende voorbeeld ziet u hoe u een client maakt en een testoproep uitvoert naar de Response-API met behulp van Microsoft Entra ID en uw modelimplementatie.
Vervang <resource> door de naam van de Foundry-resource (zoek deze in de Azure-portal of door az cognitiveservices account list uit te voeren). Vervang deepseek-v3-0324 door uw werkelijke implementatienaam.
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 response = await client.responses.create({
model: "deepseek-v3-0324", // Replace with your model deployment name.
input: "What is Azure AI?"
});
console.log(response.output_text);
Verwachte uitvoer:
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.
Naslaginformatie: OpenAI Node.js SDK en DefaultAzureCredential-klasse.
Voeg de OpenAI SDK toe aan uw project. Controleer de OpenAI Java GitHub opslagplaats voor de nieuwste versie en installatie-instructies.
Voor Microsoft Entra ID-verificatie voegt u ook het volgende toe:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.0</version>
</dependency>
Gebruik vervolgens het pakket om het model te gebruiken. In het volgende voorbeeld ziet u hoe u een client maakt en een testoproep uitvoert naar de Response-API met behulp van Microsoft Entra ID en uw modelimplementatie.
Vervang <resource> door de naam van de Foundry-resource (zoek deze in de Azure-portal). Vervang deepseek-v3-0324 door uw werkelijke implementatienaam.
import com.azure.identity.AuthenticationUtil;
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.credential.BearerTokenCredential;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
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();
ResponseCreateParams params = ResponseCreateParams.builder()
.model("deepseek-v3-0324") // Replace with your model deployment name.
.input("What is Azure AI?")
.build();
Response response = client.responses().create(params);
// The Responses API has no single output-text accessor; concatenate the output items.
response.output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(outputText -> System.out.println(outputText.text()));
Verwachte uitvoer:
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.
Verwijzing: OpenAI Java SDK en DefaultAzureCredential-klasse.
Verken het API-ontwerp in de referentiesectie om te zien welke parameters beschikbaar zijn. Voeg het authenticatietoken (bearer) toe aan de Authorization-headertekst.
In de sectie Antwoorden-API-naslaginformatie wordt bijvoorbeeld beschreven hoe u de /responses route gebruikt om voorspellingen te genereren. Het /openai/v1/ pad is opgenomen in de hoofdmap van de URL:
Verzoek
Vervang <resource> door de naam van de Foundry-resource (zoek deze in de Azure-portal of door az cognitiveservices account list uit te voeren). Vervang deepseek-v3-0324 door uw werkelijke implementatienaam.
De basis-URL ondersteunt zowel de indelingen https://<resource>.openai.azure.com/openai/v1/ als https://<resource>.services.ai.azure.com/openai/v1/.
curl -X POST https://<resource>.openai.azure.com/openai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "deepseek-v3-0324",
"input": "Explain what the bitter lesson is?"
}'
Reactie
Als de verificatie is geslaagd, ontvangt u een 200 OK antwoord met de antwoordresultaten in de hoofdtekst van het antwoord:
{
"id": "resp_...",
"object": "response",
"created_at": 1738368234,
"model": "deepseek-v3-0324",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "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."
}
]
}
],
"usage": {
"input_tokens": 28,
"output_tokens": 52,
"total_tokens": 80
}
}
Tokens moeten worden uitgegeven met een bereik https://ai.azure.com/.default.
Voor testdoeleinden is de eenvoudigste manier om een geldig token voor uw gebruikersaccount op te halen door de Azure CLI te gebruiken. Meld u in een console aan en vraag een token aan door de volgende Azure CLI opdrachten uit te voeren:
az login
az account get-access-token --resource https://ai.azure.com --query "accessToken" --output tsv
Met deze opdracht wordt een toegangstoken uitgevoerd dat u kunt opslaan in de $AZURE_OPENAI_AUTH_TOKEN omgevingsvariabele.
Naslaginformatie: Antwoorden-API
Verwante inhoud