Artikel ini menjelaskan cara menghasilkan respons teks untuk Model Foundry, seperti model Microsoft AI, DeepSeek, dan Grok, dengan menggunakan API Respons. Untuk daftar lengkap Model Foundry yang mendukung penggunaan API Respons, lihat Model Foundry yang Didukung.
Prasyarat
Untuk menggunakan API Respons dengan model yang disebarkan di aplikasi Anda, Anda memerlukan:
Langganan Azure. Jika Anda menggunakan Model GitHub, Anda dapat meningkatkan pengalaman dan membuat langganan Azure dalam prosesnya. Baca Tingkatkan dari Model GitHub ke Microsoft Foundry Models jika ini adalah kasus Anda.
Sebuah proyek Foundry. Jenis project ini dikelola di bawah sumber daya Foundry. Jika Anda tidak memiliki foundry project, lihat Buat project untuk Microsoft Foundry.
URL titik akhir proyek Foundry Anda, yang dalam bentuk https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME.
Penyebaran Model Foundry, termasuk model yang digunakan dalam artikel ini. Jika Anda belum memiliki penerapan, lihat Menambahkan dan mengonfigurasi Model Foundry untuk menerapkan model ke sumber daya Anda.
Menggunakan kit pemula model AI
Cuplikan kode dalam artikel ini berasal dari paket pemula model AI. Gunakan kit pemula ini sebagai cara cepat untuk memulai dengan infrastruktur cloud lengkap dan kode yang diperlukan untuk memanggil Model Foundry, menggunakan pustaka OpenAI yang stabil dengan API Respons.
Menggunakan API Respons untuk menghasilkan teks
Gunakan kode di bagian ini untuk melakukan panggilan API Respons untuk Model Foundry. Dalam sampel kode, Anda membuat klien untuk menggunakan model lalu mengirimkannya permintaan dasar.
Petunjuk / Saran
Saat Anda menyebarkan model di portal Foundry, Anda menetapkannya nama penyebaran. Gunakan nama penyebaran ini (bukan ID katalog model) dalam parameter panggilan API Anda.
-
Python
-
C#
-
JavaScript
-
Java
-
Lanjut
Instal pustaka, termasuk pustaka klien Azure Identity:
pip install azure-identity
pip install openai
Gunakan kode berikut untuk mengonfigurasi objek klien OpenAI di rute project, menentukan penyebaran Anda, dan menghasilkan respons.
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI
project_endpoint = "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME"
# Build the base URL: project_endpoint + /openai/v1 (no api-version needed)
base_url = project_endpoint.rstrip("/") + "/openai/v1"
# Use get_bearer_token_provider for automatic token refresh
credential = DefaultAzureCredential()
client = OpenAI(
base_url=base_url,
api_key=get_bearer_token_provider(credential, "https://ai.azure.com/.default"),
)
response = client.responses.create(
model="DeepSeek-V3.1", # Replace with your deployment name, not the model ID
input="What are the top 3 benefits of cloud computing? Be concise.",
max_output_tokens=500,
)
print(response.model_dump_json(indent=2))
Instal pustaka klien Azure Identity:
dotnet add package Azure.Identity
dotnet add package OpenAI
Gunakan kode berikut untuk mengonfigurasi objek klien OpenAI di rute project, menentukan penyebaran Anda, dan menghasilkan respons.
using Azure.Identity;
using OpenAI;
using OpenAI.Responses;
var deploymentName = "DeepSeek-V3.1"; // Replace with your deployment name, not the model ID
var project_endpoint = "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME";
// Get EntraID token for keyless auth
var credential = new DefaultAzureCredential();
var token = await credential.GetTokenAsync(
new Azure.Core.TokenRequestContext(["https://ai.azure.com/.default"])
);
// Standard OpenAI client — no AzureOpenAI wrapper (no api-version needed with /v1 path)
var baseUrl = project_endpoint.TrimEnd('/') + "/openai/v1";
var client = new OpenAIClient(
new ApiKeyCredential(token.Token),
new OpenAIClientOptions { Endpoint = new Uri(baseUrl) });
var responseClient = client.GetResponsesClient(deploymentName);
var result = await responseClient.CreateResponseAsync(new CreateResponseOptions(
[ResponseItem.CreateUserMessageItem("What are the top 3 benefits of cloud computing? Be concise.")])
{ MaxOutputTokenCount = 500 }
);
Console.WriteLine($"Response: {result.Value.GetOutputText()}");
Console.WriteLine($"Status: {result.Value.Status}");
Console.WriteLine($"Output tokens: {result.Value.Usage.OutputTokenCount}");
Instal pustaka klien Azure Identity sebelum Anda dapat menggunakan DefaultAzureCredential:
npm install @azure/identity
npm install openai
Gunakan kode berikut untuk mengonfigurasi objek klien OpenAI di rute project, menentukan penyebaran Anda, dan menghasilkan respons.
import OpenAI from "openai";
import { DefaultAzureCredential } from "@azure/identity";
async function getToken(): Promise<string> {
const credential = new DefaultAzureCredential();
const tokenResponse = await credential.getToken(
"https://ai.azure.com/.default"
);
return tokenResponse.token;
}
async function main() {
const projectEndpoint = "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME";
const deploymentName = "DeepSeek-V3.1"; // Replace with your deployment name, not the model ID
const baseURL = projectEndpoint.replace(/\/+$/, "") + "/openai/v1";
const token = await getToken();
const client = new OpenAI({
baseURL,
apiKey: token,
});
const response = await client.responses.create({
model: deploymentName,
input: "What are the top 3 benefits of cloud computing? Be concise.",
max_output_tokens: 500,
});
console.log(`Response: ${response.output_text}`);
console.log(`Status: ${response.status}`);
console.log(`Output tokens: ${response.usage?.output_tokens}`);
}
main();
Autentikasi dengan Microsoft Entra ID memerlukan beberapa penyiapan awal. Pertama, instal pustaka klien Azure Identity. Untuk opsi lebih lanjut tentang cara menginstal pustaka ini, lihat pustaka klien Azure Identity untuk Java.
Tambahkan pustaka klien Azure Identity:
<dependencies>
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.22.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.15.4</version>
</dependency>
</dependencies>
Setelah penyiapan, pilih jenis kredensial mana dari azure.identity yang akan digunakan. Misalnya, gunakan untuk mengautentikasi klien. Autentikasi paling mudah dengan , karena menemukan kredensial terbaik untuk digunakan di lingkungan eksekusinya.
Gunakan kode berikut untuk mengonfigurasi objek klien OpenAI di rute project, menentukan penyebaran Anda, dan menghasilkan respons.
import com.azure.core.credential.TokenRequestContext;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.ResponseCreateParams;
public class Sample {
public static void main(String[] args) {
String endpoint = "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME";
String deploymentName = "DeepSeek-V3.1"; // Replace with your deployment name, not the model ID
// Get EntraID token for keyless auth
var credential = new DefaultAzureCredentialBuilder().build();
var context = new TokenRequestContext().addScopes("https://ai.azure.com/.default");
String token = credential.getToken(context).block().getToken();
// Standard OpenAI client — no Azure wrapper
// Java SDK uses /openai/v1 path (no api-version needed; SDK manages versioning internally)
String baseUrl = endpoint.replaceAll("/+$", "") + "/openai/v1";
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl(baseUrl)
.apiKey(token)
.build();
var response = client.responses().create(
ResponseCreateParams.builder()
.model(deploymentName)
.input("What are the top 3 benefits of cloud computing? Be concise.")
.maxOutputTokens(500)
.build()
);
System.out.printf("Response: %s%n", getOutputText(response));
System.out.printf("Status: %s%n", response.status());
response.usage().ifPresent(u ->
System.out.printf("Output tokens: %d%n", u.outputTokens()));
}
}
package main
import (
"context"
"fmt"
"os"
"strings"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
"github.com/openai/openai-go/v3/responses"
)
func main() {
projectEndpoint := "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME"
deploymentName := "DeepSeek-V3.1" // Replace with your deployment name, not the model ID
ctx := context.Background()
// Get EntraID token for keyless auth
credential, err := azidentity.NewDefaultAzureCredential(nil)
token, err := credential.GetToken(ctx, policy.TokenRequestOptions{
Scopes: []string{"https://ai.azure.com/.default"},
})
// Standard OpenAI client — no Azure wrapper (no api-version needed with /v1 path)
baseURL := strings.TrimRight(projectEndpoint, "/") + "/openai/v1"
client := openai.NewClient(
option.WithBaseURL(baseURL),
option.WithAPIKey(token.Token),
)
resp, err := client.Responses.New(ctx, responses.ResponseNewParams{
Model: deploymentName,
Input: responses.ResponseNewParamsInputUnion{
OfString: openai.String("What are the top 3 benefits of cloud computing? Be concise."),
},
MaxOutputTokens: openai.Int(500),
})
fmt.Printf("Response: %s\n", resp.OutputText())
fmt.Printf("Status: %s\n", resp.Status)
fmt.Printf("Output tokens: %d\n", resp.Usage.OutputTokens)
}
Respons mencakup teks yang dihasilkan bersama dengan model dan metadata penggunaan.
Model Foundry yang Didukung
Sejumlah Model Foundry didukung untuk digunakan dengan API Respons.
Menampilkan model yang didukung di portal Foundry
Untuk melihat daftar lengkap model yang didukung di portal Foundry:
- Masuk ke Microsoft Foundry. Pastikan tombol New Foundry aktif. Langkah-langkah ini mengacu pada Foundry (baru).
- Pilih Temukan di navigasi kanan atas, lalu Model di panel kiri.
- Buka menu dropdown Kemampuan dan pilih filter yang didukung Agen .
Daftar model yang didukung
Bagian ini mencantumkan beberapa Model Foundry yang didukung untuk digunakan dengan API Respons. Untuk model Azure OpenAI yang didukung, lihat Available Azure OpenAI models.
Models dijual langsung oleh Azure:
- MAI-DS-R1: Penalaran deterministik dan berfokus pada presisi.
- grok-4: Penalaran skala frontier untuk pemecahan masalah yang kompleks dalam beberapa langkah.
- grok-4-fast-reasoning: Penalaran agenik dipercepat yang dioptimalkan untuk otomatisasi alur kerja.
- grok-4-fast-non-reasoning: Pemrosesan data tinggi, pengembangan berlatensi rendah, dan perutean sistem.
- grok-3: Penalaran yang kuat untuk alur kerja tingkat sistem yang kompleks.
- grok-3-mini: Model ringan yang dioptimalkan untuk kasus penggunaan interaktif volume tinggi.
- Llama-3.3-70B-Instruct: Model serbaguna untuk tanya jawab perusahaan, dukungan keputusan, dan orkestrasi sistem.
- Llama-4-Maverick-17B-128E-Instruct-FP8: Model yang dioptimalkan FP8 yang memberikan inferensi yang cepat dan hemat biaya.
- DeepSeek-V3-0324: Pemahaman multimodal di seluruh teks dan gambar.
- DeepSeek-V3.1: Peningkatan penalaran multimodal dan pengambilan data berbasis konteks.
- DeepSeek-R1-0528: Penalaran bentuk panjang dan beberapa langkah tingkat lanjut.
- gpt-oss-120b: Model ekosistem terbuka yang mendukung transparansi dan reproduksi.
Memecahkan masalah kesalahan umum
| Kesalahan |
Penyebab |
Resolusi |
| 401 Tidak Sah |
Kredensial tidak valid atau kedaluwarsa |
Verifikasi bahwa Anda memiliki peran Pengguna OpenAI Cognitive Services yang ditetapkan pada sumber daya. |
| 404 Tidak ditemukan |
Titik akhir atau nama penyebaran yang salah |
Pastikan URL endpoint Anda menyertakan dan nama penyebaran cocok dengan portal Foundry Anda. |
| Model 400 tidak didukung |
Model tidak mendukung Api Respons |
Periksa daftar model yang didukung dan verifikasi penyebaran Anda menggunakan model yang kompatibel. |
Konten terkait