Microsoft Foundry Modelleri, tek bir uç nokta ve kimlik bilgileri kümesi aracılığıyla birçok sağlayıcının çok çeşitli modellerine erişim sağlar. Bu özellik, kod değişikliği yapmadan modeller arasında geçiş yapmanızı ve bunları uygulamanızda kullanmanızı sağlar.
Bu makalede, Foundry hizmetlerinin modelleri nasıl düzenlediği ve bunlara erişmek için çıkarım uç noktasının nasıl kullanılacağı açıklanmaktadır.
Prerequisites
Dağıtım
Foundry, model erişimi için takma adlar olarak dağıtımları kullanır. Dağıtım, modele bir ad ve yapılandırma kümesi verir. İsteklerinizde dağıtım adını kullanarak bir modele erişebilirsiniz.
Dağıtım şunları tanımlar:
- Model adı
- Model sürümü
- Sağlama veya kapasite türü1
- İçerik filtreleme yapılandırması1
- Hız sınırlama yapılandırması1
1 Bu yapılandırmalar seçilen modele bağlı olarak değişebilir.
Bir 'Foundry' kaynağında birçok model dağıtımı olabilir. Yalnızca model dağıtımlarında gerçekleştirilen çıkarım için ödeme gerçekleştirirsiniz. Dağıtımlar Azure kaynaklardır, bu nedenle Azure ilkelerine tabidir.
Dağıtım oluşturma hakkında daha fazla bilgi için bkz. Model dağıtımları ekleme ve yapılandırma.
Azure OpenAI çıkarım uç noktası
Azure OpenAI API OpenAI modellerinin tüm özelliklerini kullanıma sunar ve yardımcılar, iş parçacıkları, dosyalar ve toplu çıkarım gibi daha fazla özelliği destekler. OpenAI olmayan modellere erişmek için de kullanabilirsiniz.
Azure OpenAI uç noktaları https://<resource-name>.openai.azure.com şeklinde biçimlendirilir. Uç noktalar dağıtımlara eşlenir ve her dağıtımın kendisine ait bir URL'si vardır. Ancak, birden fazla dağıtım kullanmak için aynı kimlik doğrulama mekanizmasını kullanabilirsiniz. Daha fazla bilgi için Azure OpenAI API başvuru sayfasına bakın.
Dağıtım URL'leri, Azure OpenAI temel URL'si ve yolu /deployments/<model-deployment-name>bir araya gelerek oluşturulur. OpenAI v1 API’sini kullanırken, temel URL olan https://<resource-name>.openai.azure.com/openai/v1/ üzerindeki /openai/v1/ yolunu çağırın ve dağıtım adını isteğinizdeki model alanına iletin.
/openai/v1/ yolu örtük sürümleme kullanır, bu nedenle bir api-version parametresi iletmezsiniz.
Aşağıdaki örnekler, en son çıkarım özelliklerini destekleyen Yanıtlar API'sini kullanır.
Note
Responses API, Azure OpenAI modelleriyle ve Azure tarafından sunulan Foundry Models içinden bu API’yi destekleyen DeepSeek, Llama ve Grok gibi modellerle çalışır. Bir dağıtım Yanıtlar API'sini desteklemiyorsa, istek döndürür 400 Model not supported. Bu durumda, bunun yerine client.chat.completions.create çağrısını yaparak Chat Completions API'sini kullanın.
API anahtarı kimlik doğrulamayı kullanma
Döküm kaynağınızdan bir API anahtarıyla çıkarım isteklerinin kimliğini doğrulayabilirsiniz. API anahtarlarını oluşturmak hızlıdır, ancak kaynağa tam erişim sağlarlar, belirli kullanıcılar veya eylemlerle sınırlandırılmaları zordur ve güvenliğin korunması için manuel olarak yenilenmeleri gerekir. Üretim iş yükleri için bunun yerine Microsoft Entra ID ile anahtarsız kimlik doğrulamasını kullanın.
Aşağıdaki örnekte, deepseek-v3-0324 Microsoft Foundry kaynağındaki bir model dağıtımının adıdır. Bunu kendi dağıtım adınızla değiştirin ve API anahtarınızı ortam değişkeninde AZURE_INFERENCE_CREDENTIAL depolayın.
openai Pip kullanarak paketi yükleyin:
pip install openai --upgrade
Azure OpenAI v1 uç noktasına işaret eden bir istemci oluşturun ve ardından bir yanıt oluşturun.
/openai/v1/ yolu örtük sürümleme kullanır, bu nedenle bir api-version parametresi iletmezsiniz. Dağıtım adınızı model alana geçirin:
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)
openai npm kullanarak paketi yükleyin:
npm install openai
Azure OpenAI v1 uç noktasına işaret eden bir istemci oluşturun ve ardından bir yanıt oluşturun:
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);
OpenAI kitaplığını yükleyin:
dotnet add package OpenAI
Azure OpenAI v1 uç noktasına işaret eden bir istemci oluşturun ve ardından bir yanıt oluşturun:
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());
OpenAI Java SDK'sını projenize ekleyin. En son sürüm için OpenAI Java deposunu denetleyin.
Azure OpenAI v1 uç noktasına işaret eden bir istemci oluşturun ve ardından bir yanıt oluşturun:
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()));
İstekleri doğrudan v1 yoluna gönderin.
/openai/v1/ yolu örtük sürümleme kullanır, bu nedenle api-version sorgu parametresini eklemezsiniz. Anahtarınızı Authorization başlığında Bearer belirteci olarak iletin:
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."
}'
Azure OpenAI uç noktasını kullanma hakkında daha fazla bilgi için bkz. OpenAI SDK dil desteği Azure.
Anahtarsız kimlik doğrulamayı kullanma
Dağıtılan Foundry Modelleri, Microsoft Entra ID ile anahtarsız yetkilendirmeyi destekler. Anahtarsız yetkilendirme güvenliği artırır, kullanıcı deneyimini basitleştirir, işlem karmaşıklığını azaltır ve güçlü uyumluluk desteği sağlar. Kuruluşunuz güvenli ve ölçeklenebilir kimlik yönetimi çözümleri kullanıyorsa anahtarsız yetkilendirme kullanın.
Anahtarsız kimlik doğrulamasını kullanmak için kaynağınızı yapılandırın ve çıkarım gerçekleştirmek için kullanıcılara erişim verin . Kaynağı yapılandırdıktan ve erişim izni verdikten sonra aşağıdaki gibi kimlik doğrulaması yapın:
OpenAI SDK'sını pip gibi bir paket yöneticisi kullanarak yükleyin:
pip install openai
Microsoft Entra ID kimlik doğrulaması için şunları da yükleyin:
pip install azure-identity
Modeli kullanmak için paketi kullanın. Aşağıdaki örnekte, Microsoft Entra ID ve model dağıtımınızı kullanarak istemci oluşturma ve Yanıtlar API'sine test çağrısı yapma adımları gösterilmektedir.
<resource> ile Foundry kaynak adınızı değiştirin. Azure portalında veya az cognitiveservices account list çalıştırarak bulun.
deepseek-v3-0324 değerini gerçek dağıtım adınız ile değiştirin.
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)
Beklenen çıkış
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.
Referans: OpenAI Python SDK ve DefaultAzureCredential sınıfı.
OpenAI SDK'sını yükleyin:
dotnet add package OpenAI
Microsoft Entra ID kimlik doğrulaması için Azure.Identity paketini de yükleyin:
dotnet add package Azure.Identity
Ardından, modelden yararlanmak için paketi kullanın. Aşağıdaki örnekte, Microsoft Entra ID ve model dağıtımınızı kullanarak istemci oluşturma ve Yanıtlar API'sine test çağrısı yapma adımları gösterilmektedir.
<resource> yerine, Azure portalında (bulabileceğiniz) Foundry kaynak adınızı kullanın.
deepseek-v3-0324 değerini gerçek dağıtım adınız ile değiştirin.
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());
Beklenen çıkış:
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.
Referans: OpenAI .NET SDK ve DefaultAzureCredential sınıfı.
OpenAI SDK'sını npm ile yükleyin:
npm install openai
Microsoft Entra ID kimlik doğrulaması için şunları da yükleyin:
npm install @azure/identity
Ardından, modelden yararlanmak için paketi kullanın. Aşağıdaki örnekte, Microsoft Entra ID ve model dağıtımınızı kullanarak istemci oluşturma ve Yanıtlar API'sine test çağrısı yapma adımları gösterilmektedir.
<resource> değerini Foundry kaynak adınızla değiştirin (Azure portalında veya az cognitiveservices account list çalıştırarak bulun).
deepseek-v3-0324 değerini gerçek dağıtım adınız ile değiştirin.
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);
Beklenen çıkış:
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.
Başvuru: OpenAI Node.js SDK ve DefaultAzureCredential sınıfı.
OpenAI SDK'sını projenize ekleyin. En son sürüm ve yükleme yönergeleri için OpenAI Java GitHub deposunu denetleyin.
Microsoft Entra ID kimlik doğrulaması için şunları da ekleyin:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.0</version>
</dependency>
Ardından, modelden yararlanmak için paketi kullanın. Aşağıdaki örnekte, Microsoft Entra ID ve model dağıtımınızı kullanarak istemci oluşturma ve Yanıtlar API'sine test çağrısı yapma adımları gösterilmektedir.
<resource> yerine, Azure portalında (bulabileceğiniz) Foundry kaynak adınızı kullanın.
deepseek-v3-0324 değerini gerçek dağıtım adınız ile değiştirin.
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()));
Beklenen çıkış:
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.
Başvuru: OpenAI Java SDK ve DefaultAzureCredential sınıfı.
Hangi parametrelerin kullanılabilir olduğunu görmek için başvuru bölümündeki API tasarımını keşfedin. Kimlik doğrulama (Bearer) belirtecini Authorization başlığına ekleyin.
Örneğin, Yanıtlar API'sinin başvuru bölümünde tahmin oluşturmak için yolun nasıl kullanılacağı /responses ayrıntılı olarak anlatılmıştır.
/openai/v1/ Yol, URL'nin köküne eklenir:
Istek
<resource> değerini Foundry kaynak adınızla değiştirin (Azure portalında veya az cognitiveservices account list çalıştırarak bulun).
deepseek-v3-0324 değerini gerçek dağıtım adınız ile değiştirin.
Temel URL hem hem de https://<resource>.openai.azure.com/openai/v1/https://<resource>.services.ai.azure.com/openai/v1/ biçimlerini kabul eder.
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?"
}'
Yanıt
Kimlik doğrulaması başarılı olursa yanıt gövdesinde yanıt sonuçlarını içeren bir 200 OK yanıt alırsınız:
{
"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
}
}
Belirteçlerin https://ai.azure.com/.default kapsamıyla verilmesi gerekir.
Test amacıyla, kullanıcı hesabınız için geçerli bir belirteç almanın en kolay yolu Azure CLI kullanmaktır. Konsolda aşağıdaki Azure CLI komutlarını çalıştırarak oturum açın ve belirteç isteyin:
az login
az account get-access-token --resource https://ai.azure.com --query "accessToken" --output tsv
Bu komut, ortam değişkeninde $AZURE_OPENAI_AUTH_TOKEN depolayabileceğiniz bir erişim belirteci oluşturur.
Referans: Yanıtlar API'si
İlgili içerik