Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sumber daya Foundry menyediakan akses terpadu ke model, agen, dan alat. Artikel ini menjelaskan SDK dan titik akhir mana yang akan digunakan untuk skenario Anda.
Foundry SDK adalah SDK klien tipis yang menyediakan akses ke semua API proyek Foundry melalui satu titik akhir proyek. SDK tingkat yang lebih tinggi dibangun di atasnya — misalnya, paket Kerangka Kerja foundry Agen bergantung pada SDK Foundry untuk mengakses model, alat, dan konfigurasi proyek Foundry.
| SDK | Apa kegunaannya? | Titik Akhir |
|---|---|---|
| Foundry SDK | SDK klien ringan untuk seluruh API proyek Foundry. Akses ke Model Foundry dan alat platform (pencarian file, penerjemah kode, pencarian web, memori, SharePoint, WorkIQ, Fabric IQ, MCP). | https://<resource-name>.services.ai.azure.com/api/projects/<project-name> |
| Kerangka Kerja Agen | Orkestrasi multi-agen terpadu untuk agen yang dihosting dan sistem multi-agen, tersedia di C#/.NET dan Python. Paket foundry tergantung pada Foundry SDK untuk akses proyek. |
API Respons di titik akhir proyek, melalui FoundryChatClient. |
| OpenAI SDK | Seluruh cakupan API OpenAI, termasuk embedding dan Foundry Models yang dijual oleh Azure melalui Chat Completions. Latensi terbaik dan kompatibilitas OpenAI maksimum. | https://<resource-name>.openai.azure.com/openai/v1 |
| Anthropic SDK | Model Anthropic Claude yang diterapkan di Foundry. | https://<resource-name>.services.ai.azure.com/anthropic |
| Foundry SDK Alat | Solusi bawaan (Visi, Ucapan, Keamanan Konten, dan banyak lagi). | Titik akhir khusus alat. |
Pilih SDK Anda:
- Gunakan Foundry SDK saat membangun aplikasi dengan agen, evaluasi, atau fitur khusus Foundry
- Gunakan Kerangka Kerja Agen untuk agen yang dihosting atau sistem multi-agen dalam kode menggunakan API Respons di C#/.NET atau Python
- Gunakan OpenAI SDK jika kompatibilitas maksimum dengan OpenAI atau latensi terendah diperlukan, saat menghasilkan penyematan, atau saat menggunakan model yang dijual oleh Azure melalui Chat Completions
- Gunakan Anthropic SDK saat bekerja dengan model Anthropic Claude yang disebarkan di Foundry
- Gunakan SDK Foundry Tools saat bekerja dengan layanan AI tertentu (Visi, Ucapan, Bahasa, dll.)
Catatan
Jenis sumber daya: Sumber daya Foundry menyediakan semua titik akhir yang sebelumnya tercantum. Sumber daya OpenAI Azure hanya menyediakan titik akhir /openai/v1.
Authentication: Sampel di sini menggunakan Microsoft Entra ID (DefaultAzureCredential). Kunci API berfungsi pada /openai/v1. Teruskan kunci sebagai api_key alih-alih penyedia token.
Prasyarat
-
Akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, buat akun Azure free, yang menyertakan langganan uji coba gratis.
Miliki peran Azure RBAC yang diperlukan untuk tugas Anda pada cakupan paling sempit:
Pengguna Foundry pada proyek Foundry untuk pengembangan sehari-hari.
Penting
Peran Foundry RBAC baru-baru ini diubah namanya. Pengguna Foundry, Pemilik Foundry, Pemilik Akun Foundry, dan Manajer Proyek Foundry sebelumnya bernama Pengguna Azure AI, Pemilik Azure AI, Pemilik Akun Azure AI, dan Manajer Proyek Azure AI. Anda mungkin masih melihat nama sebelumnya di beberapa tempat saat penggantian nama diluncurkan. ID peran dan izin inti tidak berubah oleh penggantian nama.
Foundry Project Manager pada proyek Foundry untuk mengelola proyek yang sudah ada dan koneksinya.
Pemilik Akun Foundry pada sumber daya Foundry untuk membuat proyek atau mengelola sumber daya tingkat akun. Tetapkan peran ini pada grup sumber daya target hanya saat Anda perlu membuat sumber daya Foundry.
Aktifkan penetapan ke grup sumber daya secara tepat waktu melalui Microsoft Entra Privileged Identity Management (PIM), lalu nonaktifkan setelah penyediaan. Pengembang dan pengguna runtime sehari-hari tidak memerlukan penugasan yang ditingkatkan ini.
Untuk detail tentang izin setiap peran, lihat kontrol akses berbasis Role untuk Microsoft Foundry.
Instal runtime bahasa yang diperlukan, alat global, dan ekstensi Visual Studio Code seperti yang dijelaskan dalam Menyiapkan lingkungan pengembangan Anda.
Memverifikasi prasyarat
Sebelum melanjutkan, konfirmasikan setiap pemeriksaan mengembalikan hasil yang dinyatakan:
Pastikan bahwa Azure CLI menggunakan langganan dan tenant yang dimaksud:
az account show --query "{subscription:name, tenant:tenantId}" --output tablePerintah berhasil dijalankan dan menampilkan langganan serta tenant yang diharapkan.
Konfirmasikan bahwa kredensial lokal Anda dapat meminta token akses Foundry tanpa menampilkan token:
az account get-access-token --resource https://ai.azure.com --query expiresOn --output tsvPerintah berhasil keluar dan menampilkan waktu kedaluwarsa token. Jika gagal, jalankan
az logindengan identitas yang memiliki peran Foundry yang diperlukan.Pastikan bahwa Anda memiliki peran RBAC yang diperlukan di portal Azure di sumber daya Foundry>Kontrol akses (IAM).
- Jalankan
python --version. Perintah berhasil dijalankan dan menampilkan Python 3.9 atau versi yang lebih baru.
- Jalankan
node --version. Perintah berhasil dijalankan dan menunjukkan Node.js 22 atau yang lebih baru.
- Jalankan
dotnet --version. Perintah berhasil dijalankan dan menampilkan .NET 8 atau yang lebih baru.
- Jalankan
java --version. Perintah berhasil dijalankan dan menampilkan Java 17 atau versi yang lebih baru.
Konfirmasikan bahwa titik akhir proyek Anda memiliki format ini:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>.Pastikan penerapan
gpt-5-minisiap:az cognitiveservices account deployment show \ --name <resource-name> \ --resource-group <resource-group> \ --deployment-name gpt-5-mini \ --query properties.provisioningState \ --output tsvPerintah mengembalikan
Succeeded. Gunakan nama yang disebarkan dalam contoh kode jika penyebaran Anda memiliki nama yang berbeda.
Foundry SDK
Foundry SDK adalah SDK thin-client yang memberi Anda akses ke semua API proyek Foundry melalui satu titik akhir proyek:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
Ini adalah fondasi yang menjadi landasan bagi SDK lain yang mendukung Foundry. Misalnya, paket Agent Framework foundry bergantung pada SDK Foundry dan menggunakannya untuk mengakses fitur Foundry — Anda tidak perlu menyiapkan endpoint proyek atau klien kompatibel OpenAI sendiri saat menggunakan FoundryChatClient.
Catatan
Jika organisasi Anda menggunakan subdomain kustom, ganti <resource-name> dengan <your-custom-subdomain> di URL titik akhir.
Pendekatan ini menyederhanakan konfigurasi aplikasi. Alih-alih mengelola beberapa titik akhir, Anda mengonfigurasi satu.
Instal Foundry SDK
| Versi SDK | Versi Portal | Status | Paket Python |
|---|---|---|---|
| 2.x | Foundry (baru) | Stabil | azure-ai-projects>=2.0.0 |
| 1.x | Foundry (klasik) | Stabil | azure-ai-projects==1.0.0 |
Pustaka klien Azure AI Projects untuk Python adalah pustaka terpadu yang memungkinkan Anda menggunakan beberapa pustaka klien bersama-sama dengan menyambungkan ke satu titik akhir proyek.
Jalankan perintah ini untuk menginstal paket untuk proyek Foundry.
pip install "azure-ai-projects>=2.0.0"
| Versi SDK | Versi Portal | Status | Paket Java |
|---|---|---|---|
| 2.0.0 | Foundry (baru) | Stabil | azure-ai-projectsazure-ai-agents |
| Versi SDK | Versi Portal | Status | Paket JavaScript |
|---|---|---|---|
| 2.4.0 | Foundry (baru) | Stabil | @azure/ai-projects |
| 1.0.1 | Foundry klasik | Stabil | @azure/ai-projects |
Gunakan Node.js 22 atau yang lebih baru dengan @azure/ai-projects 2.4.0.
| Versi SDK | Versi Portal | Status | Paket .NET |
|---|---|---|---|
| 2.0.0 (GA) | Foundry (baru) | Stabil | Azure.AI.ProjectsAzure.AI.Projects.AgentsAzure.AI.Extensions.OpenAI |
| 1.1.0 (GA) | Foundry klasik | Stabil | Azure.AI.Projects |
Penting
Jangan menginstal Azure.AI.Projects.OpenAI (pratinjau) bersamaan dengan Azure.AI.Extensions.OpenAI (GA). Kedua paket menentukan jenis yang sama di namespace yang berbeda, yang menyebabkan kesalahan referensi ambigu. Gunakan hanya Azure.AI.Extensions.OpenAI untuk skenario agen.
Pustaka klien Azure AI Projects untuk Java adalah pustaka terpadu yang memungkinkan Anda menggunakan beberapa pustaka klien bersama-sama dengan menyambungkan ke satu titik akhir proyek.
Tambahkan dependensi ini ke proyek Maven pom.xml for Foundry Anda.
<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>
Pustaka klien Azure AI Projects untuk JavaScript adalah pustaka terpadu yang memungkinkan Anda menggunakan beberapa pustaka klien bersama-sama dengan menyambungkan ke satu titik akhir proyek.
Jalankan perintah ini untuk menginstal paket JavaScript untuk proyek Foundry.
npm install @azure/ai-projects @azure/identity
Pustaka klien Azure AI Projects untuk .NET adalah pustaka terpadu yang memungkinkan Anda menggunakan beberapa pustaka klien bersama-sama dengan menyambungkan ke satu titik akhir proyek.
Jalankan perintah ini untuk menambahkan paket yang diperlukan ke proyek .NET Anda.
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
Melakukan panggilan SDK Foundry pertama Anda
SDK mengekspos dua jenis klien karena Foundry dan OpenAI memiliki bentuk API yang berbeda:
- Klien proyek – Gunakan untuk operasi yang bersifat foundry-native di mana OpenAI tidak memiliki padanan. Contoh: mencantumkan koneksi, mengambil properti proyek, mengaktifkan pelacakan.
-
Klien yang kompatibel dengan OpenAI - Gunakan untuk fungsionalitas Foundry yang dibangun berdasarkan konsep OpenAI. API Respons, agen-agen, evaluasi-evaluasi, dan penyempurnaan semuanya menggunakan pola permintaan/respons bergaya OpenAI. Klien ini menargetkan API Respons di titik akhir proyek Anda, yang memberi Anda akses ke Model Foundry yang dijual oleh Azure, model lain dari katalog, dan alat platform. Alat-alat ini termasuk pencarian file, penerjemah kode, pencarian web, memori, SharePoint, WorkIQ, Fabric IQ, dan server MCP. Titik akhir proyek melayani lalu lintas ini pada
/openairute.
Sebagian besar aplikasi menggunakan kedua klien. Gunakan klien proyek untuk penyiapan dan konfigurasi, lalu gunakan klien yang kompatibel dengan OpenAI untuk menjalankan agen, evaluasi, dan model panggilan.
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>
Referensi: Kelas AIProjectClient
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>
Referensi: 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>
Referensi: Kelas AIProjectClient
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>
Referensi: Kelas AIProjectClient
Menjelajahi kemampuan Foundry SDK
- Access Foundry Models, termasuk Azure OpenAI
- Menggunakan Foundry Agent Service
- Menjalankan evaluasi batch
- Mengaktifkan pelacakan aplikasi
- Mengoptimalkan model
- Dapatkan titik akhir dan kunci untuk Foundry Tools, orkestrasi lokal, dan lainnya
Pemecahan masalah
Kesalahan autentikasi
Jika Anda melihat DefaultAzureCredential failed to retrieve a token:
Pastikan Azure CLI telah diautentikasi:
az account show az login # if not logged inPeriksa penetapan peran RBAC:
Konfirmasikan bahwa Anda memiliki setidaknya peran Pengguna Foundry pada proyek Foundry
Penting
Peran Foundry RBAC baru-baru ini diubah namanya. Pengguna Foundry, Pemilik Foundry, Pemilik Akun Foundry, dan Manajer Proyek Foundry sebelumnya bernama Pengguna Azure AI, Pemilik Azure AI, Pemilik Akun Azure AI, dan Manajer Proyek Azure AI. Anda mungkin masih melihat nama sebelumnya di beberapa tempat saat penggantian nama diluncurkan. ID peran dan izin inti tidak berubah oleh penggantian nama.
Lihat Menetapkan peran Azure
Untuk identitas terkelola pada lingkungan produksi:
- Pastikan identitas terkelola memiliki peran yang sesuai yang ditetapkan
- Lihat Mengonfigurasi identitas terkelola
Kesalahan konfigurasi titik akhir
Jika Anda melihat Connection refused atau 404 Not Found:
- Verifikasi nama sumber daya dan proyek yang cocok dengan penyebaran Anda yang sebenarnya
-
Periksa format URL titik akhir: Harus
https://<resource-name>.services.ai.azure.com/api/projects/<project-name> -
Untuk subdomain kustom: Ganti
<resource-name>dengan subdomain kustom Anda
Ketidakcocokan versi SDK
Jika sampel kode gagal dengan AttributeError atau ModuleNotFoundError:
Periksa versi SDK:
pip show azure-ai-projects # Python npm list @azure/ai-projects # JavaScript dotnet list package # .NETInstal ulang dengan bendera versi yang benar: Lihat perintah penginstalan di setiap bagian bahasa di atas
OpenAI SDK
Gunakan OpenAI SDK saat Anda menginginkan permukaan OpenAI API penuh, latensi terbaik, dan kompatibilitas maksimum dengan klien OpenAI yang ada. Titik akhir ini mengekspos Responses API pada Azure OpenAI secara langsung dan menyediakan akses ke model dan model OpenAI Azure yang dijual oleh Azure, termasuk penyematan, penyelesaian obrolan, dan pembuatan gambar. Ini tidak menyediakan akses ke fitur khusus Foundry seperti agen, evaluasi, atau alat platform eksklusif Foundry. Untuk fitur tersebut, gunakan API Respons di titik akhir proyek Anda melalui Foundry SDK.
Tips
Gunakan titik akhir OpenAI SDK untuk menghasilkan embedding. Titik akhir proyek yang digunakan oleh Foundry SDK saat ini tidak merutekan permintaan penyematan.
Cuplikan berikut menunjukkan cara menggunakan titik akhir Azure OpenAI /openai/v1 secara langsung.
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>
Cuplikan berikut menunjukkan cara menggunakan titik akhir Azure OpenAI /openai/v1 secara langsung.
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>
Jalankan perintah ini untuk menambahkan pustaka klien OpenAI ke proyek .NET Anda.
dotnet add package OpenAI
Ketika berhasil, .NET CLI mengonfirmasi bahwa itu menginstal OpenAI paket.
Cuplikan ini mengonfigurasi DefaultAzureCredential, membangun OpenAIClientOptions, dan menciptakan ResponsesClient untuk endpoint Azure OpenAI v1.
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>
SDK Antropis
Gunakan SDK Anthropic untuk bekerja dengan model Anthropic Claude yang disebarkan di Foundry. Model Claude menggunakan endpoint /anthropic yang terpisah dan Anthropic Messages API, bukan endpoint yang kompatibel dengan OpenAI.
Titik akhir Anthropic menambahkan /anthropic ke URL sumber daya Anda:
https://<resource-name>.services.ai.azure.com/anthropic
API Pesan tersedia di:
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>
SDK Anthropic tidak menyediakan klien C# asli. Gunakan REST API dengan HttpClient untuk memanggil model Claude.
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>
SDK Anthropic tidak menyediakan klien Java asli. Gunakan REST API dengan HttpClient untuk memanggil model Claude.
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>
Untuk informasi selengkapnya, lihat Menggunakan model Anthropic Claude di Microsoft Foundry.
Kerangka Kerja Agen
Microsoft Agent Framework adalah SDK sumber terbuka untuk C#/.NET dan Python yang menyediakan orkestrasi multi-agen terpadu dan abstraksi yang konsisten untuk membangun agen dan sistem multi-agen. Ini adalah lapisan orkestrasi yang direkomendasikan untuk Agen Hosted di Foundry.
- Jika sebelumnya Anda menggunakan AutoGen atau Kernel Semantik untuk orkestrasi multi-agen (mengoordinasikan beberapa agen untuk bekerja sama pada tugas), pertimbangkan Agent Framework sebagai lapisan orkestrasi utama Anda. Ini membantu Anda menghindari menggabungkan beberapa SDK orkestrasi yang menyelesaikan tugas koordinasi serupa, yang dapat menambahkan abstraksi dan dependensi yang bertentangan.
- Jika Anda sudah memiliki kode orkestrasi yang ada secara substansial, bergantung pada fitur khusus produk, atau menghadapi persyaratan migrasi yang kompleks, evaluasi persyaratan tersebut sebelum berkonsolidasi pada Agent Framework.
Jalankan kode Anda pada agen host
Cerita utama untuk agen berbasis kode di Foundry adalah agen yang dihosting. Buat agen Anda dengan Agent Framework, kemas menjadi image kontainer atau file zip kode sumber Anda, dan biarkan Foundry menjalankannya dengan endpoint terkelola, penskalaan otomatis pada Micro VM yang terisolasi, identitas agen Microsoft Entra khusus, status tingkat sesi, dan observabilitas end-to-end.
Agen terhosting adalah opsi yang direkomendasikan saat Anda menginginkan endpoint yang dikelola Foundry dan dapat diakses melalui jaringan, yang dapat dipanggil oleh aplikasi atau agen lain. Lihat Menerapkan Hosted agent pertama Anda.
Buat agen dalam kode di luar Foundry dengan Responses API
Jika Anda menghosting agen Anda di luar Foundry — dalam proses atau infrastruktur Anda sendiri - Anda juga dapat menggunakan Agent Framework untuk memanggil API Respons di titik akhir proyek Anda secara langsung. Agent Framework terhubung melalui penyedia FoundryChatClient, yang menargetkan:
{project_endpoint}/openai/v1/responses
Menggunakan endpoint proyek — alih-alih endpoint OpenAI tingkat sumber daya — membuat agen Anda mendapatkan:
- Model Foundry dari katalog (Azure OpenAI dan model langsung Foundry) melalui satu API.
- Alat platform di luar rangkaian alat OpenAI, termasuk pencarian file, interpreter kode, memori, pencarian web, server MCP, SharePoint, WorkIQ, dan Fabric IQ.
- Data dengan cakupan proyek, autentikasi alat On-Behalf-Of (OBO), serta pelacakan, filter konten, dan konfigurasi identitas proyek.
Pola ini bersifat aditif untuk agen yang Dihosting, bukan alternatif — kode Kerangka Kerja Agen yang sama dapat memanggil API Respons dari proses Anda sendiri hari ini dan dikemas sebagai agen yang Dihosting nanti ketika Anda menginginkan titik akhir yang dikelola Foundry. Lihat Panduan Memulai Cepat: Membuat agen menggunakan Responses API.
Untuk perbandingan lengkap jenis agen dan pilihan hosting, lihat Apa Microsoft Foundry Agent Service?.
SDK Foundry Tools
Foundry Tools (sebelumnya Azure Layanan AI) adalah solusi titik bawaan dengan SDK khusus. Gunakan titik akhir berikut untuk bekerja dengan Foundry Tools.
Titik akhir mana yang harus Anda gunakan?
Pilih titik akhir berdasarkan kebutuhan Anda:
Gunakan titik akhir Layanan AI Azure untuk mengakses Computer Vision, Keamanan Konten, Kecerdasan Dokumen, Bahasa, Terjemahan, dan Alat Foundry Token.
Titik akhir Foundry Tools: https://<your-resource-name>.cognitiveservices.azure.com/
Catatan
Titik akhir menggunakan nama sumber daya Anda atau subdomain kustom. Jika organisasi Anda menyiapkan subdomain kustom, ganti your-resource-name dengan your-custom-subdomain di semua contoh titik akhir.
Jika beban kerja Anda menggunakan fitur Azure AI Bahasa yang dihentikan—misalnya, analisis sentimen, ekstraksi frasa kunci, ringkasan, penautan entitas, CLU, atau CQA—berencana untuk bermigrasi ke alternatif Microsoft Foundry. Untuk pengembangan baru, pertimbangkan untuk menggunakan Foundry SDK atau titik akhir yang kompatibel dengan OpenAI seperti yang dijelaskan sebelumnya dalam artikel ini. Lihat Migrate dari Language Studio ke Microsoft Foundry.
Untuk Alat Foundry Ucapan dan Terjemahan, gunakan titik akhir dalam tabel berikut. Ganti placeholder dengan informasi sumber daya Anda.
Titik Akhir Ucapan
| Alat Perangkat Foundry | Titik Akhir |
|---|---|
| Ucapan ke Teks (Standar) | https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com |
| Teks ke Ucapan (Neural) | https://<YOUR-RESOURCE-REGION>.tts.speech.microsoft.com |
| Suara Kustom | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Titik Akhir Terjemahan
| Alat Perangkat Foundry | Titik Akhir |
|---|---|
| Terjemahan Teks | https://api.cognitive.microsofttranslator.com/ |
| Terjemahan Dokumen | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Titik Akhir Bahasa
| Alat Perangkat Foundry | Titik Akhir |
|---|---|
| Analisis teks | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com |
Penting
Pada 20 Maret 2027, Azure Language Studio akan berhenti dan bermigrasi ke Microsoft Foundry; semua kemampuan dan peningkatan di masa mendatang akan tersedia di Microsoft Foundry.
Pada 31 Maret 2029, kemampuan bahasa Azure berikut akan dihentikan (akhir dukungan). Sebelum tanggal tersebut, pengguna harus memigrasikan beban kerja yang ada dan menyetorkan proyek baru ke model Microsoft Foundry untuk pemahaman bahasa alami yang ditingkatkan dan integrasi aplikasi yang disederhanakan:
- Ekstraksi Frasa Utama
- Analisis Sentimen dan Penggalian Opini
- Klasifikasi Teks Kustom
- Pemahaman Bahasa Alami Percakapan (CLU)
- Jawaban Pertanyaan Kustom (CQA)
- Alur Kerja Orkestrasi
- Ringkasan (ekstraktif dan abstraktif, untuk dokumen dan percakapan)
- Penghubungan Entitas
Fitur inti dengan dukungan berkelanjutan: Deteksi Bahasa, Deteksi PII, Text Analytics untuk Kesehatan, NER Bawaan, dan NER Kustom.
Untuk opsi migrasi, lihat Migrate dari Language Studio ke Microsoft Foundry.