Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Foundry-Ressource bietet einen einheitlichen Zugriff auf Modelle, Agents und Tools. In diesem Artikel wird erläutert, welches SDK und welcher Endpunkt für Ihr Szenario verwendet werden soll.
Das Foundry SDK ist ein Thin-Client-SDK, das alle Foundry-Projekt-APIs über einen einzelnen Projektendpunkt verfügbar macht. SdKs auf höherer Ebene bauen darauf auf – z. B. hängt das Agent Framework-Paket foundry vom Foundry SDK ab, um auf Foundry-Modelle, -Tools und -Projektkonfiguration zuzugreifen.
| SDK | Wofür es ist | Endpunkt |
|---|---|---|
| Foundry SDK | Thin-client SDK für alle Foundry-Projekt-APIs. Zugriff auf Foundry Models und Plattformtools (Dateisuche, Codedolmetscher, Websuche, Speicher, SharePoint, WorkIQ, Fabric IQ, MCP). | https://<resource-name>.services.ai.azure.com/api/projects/<project-name> |
| Agent-Framework | Einheitliche Multi-Agent-Orchestrierung für gehostete Agents und Multi-Agent-Systeme, die in C#/.NET und Python verfügbar sind. Das foundry Paket hängt vom Foundry SDK für den Projektzugriff ab. |
Antwort-API im Projektendpunkt über FoundryChatClient. |
| OpenAI SDK | Vollständiger OpenAI-API-Umfang, einschließlich Embeddings und Foundry-Modelle, die von Azure über Chat Completions angeboten werden. Optimale Latenz und maximale OpenAI-Kompatibilität. | https://<resource-name>.openai.azure.com/openai/v1 |
| Anthropic SDK | In Foundry bereitgestellte Anthropic Claude-Modelle. | https://<resource-name>.services.ai.azure.com/anthropic |
| Foundry-Tools-SDKs | Vorgefertigte Lösungen (Vision, Speech, Content Safety und mehr). | Toolspezifische Endpunkte. |
Wählen Sie Ihr SDK aus:
- Verwenden Sie Foundry SDK beim Erstellen von Apps mit Agents, Auswertungen oder Foundry-spezifischen Features
- Verwenden des Agent-Frameworks für gehostete Agents oder Multi-Agent-Systeme im Code mithilfe der Antwort-API in C#/.NET oder Python
- Verwenden Sie das OpenAI SDK, wenn maximale OpenAI-Kompatibilität oder niedrigste Latenz erforderlich ist, wenn Einbettungen generiert werden, oder wenn Sie Modelle verwenden, die von Azure über Chatabschlusse verkauft werden.
- Verwenden sie Anthropic SDK beim Arbeiten mit Anthropic Claude Modellen, die in Foundry bereitgestellt wurden
- Verwenden von Foundry Tools SDKs beim Arbeiten mit bestimmten KI-Diensten (Vision, Spracherkennung, Sprache usw.)
Hinweis
Ressourcentypen: Eine Foundry-Ressource stellt alle zuvor aufgeführten Endpunkte bereit. Eine Azure OpenAI-Ressource stellt nur den endpunkt /openai/v1 bereit.
Authentication: Beispiele verwenden hier Microsoft Entra ID (DefaultAzureCredential). API-Schlüssel funktionieren auf /openai/v1. Übergeben Sie den Schlüssel als api_key anstelle eines Token-Anbieters.
Voraussetzungen
-
Ein Azure Konto mit einem aktiven Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein free Azure Konto, das ein kostenloses Testabonnement enthält.
Verfügen Sie über die für Ihre Aufgabe erforderliche Azure RBAC-Rolle mit dem kleinstmöglichen Bereich:
Foundry User im Foundry-Projekt für die tägliche Entwicklungsarbeit.
Wichtig
Die Foundry-RBAC-Rollen wurden kürzlich umbenannt. Foundry User, Foundry Owner, Foundry Account Owner und Foundry Project Manager wurden zuvor Azure KI-Benutzer, Azure KI-Besitzer, Azure KI-Kontobesitzer und Azure AI Project Manager benannt. Möglicherweise werden die vorherigen Namen an einigen Stellen weiterhin angezeigt, während der Umbenennungsrollout ausgeführt wird. Die Rollen-IDs und Kernberechtigungen bleiben durch die Umbenennung unverändert.
Foundry Project Manager im Foundry-Projekt zum Verwalten eines vorhandenen Projekts und seiner Verbindungen.
Besitzer des Foundry-Kontos für die Foundry-Ressource zum Erstellen von Projekten oder Verwalten von Ressourcen auf Kontoebene. Weisen Sie diese Rolle nur in der Zielressourcengruppe zu, wenn Sie eine Foundry-Ressource erstellen müssen.
Aktivieren Sie die Zuweisung der Ressourcengruppe bei Bedarf über Microsoft Entra Privileged Identity Management (PIM) und deaktivieren Sie sie nach der Bereitstellung. Normale Entwickler und Benutzer der Laufzeitumgebung benötigen diese Zuweisung mit erhöhten Rechten nicht.
Ausführliche Informationen zu den Berechtigungen der einzelnen Rollen finden Sie unter Role-basierte Zugriffssteuerung für Microsoft Foundry.
Installieren Sie die erforderlichen Sprachlaufzeiten, globalen Tools und VS-Codeerweiterungen, wie unter "Vorbereiten Der Entwicklungsumgebung" beschrieben.
Überprüfen der Voraussetzungen
Bevor Sie fortfahren, bestätigen Sie, dass jede Überprüfung das angegebene Ergebnis zurückgibt:
Vergewissern Sie sich, dass die Azure CLI das gewünschte Abonnement und den vorgesehenen Mandanten verwendet:
az account show --query "{subscription:name, tenant:tenantId}" --output tableDer Befehl wird erfolgreich ausgeführt und zeigt das erwartete Abonnement und den erwarteten Mandanten.
Vergewissern Sie sich, dass Ihre lokalen Anmeldeinformationen ein Foundry-Zugriffstoken anfordern können, ohne das Token anzuzeigen:
az account get-access-token --resource https://ai.azure.com --query expiresOn --output tsvDer Befehl wird erfolgreich beendet und zeigt die Ablaufzeit des Tokens an. Wenn dies fehlschlägt, führen Sie
az loginunter einer Identität aus, die über die erforderliche Foundry-Rolle verfügt.Vergewissern Sie sich, dass Sie über die erforderliche RBAC-Rolle im Azure Portal unter Foundry Resource>Access Control (IAM) verfügen.
- Führen Sie
python --versionaus. Der Befehl wird erfolgreich beendet und meldet Python 3.9 oder höher.
- Führen Sie
node --versionaus. Der Befehl wird erfolgreich beendet und meldet Node.js 22 oder höher.
- Führen Sie
dotnet --versionaus. Der Befehl wird erfolgreich ausgeführt und meldet, dass .NET 8 oder höher installiert ist.
- Führen Sie
java --versionaus. Der Befehl wird erfolgreich beendet und meldet Java 17 oder höher.
Vergewissern Sie sich, dass Ihr Projektendpunkt dieses Format aufweist:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>.Vergewissern Sie sich, dass die
gpt-5-miniBereitstellung bereit ist:az cognitiveservices account deployment show \ --name <resource-name> \ --resource-group <resource-group> \ --deployment-name gpt-5-mini \ --query properties.provisioningState \ --output tsvDer Befehl gibt
Succeededzurück. Verwenden Sie den bereitgestellten Namen in den Codebeispielen, wenn Ihre Bereitstellung einen anderen Namen hat.
Foundry SDK
Das Foundry SDK ist ein Thin-Client SDK, das Ihnen Zugriff auf alle Foundry-Projekt-APIs über einen einzelnen Projektendpunkt bietet:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
Es ist die Grundlage, auf der andere Foundry-fähige SDKs aufbauen. Beispielsweise benötigt das Agent Framework-Paket foundry eine Abhängigkeit vom Foundry SDK und verwendet es für den Zugriff auf die Foundry-Funktionalität – Sie müssen den Projektendpunkt oder openAI-kompatiblen Client nicht selbst verbinden, wenn Sie es verwenden FoundryChatClient.
Hinweis
Wenn Ihre Organisation eine benutzerdefinierte Unterdomäne verwendet, ersetzen Sie <resource-name> durch <your-custom-subdomain> in der Endpunkt-URL.
Dieser Ansatz vereinfacht die Anwendungskonfiguration. Anstatt mehrere Endpunkte zu verwalten, konfigurieren Sie einen.
Installieren des Foundry SDK
| SDK-Version | Portalversion | Status | Python-Paket |
|---|---|---|---|
| 2.x | Gießerei (neu) | Stabil | azure-ai-projects>=2.0.0 |
| 1.x | Gießerei (klassisch) | Stabil | azure-ai-projects==1.0.0 |
Die Azure AI Projects-Clientbibliothek für Python ist eine einheitliche Bibliothek, mit der Sie mehrere Clientbibliotheken zusammen verwenden können, indem Sie eine Verbindung mit einem einzelnen Projektendpunkt herstellen.
Führen Sie diesen Befehl aus, um die Pakete für Foundry-Projekte zu installieren.
pip install "azure-ai-projects>=2.0.0"
| SDK-Version | Portalversion | Status | Java-Paket |
|---|---|---|---|
| 2.0.0 | Gießerei (neu) | Stabil | azure-ai-projectsazure-ai-agents |
| SDK-Version | Portalversion | Status | JavaScript-Paket |
|---|---|---|---|
| 2.4.0 | Gießerei (neu) | Stabil | @azure/ai-projects |
| 1.0.1 | Foundry Classic | Stabil | @azure/ai-projects |
Verwenden Sie Node.js 22 oder höher mit @azure/ai-projects 2.4.0.
| SDK-Version | Portalversion | Status | .NET-Paket |
|---|---|---|---|
| 2.0.0 (GA) | Gießerei (neu) | Stabil | Azure.AI.ProjectsAzure.AI.Projects.AgentsAzure.AI.Extensions.OpenAI |
| 1.1.0 (GA) | Foundry Classic | Stabil | Azure.AI.Projects |
Wichtig
Installieren Sie Azure.AI.Projects.OpenAI (Vorschau) nicht zusammen mit Azure.AI.Extensions.OpenAI (GA). Beide Pakete definieren dieselben Typen in verschiedenen Namespaces, was zu mehrdeutigen Verweisfehlern führt. Verwenden Sie nur Azure.AI.Extensions.OpenAI für Agentszenarien.
Die Azure AI Projects-Clientbibliothek für Java ist eine einheitliche Bibliothek, mit der Sie mehrere Clientbibliotheken zusammen verwenden können, indem Sie eine Verbindung mit einem einzelnen Projektendpunkt herstellen.
Fügen Sie diese Abhängigkeiten zu Ihren Maven pom.xml für Foundry-Projekte hinzu.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-projects</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-agents</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.4</version>
</dependency>
Die Azure AI Projects-Clientbibliothek für JavaScript ist eine einheitliche Bibliothek, mit der Sie mehrere Clientbibliotheken zusammen verwenden können, indem Sie eine Verbindung mit einem einzelnen Projektendpunkt herstellen.
Führen Sie diesen Befehl aus, um die JavaScript-Pakete für Foundry-Projekte zu installieren.
npm install @azure/ai-projects @azure/identity
Die Azure AI Projects-Clientbibliothek für .NET ist eine einheitliche Bibliothek, mit der Sie mehrere Clientbibliotheken zusammen verwenden können, indem Sie eine Verbindung mit einem einzelnen Projektendpunkt herstellen.
Führen Sie diese Befehle aus, um ihrem .NET Projekt die erforderlichen Pakete hinzuzufügen.
dotnet add package Azure.AI.Projects
dotnet add package Azure.AI.Projects.Agents
dotnet add package Azure.AI.Extensions.OpenAI
dotnet add package Azure.Identity
Erstellen Des ersten Foundry SDK-Aufrufs
Das SDK macht zwei Clienttypen verfügbar, da Foundry und OpenAI unterschiedliche API-Shapes haben:
- Project client – Wird für Foundry-native Vorgänge verwendet, bei denen OpenAI keine Entsprechung hat. Beispiele: Auflisten von Verbindungen, Abrufen von Projekteigenschaften, Aktivieren von Tracing.
-
OpenAI-kompatibler Client – Verwendung für Foundry-Funktionen, die auf OpenAI-Konzepten basieren. Die Responses-API, Agents, Auswertungen und Feinabstimmungen verwenden alle Anforderungs-/Antwortmuster im OpenAI-Stil. Dieser Client ist auf die Responses-API im Endpunkt Ihres Projekts ausgerichtet, die Ihnen Zugriff auf von Azure angebotene Foundry-Modelle, andere Modelle aus dem Katalog und Plattformtools bietet. Zu diesen Tools gehören Dateisuche, Codedolmetscher, Websuche, Arbeitsspeicher, SharePoint, WorkIQ, Fabric IQ und MCP-Server. Der Projektendpunkt leitet diesen Datenverkehr über die
/openaiRoute.
Die meisten Apps verwenden beide Clients. Verwenden Sie den Projektclient für Setup und Konfiguration, und verwenden Sie dann den openAI-kompatiblen Client für die Ausführung von Agents, Auswertungen und Aufrufen von Modellen.
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
project_endpoint = (
"https://<resource-name>.services.ai.azure.com/api/projects/<project-name>"
)
project = AIProjectClient(
endpoint=project_endpoint,
credential=DefaultAzureCredential(),
)
openai = project.get_openai_client()
response = openai.responses.create(
model="gpt-5-mini",
input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")
Response output: <model response>
Referenz: AIProjectClient-Klasse
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.AgentsServiceVersion;
import com.azure.ai.agents.ResponsesClient;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
String projectEndpoint =
"https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
ResponsesClient responsesClient = new AgentsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint(projectEndpoint)
.serviceVersion(AgentsServiceVersion.getLatest())
.buildResponsesClient();
Response response = responsesClient.getResponseService().create(
ResponseCreateParams.builder()
.model("gpt-5-mini")
.input("What is the size of France in square miles?")
.build());
response.output().forEach(item -> item.message().ifPresent(message ->
message.content().forEach(content -> content.outputText().ifPresent(text ->
System.out.println("Response output: " + text.text())))));
Response output: <model response>
Referenz: CreateResponse.java
import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";
const projectEndpoint =
"https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
const project = new AIProjectClient(
projectEndpoint,
new DefaultAzureCredential(),
);
const openai = project.getOpenAIClient();
const response = await openai.responses.create({
model: "gpt-5-mini",
input: "What is the size of France in square miles?",
});
console.log(`Response output: ${response.output_text}`);
Response output: <model response>
Referenz: AIProjectClient-Klasse
using Azure.AI.Projects;
using Azure.AI.Extensions.OpenAI;
using Azure.Identity;
string projectEndpoint =
"https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
AIProjectClient projectClient = new(
endpoint: new Uri(projectEndpoint),
tokenProvider: new DefaultAzureCredential());
ProjectResponsesClient responseClient = projectClient.ProjectOpenAIClient
.GetProjectResponsesClientForModel("gpt-5-mini");
ResponseResult response = responseClient.CreateResponse(
"What is the size of France in square miles?");
Console.WriteLine($"Response output: {response.GetOutputText()}");
Response output: <model response>
Referenz: AIProjectClient-Klasse
Erkunden von Foundry SDK-Funktionen
- Access Foundry Models, einschließlich Azure OpenAI
- Verwenden des Foundry Agent-Diensts
- Ausführen von Batchauswertungen
- Aktivieren der App-Ablaufverfolgung
- Optimieren eines Modells
- Abrufen von Endpunkten und Schlüsseln für Foundry Tools, lokale Orchestrierung und vieles mehr
Problembehandlung
Authentifizierungsfehler
Wenn Sie Folgendes sehen: DefaultAzureCredential failed to retrieve a token
Verify Azure CLI wird authentifiziert:
az account show az login # if not logged inÜberprüfen der RBAC-Rollenzuweisung:
Bestätigen Sie, dass Sie mindestens über die Rolle "Foundry User" im Foundry-Projekt verfügen.
Wichtig
Die Foundry-RBAC-Rollen wurden kürzlich umbenannt. Foundry User, Foundry Owner, Foundry Account Owner und Foundry Project Manager wurden zuvor Azure KI-Benutzer, Azure KI-Besitzer, Azure KI-Kontobesitzer und Azure AI Project Manager benannt. Möglicherweise werden die vorherigen Namen an einigen Stellen weiterhin angezeigt, während der Umbenennungsrollout ausgeführt wird. Die Rollen-IDs und Kernberechtigungen bleiben durch die Umbenennung unverändert.
Siehe Azure-Rollen zuweisen
Für verwaltete Identität in der Produktion:
- Stellen Sie sicher, dass der verwalteten Identität die entsprechende Rolle zugewiesen ist.
- Siehe Konfigurieren verwalteter Identitäten
Endpunktkonfigurationsfehler
Wenn Sie Connection refused oder 404 Not Found sehen:
- Überprüfen, ob Ressourcen- und Projektnamen ihrer tatsächlichen Bereitstellung entsprechen
-
Endpunkt-URL-Format überprüfen: Sollte sein
https://<resource-name>.services.ai.azure.com/api/projects/<project-name> -
Für benutzerdefinierte Unterdomänen: Ersetzen Sie
<resource-name>durch Ihre benutzerdefinierte Unterdomäne
Nichtübereinstimmungen der SDK-Version
Wenn Codebeispiele mit AttributeError oder ModuleNotFoundError fehlschlagen:
SDK-Version überprüfen:
pip show azure-ai-projects # Python npm list @azure/ai-projects # JavaScript dotnet list package # .NETNeuinstallation mit korrekten Versionskennzeichnungen: Siehe Installationsbefehle in den einzelnen Sprachabschnitten oben
OpenAI SDK
Verwenden Sie das OpenAI SDK, wenn Sie die vollständige OpenAI-API-Oberfläche, die beste Latenz und maximale Kompatibilität mit vorhandenen OpenAI-Clients wünschen. Dieser Endpunkt stellt die Responses-API für Azure OpenAI direkt bereit und bietet Zugriff auf Azure OpenAI-Modelle sowie von Azure angebotene Modelle, einschließlich Embeddings, Chatvervollständigungen und Bildgenerierung. Es bietet keinen Zugriff auf Foundry-spezifische Features wie Agents, Auswertungen oder Foundry-exklusive Plattformtools. Verwenden Sie für diese Features die Antwort-API in Ihrem Projektendpunkt über das Foundry SDK.
Tipp
Verwenden Sie den OpenAI SDK-Endpunkt zum Generieren von Einbettungen. Der vom Foundry SDK verwendete Projektendpunkt leitet derzeit keine Einbettungsanforderungen weiter.
Der folgende Codeausschnitt zeigt, wie Sie den Azure OpenAI /openai/v1 Endpunkt direkt verwenden.
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
openai_endpoint = "https://<resource-name>.openai.azure.com/openai/v1/"
openai = OpenAI(
base_url=openai_endpoint,
api_key=token_provider,
)
response = openai.responses.create(
model="gpt-5-mini",
input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")
Response output: <model response>
Der folgende Codeausschnitt zeigt, wie Sie den Azure OpenAI /openai/v1 Endpunkt direkt verwenden.
import com.azure.identity.AuthenticationUtil;
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;
String openAIEndpoint = "https://<resource-name>.openai.azure.com/openai/v1";
OpenAIClient openAIClient = OpenAIOkHttpClient.builder()
.baseUrl(openAIEndpoint)
.credential(BearerTokenCredential.create(
AuthenticationUtil.getBearerTokenSupplier(
new DefaultAzureCredentialBuilder().build(),
"https://ai.azure.com/.default")))
.build();
Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
.model("gpt-5-mini")
.input("What is the size of France in square miles?")
.build());
response.output().forEach(item -> item.message().ifPresent(message ->
message.content().forEach(content -> content.outputText().ifPresent(text ->
System.out.println("Response output: " + text.text())))));
Response output: <model response>
import {
DefaultAzureCredential,
getBearerTokenProvider,
} from "@azure/identity";
import OpenAI from "openai";
const openAIEndpoint = "https://<resource-name>.openai.azure.com/openai/v1";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
"https://ai.azure.com/.default",
);
const openai = new OpenAI({ baseURL: openAIEndpoint, apiKey: tokenProvider });
const response = await openai.responses.create({
model: "gpt-5-mini",
input: "What is the size of France in square miles?",
});
console.log(`Response output: ${response.output_text}`);
Response output: <model response>
Führen Sie diesen Befehl aus, um ihrem .NET-Projekt die OpenAI-Clientbibliothek hinzuzufügen.
dotnet add package OpenAI
Wenn es erfolgreich ist, bestätigt die .NET CLI, dass es das OpenAI Paket installiert hat.
Dieser Codeausschnitt konfiguriert DefaultAzureCredential, erstellt OpenAIClientOptionsund erstellt einen ResponsesClient für den Azure OpenAI v1-Endpunkt.
using Azure.Identity;
using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
#pragma warning disable OPENAI001
const string openAIEndpoint =
"https://<resource-name>.openai.azure.com/openai/v1/";
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://ai.azure.com/.default");
OpenAIClient openAIClient = new(
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new(openAIEndpoint),
});
ResponsesClient responsesClient = openAIClient.GetResponsesClient();
CreateResponseOptions options = new()
{
Model = "gpt-5-mini",
InputItems =
{
ResponseItem.CreateUserMessageItem(
"What is the size of France in square miles?")
},
};
var response = responsesClient.CreateResponse(options);
Console.WriteLine($"Response output: {response.Value.GetOutputText()}");
#pragma warning restore OPENAI001
Response output: <model response>
Anthropic Software-Entwicklungskit
Verwenden Sie das Anthropic SDK, um mit in Foundry bereitgestellten Anthropic Claude Modellen zu arbeiten. Claude-Modelle verwenden einen separaten /anthropic-Endpunkt und die Anthropic-Messages-API, nicht den OpenAI-kompatiblen Endpunkt.
Der Anthropic-Endpunkt hängt /anthropic an die URL Ihrer Ressource an:
https://<resource-name>.services.ai.azure.com/anthropic
Die Nachrichten-API ist verfügbar unter:
https://<resource-name>.services.ai.azure.com/anthropic/v1/messages
from anthropic import AnthropicFoundry
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
client = AnthropicFoundry(
azure_ad_token_provider=token_provider,
base_url="https://<resource-name>.services.ai.azure.com/anthropic",
)
message = client.messages.create(
model="claude-sonnet-4-6", # Replace with your deployment name
messages=[
{"role": "user", "content": "What are 3 things to visit in Seattle?"}
],
max_tokens=1048,
)
print(f"Response output: {message.content[0].text}")
Response output: <model response>
Das Anthropic SDK stellt keinen nativen C#-Client bereit. Verwenden Sie die REST-API mit HttpClient, um Claude-Modelle aufzurufen.
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using Azure.Identity;
string endpoint =
"https://<resource-name>.services.ai.azure.com/anthropic/v1/messages";
var credential = new DefaultAzureCredential();
var token = await credential.GetTokenAsync(
new Azure.Core.TokenRequestContext(["https://ai.azure.com/.default"]));
using var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token.Token);
httpClient.DefaultRequestHeaders.Add("anthropic-version", "2023-06-01");
var requestBody = new
{
model = "claude-sonnet-4-6",
messages = new[]
{
new { role = "user", content = "Name three Seattle attractions." }
},
max_tokens = 1048
};
var response = await httpClient.PostAsync(
endpoint,
new StringContent(
JsonSerializer.Serialize(requestBody), Encoding.UTF8,
"application/json"));
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
<JSON response body containing the model response>
import AnthropicFoundry from "@anthropic-ai/foundry-sdk";
import {
DefaultAzureCredential,
getBearerTokenProvider,
} from "@azure/identity";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
"https://ai.azure.com/.default",
);
const client = new AnthropicFoundry({
azureADTokenProvider: tokenProvider,
baseURL: "https://<resource-name>.services.ai.azure.com/anthropic",
apiVersion: "2023-06-01",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6", // Replace with your deployment name
messages: [
{ role: "user", content: "What are 3 things to visit in Seattle?" },
],
max_tokens: 1048,
});
console.log(`Response output: ${message.content[0].text}`);
Response output: <model response>
Das Anthropic SDK stellt keinen nativen Java Client bereit. Verwenden Sie die REST-API mit HttpClient, um Claude-Modelle aufzurufen.
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.core.credential.TokenRequestContext;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String endpoint =
"https://<resource-name>.services.ai.azure.com/anthropic/v1/messages";
var credential = new DefaultAzureCredentialBuilder().build();
var token = credential.getToken(new TokenRequestContext()
.addScopes("https://ai.azure.com/.default")).block();
String requestBody = """
{"model": "claude-sonnet-4-6",
"messages": [{"role": "user",
"content": "What are 3 things to visit in Seattle?"}],
"max_tokens": 1048}
""";
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(endpoint))
.header("Authorization", "Bearer " + token.getToken())
.header("Content-Type", "application/json")
.header("anthropic-version", "2023-06-01")
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = httpClient.send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<JSON response body containing the model response>
Weitere Informationen finden Sie unter Use Anthropic Claude Models in Microsoft Foundry.
Agenten-Framework
Microsoft Agent Framework ist ein Open Source SDK für C#/.NET und Python, das einheitliche Multi-Agent-Orchestrierung und konsistente Abstraktionen für die Erstellung von Agents und Multi-Agent-Systemen bereitstellt. Es ist die empfohlene Orchestrierungsebene für gehostete Agents in Foundry.
- Wenn Sie Zuvor AutoGen oder Semantischer Kernel für die Multi-Agent-Orchestrierung verwendet haben (mehrere Agents koordinieren, um an Aufgaben zusammenzuarbeiten), sollten Sie agent Framework als primäre Orchestrierungsebene betrachten. Es hilft Ihnen, zu vermeiden, mehrere Orchestrierungs-SDKs miteinander zu kombinieren, die ähnliche Koordinationsaufgaben lösen und dadurch konfliktierende Abstraktionen und Abhängigkeiten hinzufügen können.
- Wenn Sie bereits über umfangreichen vorhandenen Orchestrierungscode verfügen, auf produktspezifische Funktionen angewiesen sind oder mit komplexen Migrationsanforderungen konfrontiert sind, sollten Sie diese Anforderungen prüfen, bevor Sie auf Agent Framework konsolidieren.
Ihren Code auf einem gehosteten Agenten ausführen
Die wichtigste Story für codebasierte Agenten in Foundry ist Gehostete Agenten. Schreiben Sie Ihren Agent mit Agent Framework, packen Sie ihn als Containerimage oder zip-Datei Ihres Quellcodes, und lassen Sie Foundry ihn mit einem verwalteten Endpunkt, einer automatischen Skalierung auf isolierten Micro-VMs, einer dedizierten Microsoft Entra-Agent-Identität, einem Status auf Sitzungsebene und End-to-End-Observability ausführen.
Gehostete Agents sind der empfohlene Pfad, wenn Sie einen von Foundry verwalteten, netzwerkadressierbaren Endpunkt benötigen, den andere Apps oder Agents anrufen können. Siehe Bereitstellen Ihres ersten gehosteten Agents.
Erstellen Sie Agenten im Code außerhalb von Foundry mit der Responses API
Wenn Sie Ihren Agent außerhalb von Foundry hosten – in Ihrem eigenen Prozess oder ihrer eigenen Infrastruktur – können Sie auch Agent Framework verwenden, um die Antwort-API direkt in Ihrem Projektendpunkt aufzurufen. Agent Framework stellt über den FoundryChatClient-Anbieter eine Verbindung her, der auf Folgendes abzielt:
{project_endpoint}/openai/v1/responses
Das Durchlaufen des Projektendpunkts – anstelle eines OpenAI-Endpunkts auf Ressourcenebene – gibt Ihrem Agent Folgendes:
- Foundry-Modelle aus dem Katalog (Azure OpenAI und direkte Foundry-Modelle) über eine einzige API.
- Plattformtools, die über den OpenAI-Toolsatz hinausgehen, einschließlich Dateisuche, Codedolmetscher, Arbeitsspeicher, Websuche, MCP-Server, SharePoint, WorkIQ und Fabric IQ.
- Projektbezogene Daten, On-Behalf-Of-Toolauthentifizierung (OBO) sowie die Ablaufverfolgung, Inhaltsfilter und Identitätskonfiguration des Projekts.
Dieses Muster ist additiv für gehostete Agents, nicht eine Alternative – derselbe Agent Framework-Code kann die Antwort-API heute aus Ihrem eigenen Prozess aufrufen und später als gehosteter Agent verpackt werden, wenn Sie einen Foundry-verwalteten Endpunkt benötigen. Siehe Schnellstart: Erstellen von Agents mithilfe der Antwort-API.
Einen vollständigen Vergleich der Agenttypen und Hostingoptionen finden Sie unter What is Microsoft Foundry Agent Service?.
SDKs für Foundry-Werkzeuge
Foundry Tools (früher Azure AI Services) sind vorgefertigte Point-Lösungen mit dedizierten SDKs. Verwenden Sie die folgenden Endpunkte, um mit Foundry Tools zu arbeiten.
Welchen Endpunkt sollten Sie verwenden?
Wählen Sie einen Endpunkt basierend auf Ihren Anforderungen aus:
Verwenden Sie den Azure AI Services-Endpunkt, um auf Maschinelles Sehen, Inhaltssicherheit, Dokumentintelligenz, Sprache, Übersetzung und Token foundry Tools zuzugreifen.
Endpunkt Foundry Tools: https://<your-resource-name>.cognitiveservices.azure.com/
Hinweis
Endpunkte verwenden entweder Ihren Ressourcennamen oder eine benutzerdefinierte Unterdomäne. Wenn Ihre Organisation eine benutzerdefinierte Unterdomäne eingerichtet hat, ersetzen Sie your-resource-name durch your-custom-subdomain in allen Endpunktbeispielen.
Wenn Ihre Workloads ablaufende Azure KI Language Features verwenden, z. B. Stimmungsanalyse, Extraktion von Schlüsselbegriffen, Zusammenfassung, Entitätsverknüpfung, CLU oder CQA, sollten Sie den Wechsel zu Foundry-Lösungen von Microsoft planen. Für neue Entwicklung sollten Sie das Foundry SDK oder den openAI-kompatiblen Endpunkt verwenden, wie weiter oben in diesem Artikel beschrieben. Siehe Migrate von Language Studio zu Microsoft Foundry.
Verwenden Sie für Foundry Tools für Sprache und Übersetzung die Endpunkte in den folgenden Tabellen. Ersetzen Sie Platzhalter durch Ihre Ressourceninformationen.
Speech Endpunkte
| Gießerei-Tool | Endpunkt |
|---|---|
| Sprache zu Text (Standard) | https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com |
| Text-to-Speech (neuronal) | https://<YOUR-RESOURCE-REGION>.tts.speech.microsoft.com |
| Benutzerdefinierte Stimme | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Übersetzungsendpunkte
| Gießerei-Tool | Endpunkt |
|---|---|
| Textübersetzung | https://api.cognitive.microsofttranslator.com/ |
| Dokumentübersetzung | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Sprachendpunkte
| Gießerei-Tool | Endpunkt |
|---|---|
| Textanalyse | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com |
Wichtig
Am 20. März 2027 wird Azure Language Studio eingestellt und zu Microsoft Foundry migriert. Alle Funktionen und zukünftigen Verbesserungen werden in Microsoft Foundry verfügbar sein.
Am 31. März 2029 werden die folgenden Azure Sprachfunktionen eingestellt (Ende des Supports). Vor diesem Datum sollten Benutzer vorhandene Arbeitslasten migrieren und neue Projekte in Microsoft Foundry-Modelle integrieren, um das Verständnis der natürlichen Sprache und die vereinfachte Anwendungsintegration zu verbessern:
- Schlüsselphrasenextraktion
- Stimmungsanalyse und Meinungs-Mining
- Benutzerdefinierte Textklassifizierung
- Konversationelles Sprachverständnis (CLU)
- Benutzerdefinierte Frageantwort (CQA)
- Orchestrierungs-Workflow
- Zusammenfassung (extraktiv und abstraktiv, für Dokumente und Unterhaltungen)
- Entitätsverknüpfung
Kernfunktionen mit fortgesetzter Unterstützung: Spracherkennung, PII-Erkennung, Textanalysen für Gesundheit, Vordefinierter NER und Benutzerdefinierter NER.
Migrationsoptionen finden Sie unter Migrate from Language Studio to Microsoft Foundry.