Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu makale , Microsoft Foundry (klasik) portalına başvurur.
🔄Yeni portalı kullanıyorsanız Microsoft Foundry (yeni) belgelerine geçin.
Uyarı
Bu makale , Microsoft Foundry (yeni) portalına başvurur.
Önkoşullar
- Dağıtılan bir Azure OpenAI modeli
- Aşağıdaki kimlik doğrulama yöntemlerinden biri:
- Microsoft Entra Id (önerilir).
- Bir API anahtarı.
Azure OpenAI API sürüm desteği
- v1 Genel Kullanıma Açık (GA) API artık hem GA hem de Önizleme işlemlerine erişime izin veriyor. Daha fazla bilgi edinmek için API sürümü yaşam döngüsü kılavuzuna bakın.
Kurulum
dotnet add package OpenAI
Kimlik doğrulama
Güvenli, anahtarsız bir kimlik doğrulama yaklaşımı, Azure Identity kitaplığı aracılığıyla Microsoft Entra ID (eski adıyla Azure Active Directory) kullanmaktır. Kitaplığı kullanmak için:
dotnet add package Azure.Identity
Kütüphaneden tercih edilen kimlik bilgisi türünü kullanın. Örneğin, DefaultAzureCredential:
using Azure.Identity;
using OpenAI;
using OpenAI.Chat;
using System.ClientModel.Primitives;
#pragma warning disable OPENAI001
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default");
ChatClient client = new(
model: "gpt-4.1-nano",
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions() {
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
ChatCompletion completion = client.CompleteChat("Tell me about the bitter lesson.");
Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");
Azure OpenAI anahtarsız kimlik doğrulaması hakkında daha fazla bilgi için "Azure OpenAI güvenlik yapı taşını kullanmaya başlama" Hızlı Başlangıç makalesine bakın.
Sohbet
Bir akıl yürütme modeline sohbet tamamlama isteği örneği.
using OpenAI;
using OpenAI.Chat;
using System.ClientModel.Primitives;
#pragma warning disable OPENAI001 //currently required for token based authentication
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default");
ChatClient client = new(
model: "o4-mini",
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
ChatCompletionOptions options = new ChatCompletionOptions
{
ReasoningEffortLevel = ChatReasoningEffortLevel.Low,
MaxOutputTokenCount = 100000
};
ChatCompletion completion = client.CompleteChat(
new DeveloperChatMessage("You are a helpful assistant"),
new UserChatMessage("Tell me about the bitter lesson")
);
Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");
Eklemeler
using OpenAI;
using OpenAI.Embeddings;
using System.ClientModel;
string apiKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY")
?? throw new InvalidOperationException("AZURE_OPENAI_API_KEY environment variable is not set");
EmbeddingClient client = new(
"text-embedding-3-large",
credential: new ApiKeyCredential(apiKey),
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
string input = "This is a test";
OpenAIEmbedding embedding = client.GenerateEmbedding(input);
ReadOnlyMemory<float> vector = embedding.ToFloats();
Console.WriteLine($"Embeddings: [{string.Join(", ", vector.ToArray())}]");
Yanıtlar API'si
using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
using Azure.Identity;
#pragma warning disable OPENAI001 //currently required for token based authentication
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default");
OpenAIResponseClient client = new(
model: "o4-mini",
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
OpenAIResponse response = await client.CreateResponseAsync(
userInputText: "What's the optimal strategy to win at poker?",
new ResponseCreationOptions()
{
ReasoningOptions = new ResponseReasoningOptions()
{
ReasoningEffortLevel = ResponseReasoningEffortLevel.High,
},
});
Console.WriteLine(response.GetOutputText());
Yayın
using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
using Azure.Identity;
#pragma warning disable OPENAI001 //currently required for token based authentication
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default");
#pragma warning disable OPENAI001
OpenAIResponseClient client = new(
model: "o4-mini",
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
await foreach (StreamingResponseUpdate update
in client.CreateResponseStreamingAsync(
userInputText: "What's the optimal strategy to win at poker?",
new ResponseCreationOptions()
{
ReasoningOptions = new ResponseReasoningOptions()
{
ReasoningEffortLevel = ResponseReasoningEffortLevel.High,
},
}))
{
if (update is StreamingResponseOutputItemAddedUpdate itemUpdate
&& itemUpdate.Item is ReasoningResponseItem reasoningItem)
{
Console.WriteLine($"[Reasoning] ({reasoningItem.Status})");
}
else if (update is StreamingResponseOutputTextDeltaUpdate delta)
{
Console.Write(delta.Delta);
}
}
MCP Sunucusu
using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
using Azure.Identity;
#pragma warning disable OPENAI001 //currently required for token based authentication
BearerTokenPolicy tokenPolicy = new(
new DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default");
OpenAIResponseClient client = new(
model: "o4-mini",
authenticationPolicy: tokenPolicy,
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
ResponseCreationOptions options = new();
options.Tools.Add(ResponseTool.CreateMcpTool(
serverLabel: "microsoft_learn",
serverUri: new Uri("https://learn.microsoft.com/api/mcp"),
toolCallApprovalPolicy: new McpToolCallApprovalPolicy(GlobalMcpToolCallApprovalPolicy.NeverRequireApproval)
));
OpenAIResponse response = (OpenAIResponse)client.CreateResponse([
ResponseItem.CreateUserMessageItem([
ResponseContentPart.CreateInputTextPart("Search for information about Azure Functions")
])
], options);
Console.WriteLine(response.GetOutputText());
Hata yönetimi
Hata kodları
| Durum Kodu | Hata Türü |
|---|---|
| 400 | Bad Request Error |
| 401 | Authentication Error |
| 403 | Permission Denied Error |
| 404 | Not Found Error |
| 422 | Unprocessable Entity Error |
| 429 | Rate Limit Error |
| beş yüz | Internal Server Error |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
Yeniden denemeler
İstemci sınıfları, üstel geri alma kullanarak aşağıdaki hataları en fazla üç kez daha otomatik olarak yeniden dener:
- 408 İstek Zaman Aşımı
- 429 Çok Fazla İstek Var
- 500 İç Sunucu Hatası
- 502 Hatalı Ağ Geçidi
- 503 Hizmet Kullanılamıyor
- 504 Ağ Geçidi Zaman Aşımı
Kaynak kodu | Paket (pkg.go.dev) | REST API başvuru belgeleri | Paket başvurusu belgeleri
Azure OpenAI API sürüm desteği
- v1 Genel Kullanıma Açık (GA) API artık hem GA hem de Önizleme işlemlerine erişime izin veriyor. Daha fazla bilgi edinmek için API sürümü yaşam döngüsü kılavuzuna bakın.
Kurulum
openai ve azidentity modüllerini go get ile yükleyin.
go get -u 'github.com/openai/openai-go'
# optional
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Kimlik doğrulama
azidentity modülü, Azure OpenAI ile Microsoft Entra ID kimlik doğrulaması için kullanılır.
package main
import (
"context"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/azure"
"github.com/openai/openai-go/v3/option"
)
func main() {
// Create an Azure credential
tokenCredential, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
panic(fmt.Sprintf("Failed to create credential: %v", err))
}
// Create a client with Azure OpenAI endpoint and token credential
client := openai.NewClient(
option.WithBaseURL("https://YOUR-RESOURCE_NAME.openai.azure.com/openai/v1/"),
azure.WithTokenCredential(tokenCredential),
)
// Make a completion request
chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Explain what the bitter lesson is?"),
},
Model: "o4-mini", // Use your deployed model name on Azure
})
if err != nil {
panic(err.Error())
}
fmt.Println(chatCompletion.Choices[0].Message.Content)
}
Azure OpenAI anahtarsız kimlik doğrulaması hakkında daha fazla bilgi için bkz. Anahtar Kullanılmadan Azure OpenAI Kullanma.
Eklemeler
package main
import (
"context"
"fmt"
"os"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
// Get API key from environment variable
apiKey := os.Getenv("AZURE_OPENAI_API_KEY")
if apiKey == "" {
panic("AZURE_OPENAI_API_KEY environment variable is not set")
}
// Create a client with Azure OpenAI endpoint and API key
client := openai.NewClient(
option.WithBaseURL("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"),
option.WithAPIKey(apiKey),
)
ctx := context.Background()
text := "The attention mechanism revolutionized natural language processing"
// Make an embedding request
embedding, err := client.Embeddings.New(ctx, openai.EmbeddingNewParams{
Input: openai.EmbeddingNewParamsInputUnion{OfString: openai.String(text)},
Model: "text-embedding-3-small", // Use your deployed model name on Azure
})
if err != nil {
panic(err.Error())
}
// Print embedding information
fmt.Printf("Model: %s\n", embedding.Model)
fmt.Printf("Number of embeddings: %d\n", len(embedding.Data))
fmt.Printf("Embedding dimensions: %d\n", len(embedding.Data[0].Embedding))
fmt.Printf("Usage - Prompt tokens: %d, Total tokens: %d\n", embedding.Usage.PromptTokens, embedding.Usage.TotalTokens)
// Print first few values of the embedding vector
fmt.Printf("First 10 embedding values: %v\n", embedding.Data[0].Embedding[:10])
}
Responses
package main
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/azure"
"github.com/openai/openai-go/v3/option"
"github.com/openai/openai-go/v3/responses"
)
func main() {
// Create Azure token credential
tokenCredential, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
panic(err)
}
// Create client with Azure endpoint and token credential
client := openai.NewClient(
option.WithBaseURL("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"),
azure.WithTokenCredential(tokenCredential),
)
ctx := context.Background()
question := "Tell me about the attention is all you need paper"
resp, err := client.Responses.New(ctx, responses.ResponseNewParams{
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String(question)},
Model: "o4-mini",
})
if err != nil {
panic(err)
}
println(resp.OutputText())
}
Kaynak kodu |REST API başvuru belgeleri | Paket başvurusu belgeleri | Maven Central
Azure OpenAI API sürüm desteği
- v1 Genel Kullanıma Açık (GA) API artık hem GA hem de Önizleme işlemlerine erişime izin veriyor. Daha fazla bilgi edinmek için API sürümü yaşam döngüsü kılavuzuna bakın.
Kurulum
Gradle
implementation("com.openai:openai-java:4.0.1")
Maven
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.0.1</version>
</dependency>
Kimlik doğrulama
Microsoft Entra Id ile kimlik doğrulaması için bazı ilk kurulumlar gerekir:
Azure Kimlik paketini ekleyin:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.0</version>
</dependency>
Kurulumdan sonra, hangi kimlik bilgisi azure.identity türünü kullanacağınızı seçebilirsiniz. Örneğin, DefaultAzureCredential istemcinin kimliğini doğrulamak için kullanılabilir: Microsoft Entra ID uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.
DefaultAzureCredential kullanılarak yetkilendirme en kolaydır. Çalışma ortamında en iyi kimlik bilgilerini bulur, ancak DefaultAzureCredential yalnızca test amacıyla kullanım için önerilir, üretim için değil.
Credential tokenCredential = BearerTokenCredential.create(
AuthenticationUtil.getBearerTokenSupplier(
new DefaultAzureCredentialBuilder().build(),
"https://cognitiveservices.azure.com/.default"));
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/")
.credential(tokenCredential)
.build();
Azure OpenAI anahtarsız kimlik doğrulaması hakkında daha fazla bilgi için bkz. Anahtar Kullanılmadan Azure OpenAI Kullanma.
Responses
package com.example;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatModel;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import com.azure.core.credential.AzureKeyCredential;
public class OpenAITest {
public static void main(String[] args) {
// Get API key from environment variable for security
String apiKey = System.getenv("OPENAI_API_KEY");
String resourceName = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1";
String modelDeploymentName = "gpt-4.1"; //replace with you model deployment name
try {
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl(resourceName)
.apiKey(apiKey)
.build();
ResponseCreateParams params = ResponseCreateParams.builder()
.input("Tell me about the bitter lesson?")
.model(modelDeploymentName)
.build();
Response response = client.responses().create(params);
System.out.println("Response: " + response);
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
}
}
}
Kaynak kodu | Paket (npm) | Referans |
Azure OpenAI API sürüm desteği
- v1 Genel Kullanıma Açık (GA) API artık hem GA hem de Önizleme işlemlerine erişime izin veriyor. Daha fazla bilgi edinmek için API sürümü yaşam döngüsü kılavuzuna bakın.
Kurulum
npm install openai
Kimlik doğrulama
npm install @azure/identity
Ancak istemcinin OpenAI kimliğini doğrulamak için getBearerTokenProvider paketinden @azure/identity işlevini kullanmamız gerekir. Bu işlev, her istek için belirteçleri dahili olarak almak üzere OpenAI kullanan bir belirteç sağlayıcısı oluşturur. Belirteç sağlayıcısı aşağıdaki gibi oluşturulur:
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://cognitiveservices.azure.com/.default');
const client = new OpenAI({
baseURL: "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
Azure OpenAI anahtarsız kimlik doğrulaması hakkında daha fazla bilgi için "Azure OpenAI güvenlik yapı taşını kullanmaya başlama" Hızlı Başlangıç makalesine bakın.
Responses
responses.create
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://cognitiveservices.azure.com/.default');
const client = new OpenAI({
baseURL: "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
const response = await client.responses.create({
model: 'gpt-4.1-nano', //model deployment name
instructions: 'You are a helpful AI agent',
input: 'Tell me about the bitter lesson?',
});
console.log(response.output_text);
Yayın
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://cognitiveservices.azure.com/.default');
const client = new OpenAI({
baseURL: "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
const stream = await client.responses.create({
model: 'gpt-4.1-nano', // model deployment name
input: 'Provide a brief history of the attention is all you need paper.',
stream: true,
});
for await (const event of stream) {
if (event.type === 'response.output_text.delta' && event.delta) {
process.stdout.write(event.delta);
}
}
MCP Sunucusu
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://cognitiveservices.azure.com/.default');
const client = new OpenAI({
baseURL: "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
const resp = await client.responses.create({
model: "gpt-5",
tools: [
{
type: "mcp",
server_label: "microsoft_learn",
server_description: "Microsoft Learn MCP server for searching and fetching Microsoft documentation.",
server_url: "https://learn.microsoft.com/api/mcp",
require_approval: "never",
},
],
input: "Search for information about Azure Functions",
});
console.log(resp.output_text);
Sohbet
chat.completions.create
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import { OpenAI } from "openai";
const tokenProvider = getBearerTokenProvider(
new DefaultAzureCredential(),
'https://cognitiveservices.azure.com/.default');
const client = new OpenAI({
baseURL: "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
apiKey: tokenProvider
});
const messages = [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Tell me about the attention is all you need paper' }
];
// Make the API request with top-level await
const result = await client.chat.completions.create({
messages,
model: 'gpt-4.1-nano', // model deployment name
max_tokens: 100
});
// Print the full response
console.log('Full response:', result);
// Print just the message content from the response
console.log('Response content:', result.choices[0].message.content);
Hata yönetimi
Hata kodları
| Durum Kodu | Hata Türü |
|---|---|
| 400 | Bad Request Error |
| 401 | Authentication Error |
| 403 | Permission Denied Error |
| 404 | Not Found Error |
| 422 | Unprocessable Entity Error |
| 429 | Rate Limit Error |
| beş yüz | Internal Server Error |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
Yeniden denemeler
Aşağıdaki hatalar, kısa bir üstel geri alma ile varsayılan olarak iki kez otomatik olarak yeniden deneniyor:
- Bağlantı Hataları
- 408 İstek Zaman Aşımı
- 429 Hız Sınırı
-
>=500 İç Hata
Yeniden deneme davranışını ayarlamak/devre dışı bırakmak için kullanın maxRetries :
// Configure the default for all requests:
const client = new OpenAI({
maxRetries: 0, // default is 2
});
// Or, configure per-request:
await client.chat.completions.create({ messages: [{ role: 'user', content: 'How can I get the name of the current day in Node.js?' }], model: '' }, {
maxRetries: 5,
});
Kitaplık kaynak kodu | PyPi Paketi | Referans |
Uyarı
Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.
Azure OpenAI API sürüm desteği
- v1 Genel Kullanıma Açık (GA) API artık hem GA hem de Önizleme işlemlerine erişime izin veriyor. Daha fazla bilgi edinmek için API sürümü yaşam döngüsü kılavuzuna bakın.
Kurulum
pip install openai
En son sürüm için:
pip install openai --upgrade
Kimlik doğrulama
Kaynaklarınız için uç noktalar ve API anahtarları Azure portalından veya Foundry portalından alınabilir:
- Azure portalında> oturum açın, kaynak >Kaynak Yönetimi>Anahtarlarınızı ve Uç Noktanızı seçin.
- Foundry portalında> oturum açın ve kaynağınızı seçin.
Kaynaklarınız için uç noktalar ve API anahtarları Azure portalından veya Microsoft Foundry portalından alınabilir:
- Azure portalında> oturum açın, kaynak >Kaynak Yönetimi>Anahtarlarınızı ve Uç Noktanızı seçin.
- Microsoft Foundry portalında > oturum açın ve kaynağınızı seçin.
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
Yanıtlar API'si
responses.create()
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
response = client.responses.create(
model="gpt-4.1-nano",
input= "This is a test"
)
print(response.model_dump_json(indent=2))
Daha fazla örnek için Yanıtlar API'sinin belgelerine bakın.
MCP sunucu aracıyla responses.create() fonksiyonu oluşturma
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
resp = client.responses.create(
model="gpt-5",
tools=[
{
"type": "mcp",
"server_label": "microsoft_learn",
"server_description": "Microsoft Learn MCP server for searching and fetching Microsoft documentation.",
"server_url": "https://learn.microsoft.com/api/mcp",
"require_approval": "never",
},
],
input="Search for information about Azure Functions",
)
print(resp.output_text)
Daha fazla örnek için Yanıtlar API'sinin belgelerine bakın.
Sohbet
chat.tamamlamalar.oluştur()
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
completion = client.chat.completions.create(
model="gpt-4o", # Replace with your model deployment name.
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "When was Microsoft founded?"}
]
)
#print(completion.choices[0].message)
print(completion.model_dump_json(indent=2))
chat.completions.create() - akış
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
completion = client.chat.completions.create(
model="gpt-4o", # Replace with your model deployment name.
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "When was Microsoft founded?"}
],
stream=True
)
for chunk in completion:
if chunk.choices and chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end='',)
chat.completions.create() - resim girişi
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
)
completion = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What's in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://raw.githubusercontent.com/MicrosoftDocs/azure-ai-docs/main/articles/ai-foundry/openai/media/how-to/generated-seattle.png",
}
},
],
}
],
max_tokens=300,
)
print(completion.model_dump_json(indent=2))
Eklemeler
embeddings.create()
Eklemeler şu anda Azure OpenAI ve v1 API'si ile Microsoft Entra Id'yi desteklememektedir.
Hassas ayarlama
Python ile ince ayarlama nasıl yapılır makalesi
Hata yönetimi
# from openai import OpenAI
# client = OpenAI()
import openai
try:
client.fine_tuning.jobs.create(
model="gpt-4o",
training_file="file-test",
)
except openai.APIConnectionError as e:
print("The server could not be reached")
print(e.__cause__) # an underlying Exception, likely raised within httpx.
except openai.RateLimitError as e:
print("A 429 status code was received; we should back off a bit.")
except openai.APIStatusError as e:
print("Another non-200-range status code was received")
print(e.status_code)
print(e.response)
Hata kodları
| Durum Kodu | Hata Türü |
|---|---|
| 400 | BadRequestError |
| 401 | AuthenticationError |
| 403 | PermissionDeniedError |
| 404 | NotFoundError |
| 422 | UnprocessableEntityError |
| 429 | RateLimitError |
| > = 500 | InternalServerError |
| Geçerli Değil | APIConnectionError |
kimlik isteme
İsteğinizin kimliğini almak için, _request_id özelliğini kullanabilirsiniz; bu, x-request-id yanıt üst bilgisine karşılık gelmektedir.
print(completion._request_id)
print(legacy_completion._request_id)
Yeniden denemeler
Aşağıdaki hatalar, kısa bir üstel geri çekilme ile varsayılan olarak iki kez otomatik olarak devreden çıkarılır.
- Bağlantı Hataları
- 408 İstek Zaman Aşımı
- 429 Hız Sınırı
-
>=500 İç Hata
Yeniden deneme davranışını ayarlamak/devre dışı bırakmak için kullanın max_retries :
# For all requests
from openai import OpenAI
client = OpenAI(
max_retries=0
)
# max retires for specific requests
client.with_options(max_retries=5).chat.completions.create(
messages=[
{
"role": "user",
"content": "When was Microsoft founded?",
}
],
model="gpt-4o",
)
Sorun giderme
- /c0 /> veya
401hatası aldıysanız, istenen kimlik veya anahtarla kimlik doğrulaması yaptığınızı ve Azure OpenAI kaynağına erişimi olduğunu onaylayın. - Hata
404alırsanız, son noktanın...openai.azure.com/openai/v1/yolunu kullandığını ve geçerli bir model dağıtım adını kullandığınızı onaylayın. - İstekler beklenmedik bir şekilde başarısız olursa ara sunucu ve güvenlik duvarı kısıtlamalarını denetleyin ve yük boyutu sorunlarını eleyip elememek için daha küçük bir istemle yeniden deneyin.