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.
Yanıtlar API'si, Azure OpenAI'den durum bilgisi olan yeni bir API'dir. Sohbet tamamlamaları ve yardımcılar API'sindeki en iyi özellikleri tek bir birleşik deneyimde bir araya getirir. Yanıtlar API'si, computer-use-preview
özelliğini destekleyen yeni model için de destek ekler.
Yanıtlar API'si
API desteği
Bölge Kullanılabilirliği
Yanıtlar API'si şu anda aşağıdaki bölgelerde kullanılabilir:
- Avustralya doğusu
- eastus (bölge adı)
- eastus2
- francecentral
- japaneast
- Doğu Norveç
- Polonya Merkezi
- Güney Hindistan
- Sweden Central
- Kuzey İsviçre
- uaenorth
- uksouth
- westus
- westus3
Model desteği
-
gpt-4o
(Sürümler:2024-11-20
,2024-08-06
,2024-05-13
) -
gpt-4o-mini
(Sürüm:2024-07-18
) computer-use-preview
-
gpt-4.1
(Sürüm:2025-04-14
) -
gpt-4.1-nano
(Sürüm:2025-04-14
) -
gpt-4.1-mini
(Sürüm:2025-04-14
) -
gpt-image-1
(Sürüm:2025-04-15
) -
o1
(Sürüm:2024-12-17
) -
o3-mini
(Sürüm:2025-01-31
) -
o3
(Sürüm:2025-04-16
) -
o4-mini
(Sürüm:2025-04-16
)
Yanıtlar API'sinin desteklediği bölgelerde her model kullanılamaz. Model bölgesi kullanılabilirliği için modeller sayfasına bakın.
Uyarı
Şu anda desteklenmiyor:
- Web arama aracı
- Çok aşamalı düzenleme ve akış kullanarak görüntü oluşturma - çok yakında
- Görüntüler dosya olarak karşıya yüklenemez ve ardından giriş olarak referans gösterilemez. Çok yakında.
Aşağıdakilerle ilgili bilinen bir sorun vardır:
- Giriş dosyası olarak PDF artık destekleniyor ancak dosya karşıya yükleme amacını
user_data
olarak ayarlamak şu anda desteklenmiyor. - Akışla arka plan modu kullanıldığında performans. Sorunun yakında çözülmesi bekleniyor.
Başvuru belgeleri
Yanıtlar API'sini kullanmaya başlama
Yanıtlar API komutlarına erişmek için OpenAI kitaplığı sürümünüzü yükseltmeniz gerekir.
pip install --upgrade openai
Metin yanıtı oluşturma
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4.1-nano",
input= "This is a test"
)
print(response.model_dump_json(indent=2))
Bir yanıt al
Yanıtlar API'sine önceki bir çağrıdan yanıt almak için.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.retrieve("resp_67cb61fa3a448190bcf2c42d96f0d1a8")
print(response.model_dump_json(indent=2))
Yanıtı silme
Varsayılan olarak yanıt verileri 30 gün boyunca saklanır. Bir yanıtı silmek için response.delete"("{response_id})
kullanabilirsiniz
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.delete("resp_67cb61fa3a448190bcf2c42d96f0d1a8")
print(response)
Yanıtları birbirine zincirleme
Önceki yanıttan response.id
'yı previous_response_id
parametresine geçirerek yanıtları birbirine zincirleyebilirsiniz.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4o", # replace with your model deployment name
input="Define and explain the concept of catastrophic forgetting?"
)
second_response = client.responses.create(
model="gpt-4o", # replace with your model deployment name
previous_response_id=response.id,
input=[{"role": "user", "content": "Explain this at a level that could be understood by a college freshman"}]
)
print(second_response.model_dump_json(indent=2))
Çıktıdan, second_response
API çağrısıyla ilk giriş sorusunu hiç paylaşmamış olsak da, previous_response_id
'i ileterek modelin yeni soruyu yanıtlamak için önceki sorunun ve yanıtın bağlamının tamamına sahip olduğunu görebiliriz.
Çıktı:
{
"id": "resp_67cbc9705fc08190bbe455c5ba3d6daf",
"created_at": 1741408624.0,
"error": null,
"incomplete_details": null,
"instructions": null,
"metadata": {},
"model": "gpt-4o-2024-08-06",
"object": "response",
"output": [
{
"id": "msg_67cbc970fd0881908353a4298996b3f6",
"content": [
{
"annotations": [],
"text": "Sure! Imagine you are studying for exams in different subjects like math, history, and biology. You spend a lot of time studying math first and get really good at it. But then, you switch to studying history. If you spend all your time and focus on history, you might forget some of the math concepts you learned earlier because your brain fills up with all the new history facts. \n\nIn the world of artificial intelligence (AI) and machine learning, a similar thing can happen with computers. We use special programs called neural networks to help computers learn things, sort of like how our brain works. But when a neural network learns a new task, it can forget what it learned before. This is what we call \"catastrophic forgetting.\"\n\nSo, if a neural network learned how to recognize cats in pictures, and then you teach it how to recognize dogs, it might get really good at recognizing dogs but suddenly become worse at recognizing cats. This happens because the process of learning new information can overwrite or mess with the old information in its \"memory.\"\n\nScientists and engineers are working on ways to help computers remember everything they learn, even as they keep learning new things, just like students have to remember math, history, and biology all at the same time for their exams. They use different techniques to make sure the neural network doesn’t forget the important stuff it learned before, even when it gets new information.",
"type": "output_text"
}
],
"role": "assistant",
"status": null,
"type": "message"
}
],
"parallel_tool_calls": null,
"temperature": 1.0,
"tool_choice": null,
"tools": [],
"top_p": 1.0,
"max_output_tokens": null,
"previous_response_id": "resp_67cbc96babbc8190b0f69aedc655f173",
"reasoning": null,
"status": "completed",
"text": null,
"truncation": null,
"usage": {
"input_tokens": 405,
"output_tokens": 285,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 690
},
"user": null,
"reasoning_effort": null
}
Yanıtları elle bağlama
Alternatif olarak, aşağıdaki yöntemi kullanarak yanıtları el ile zincirleyebilirsiniz:
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
inputs = [{"type": "message", "role": "user", "content": "Define and explain the concept of catastrophic forgetting?"}]
response = client.responses.create(
model="gpt-4o", # replace with your model deployment name
input=inputs
)
inputs += response.output
inputs.append({"role": "user", "type": "message", "content": "Explain this at a level that could be understood by a college freshman"})
second_response = client.responses.create(
model="gpt-4o",
input=inputs
)
print(second_response.model_dump_json(indent=2))
Yayın
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
input = "This is a test",
model = "o4-mini", # replace with model deployment name
stream = True
)
for event in response:
if event.type == 'response.output_text.delta':
print(event.delta, end='')
Fonksiyon çağırma
Yanıtlar API'si işlev çağrısını destekler.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4o", # replace with your model deployment name
tools=[
{
"type": "function",
"name": "get_weather",
"description": "Get the weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"},
},
"required": ["location"],
},
}
],
input=[{"role": "user", "content": "What's the weather in San Francisco?"}],
)
print(response.model_dump_json(indent=2))
# To provide output to tools, add a response for each tool call to an array passed
# to the next response as `input`
input = []
for output in response.output:
if output.type == "function_call":
match output.name:
case "get_weather":
input.append(
{
"type": "function_call_output",
"call_id": output.call_id,
"output": '{"temperature": "70 degrees"}',
}
)
case _:
raise ValueError(f"Unknown function call: {output.name}")
second_response = client.responses.create(
model="gpt-4o",
previous_response_id=response.id,
input=input
)
print(second_response.model_dump_json(indent=2))
Giriş öğelerini listeleme
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.input_items.list("resp_67d856fcfba0819081fd3cffee2aa1c0")
print(response.model_dump_json(indent=2))
Çıktı:
{
"data": [
{
"id": "msg_67d856fcfc1c8190ad3102fc01994c5f",
"content": [
{
"text": "This is a test.",
"type": "input_text"
}
],
"role": "user",
"status": "completed",
"type": "message"
}
],
"has_more": false,
"object": "list",
"first_id": "msg_67d856fcfc1c8190ad3102fc01994c5f",
"last_id": "msg_67d856fcfc1c8190ad3102fc01994c5f"
}
Görüntü girişi
Resim url'si
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4o",
input=[
{
"role": "user",
"content": [
{ "type": "input_text", "text": "what is in this image?" },
{
"type": "input_image",
"image_url": "<image_URL>"
}
]
}
]
)
print(response)
Base64 kodlanmış görüntüsü
import base64
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# Path to your image
image_path = "path_to_your_image.jpg"
# Getting the Base64 string
base64_image = encode_image(image_path)
response = client.responses.create(
model="gpt-4o",
input=[
{
"role": "user",
"content": [
{ "type": "input_text", "text": "what is in this image?" },
{
"type": "input_image",
"image_url": f"data:image/jpeg;base64,{base64_image}"
}
]
}
]
)
print(response)
Dosya girişi
Görüntü işleme özelliklerine sahip modeller PDF girişini destekler. PDF dosyaları Base64 ile kodlanmış veriler veya dosya kimlikleri olarak sağlanabilir. Modellerin PDF içeriğini yorumlamasına yardımcı olmak için hem ayıklanan metin hem de her sayfanın görüntüsü modelin bağlamında yer alır. Bu, önemli bilgiler diyagramlar veya metinsel olmayan içerik aracılığıyla iletildiğinde kullanışlıdır.
Uyarı
Ayıklanan tüm metinler ve görüntüler modelin bağlamına yerleştirilir. PDF'leri giriş olarak kullanmanın fiyatlandırma ve belirteç kullanımı üzerindeki etkilerini anladığınızdan emin olun.
Api'ye tek bir istekte 100 sayfaya ve toplam 32 MB'a kadar içeriği birden çok dosya girişi arasında karşıya yükleyebilirsiniz.
Yalnızca ,
gpt-4o-mini
veyao1
gibigpt-4o
hem metin hem de görüntü girişlerini destekleyen modeller, PDF dosyalarını giriş olarak kabul edebilir.purpose
içinuser_data
şu anda desteklenmiyor. Geçici bir çözüm olarak amacıassistants
olarak ayarlamanız gerekir.
PDF'yi Base64'e dönüştürme ve analiz etme
import base64
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE=NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
with open("PDF-FILE-NAME.pdf", "rb") as f: # assumes PDF is in the same directory as the executing script
data = f.read()
base64_string = base64.b64encode(data).decode("utf-8")
response = client.responses.create(
model="gpt-4o-mini", # model deployment name
input=[
{
"role": "user",
"content": [
{
"type": "input_file",
"filename": "PDF-FILE-NAME.pdf",
"file_data": f"data:application/pdf;base64,{base64_string}",
},
{
"type": "input_text",
"text": "Summarize this PDF",
},
],
},
]
)
print(response.output_text)
PDF Yükle ve Analiz Et
PDF dosyasını yükleyin. Şu anda purpose
ve user_data
bir desteklenmiyor. Geçici bir çözüm olarak amacı assistants
olarak ayarlamanız gerekir.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azure_endpoint = "https://YOUR-RESOURCE=NAME.openai.azure.com/",
azure_ad_token_provider=token_provider,
api_version="2024-10-21"
)
# Upload a file with a purpose of "batch"
file = client.files.create(
file=open("nucleus_sampling.pdf", "rb"), # This assumes a .pdf file in the same directory as the executing script
purpose="assistants"
)
print(file.model_dump_json(indent=2))
file_id = file.id
Çıktı:
{
"id": "assistant-KaVLJQTiWEvdz8yJQHHkqJ",
"bytes": 4691115,
"created_at": 1752174469,
"filename": "nucleus_sampling.pdf",
"object": "file",
"purpose": "assistants",
"status": "processed",
"expires_at": null,
"status_details": null
}
Ardından, değeri id
alırsınız ve file_id
altında işlenmesi için bir modele geçirirsiniz.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE=NAME.openai.azure.com/openai/v1",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4o-mini",
input=[
{
"role": "user",
"content": [
{
"type": "input_file",
"file_id":"assistant-KaVLJQTiWEvdz8yJQHHkqJ"
},
{
"type": "input_text",
"text": "Summarize this PDF",
},
],
},
]
)
print(response.output_text)
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/files?api-version=2024-10-21 \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-F purpose="assistants" \
-F file="@your_file.pdf" \
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "gpt-4.1",
"input": [
{
"role": "user",
"content": [
{
"type": "input_file",
"file_id": "assistant-123456789"
},
{
"type": "input_text",
"text": "ASK SOME QUESTION RELATED TO UPLOADED PDF"
}
]
}
]
}'
Uzak MCP sunucularını kullanma
Modelinizi uzak Model Bağlam Protokolü (MCP) sunucularında barındırılan araçlara bağlayarak özelliklerini genişletebilirsiniz. Bu sunucular geliştiriciler ve kuruluşlar tarafından korunur ve Yanıtlar API'si gibi MCP uyumlu istemciler tarafından erişilebilen araçları kullanıma sunar.
Model Bağlam Protokolü (MCP), uygulamaların büyük dil modellerine (LLM) nasıl araç ve bağlamsal veri sağladığını tanımlayan açık bir standarttır. Dış araçların model iş akışlarıyla tutarlı ve ölçeklenebilir bir şekilde tümleştirilmesini sağlar.
Aşağıdaki örnekte, Azure REST API hakkındaki bilgileri sorgulamak için kurgusal MCP sunucusunun nasıl kullanılacağı gösterilmektedir. Bu, modelin depo içeriğini gerçek zamanlı olarak almasına ve bu içerik üzerinde mantık yürütmesine olanak tanır.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "gpt-4.1",
"tools": [
{
"type": "mcp",
"server_label": "github",
"server_url": "https://contoso.com/Azure/azure-rest-api-specs",
"require_approval": "never"
}
],
"input": "What is this repo in 100 words?"
}'
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4.1", # replace with your model deployment name
tools=[
{
"type": "mcp",
"server_label": "github",
"server_url": "https://contoso.com/Azure/azure-rest-api-specs",
"require_approval": "never"
},
],
input="What transport protocols are supported in the 2025-03-26 version of the MCP spec?",
)
print(response.output_text)
MCP aracı yalnızca Yanıtlar API'sinde çalışır ve tüm yeni modellerde (gpt-4o, gpt-4.1 ve akıl yürütme modellerimiz) kullanılabilir. MCP aracını kullanırken yalnızca araç tanımlarını içeri aktarırken veya araç çağrıları yaparken kullanılan belirteçler için ödeme yapılır; ek ücret uygulanmaz.
Onaylar
Varsayılan olarak, Yanıtlar API'si herhangi bir veri uzak bir MCP sunucusuyla paylaşılmadan önce açık bir şekilde onay gerektirir. Bu onay adımı saydamlığı sağlamaya yardımcı olur ve dışarıdan gönderilen bilgiler üzerinde size denetim sağlar.
Uzak MCP sunucularıyla paylaşılan tüm verileri gözden geçirmenizi ve isteğe bağlı olarak denetim amacıyla günlüğe kaydetmenizi öneririz.
Onay gerektiğinde, model yanıt çıkışında bir mcp_approval_request
öğe döndürür. Bu nesne bekleyen isteğin ayrıntılarını içerir ve devam etmeden önce verileri incelemenize veya değiştirmenize olanak tanır.
{
"id": "mcpr_682bd9cd428c8198b170dc6b549d66fc016e86a03f4cc828",
"type": "mcp_approval_request",
"arguments": {},
"name": "fetch_azure_rest_api_docs",
"server_label": "github"
}
Uzak MCP çağrısına devam etmek için, mcp_approval_response öğe içeren yeni bir yanıt nesnesi oluşturarak onay isteğine yanıt vermelisiniz. Bu nesne, modelin belirtilen verileri uzak MCP sunucusuna göndermesine izin verme amacınızı onaylar.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "gpt-4.1",
"tools": [
{
"type": "mcp",
"server_label": "github",
"server_url": "https://contoso.com/Azure/azure-rest-api-specs",
"require_approval": "never"
}
],
"previous_response_id": "resp_682f750c5f9c8198aee5b480980b5cf60351aee697a7cd77",
"input": [{
"type": "mcp_approval_response",
"approve": true,
"approval_request_id": "mcpr_682bd9cd428c8198b170dc6b549d66fc016e86a03f4cc828"
}]
}'
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4.1", # replace with your model deployment name
tools=[
{
"type": "mcp",
"server_label": "github",
"server_url": "https://contoso.com/Azure/azure-rest-api-specs",
"require_approval": "never"
},
],
previous_response_id="resp_682f750c5f9c8198aee5b480980b5cf60351aee697a7cd77",
input=[{
"type": "mcp_approval_response",
"approve": True,
"approval_request_id": "mcpr_682bd9cd428c8198b170dc6b549d66fc016e86a03f4cc828"
}],
)
Kimlik doğrulama
GitHub MCP sunucusunun aksine, uzak MCP sunucularının çoğu kimlik doğrulaması gerektirir. Yanıtlar API'sindeki MCP aracı, özel üst bilgileri destekler ve ihtiyaç duydukları kimlik doğrulama düzenini kullanarak bu sunuculara güvenli bir şekilde bağlanmanızı sağlar.
API anahtarları, OAuth erişim belirteçleri veya diğer kimlik bilgileri gibi üst bilgileri doğrudan isteğinizde belirtebilirsiniz. En yaygın kullanılan üst bilgi Authorization
üst bilgisidir.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "gpt-4.1",
"input": "What is this repo in 100 words?"
"tools": [
{
"type": "mcp",
"server_label": "github",
"server_url": "https://contoso.com/Azure/azure-rest-api-specs",
"headers": {
"Authorization": "Bearer $YOUR_API_KEY"
}
]
}'
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model="gpt-4.1",
input="What is this repo in 100 words?",
tools=[
{
"type": "mcp",
"server_label": "github",
"server_url": "https://gitmcp.io/Azure/azure-rest-api-specs",
"headers": {
"Authorization": "Bearer $YOUR_API_KEY"
}
]
)
print(response.output_text)
Arka plan görevleri
Arka plan modu, o3 ve o1-pro gibi modelleri kullanarak uzun süre çalışan görevleri zaman uyumsuz olarak çalıştırmanızı sağlar. Bu özellikle Codex veya Deep Research gibi aracılar tarafından işlenenler gibi tamamlanması birkaç dakika sürebilecek karmaşık akıl yürütme görevleri için kullanışlıdır.
Arka plan modunu etkinleştirerek, zaman aşımlarından kaçınabilir ve genişletilmiş işlemler sırasında güvenilirliği koruyabilirsiniz.
"background": true
ile bir istek gönderildiğinde, görev eşzamansız olarak işlenir ve durumunu periyodik olarak kontrol edebilirsiniz.
Bir arka plan görevi başlatmak için isteğinizde background parametresini true olarak ayarlayın:
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "o3",
"input": "Write me a very long story",
"background": true
}'
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model = "o3",
input = "Write me a very long story",
background = True
)
print(response.status)
GET
Arka plan yanıtının durumunu denetlemek için uç noktayı kullanın. Sıra veya işlem devam ederken anket yapmaya devam edin. Yanıt son (terminal) durumuna ulaştığında alınabilir.
curl GET https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from time import sleep
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.create(
model = "o3",
input = "Write me a very long story",
background = True
)
while response.status in {"queued", "in_progress"}:
print(f"Current status: {response.status}")
sleep(2)
response = client.responses.retrieve(response.id)
print(f"Final status: {response.status}\nOutput:\n{response.output_text}")
Uç noktayı kullanarak cancel
devam eden bir arka plan görevini iptal edebilirsiniz. İptal işlemi idempotenttir; sonraki çağrılar son yanıt nesnesini döndürür.
curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890/cancel?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
response = client.responses.cancel("resp_1234567890")
print(response.status)
Arka plandaki yanıtları yayınlama
Arka plan yanıt akışını başlatmak için hem background
hem de stream
değerlerini true olarak ayarlayın. Bağlantının bırakılması durumunda akışı daha sonra sürdürmek istiyorsanız bu yararlı olur. Konumunuzu takip etmek için olayların sequence_number'ını kullanın.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "o3",
"input": "Write me a very long story",
"background": true,
"stream": true
}'
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview"
)
# Fire off an async response but also start streaming immediately
stream = client.responses.create(
model="o3",
input="Write me a very long story",
background=True,
stream=True,
)
cursor = None
for event in stream:
print(event)
cursor = event["sequence_number"]
Uyarı
Arka plan tepkileri, şu anda eşzamanlı yanıtlar ile karşılaştırıldığında daha uzun bir ilk belirteç için yanıt süresine sahiptir. Bu açığı azaltmaya yönelik iyileştirmeler devam ediyor.
Sınırlamalar
- Arka plan modu gerektirir
store=true
. Durum bilgisi olmayan istekler desteklenmez. - Akışı yalnızca, özgün istek
stream=true
içeriyorsa sürdürebilirsiniz. - Zaman uyumlu yanıtı iptal etmek için bağlantıyı doğrudan sonlandırın.
Akışı belirli bir noktadan sürdürme
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890?stream=true&starting_after=42&api-version=2025-04-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
Şifrelenmiş Akıl Yürütme Öğeleri
Yanıtlar API'sini durumsuz modda kullanırken — c0'yı false olarak ayarlayarak veya kuruluşunuzun sıfır veri saklama politikasına kaydolması durumunda — konuşma turlarında mantık bağlamını korumaya devam etmeniz gerekir. Bunu yapmak için API isteklerinize şifreli mantık öğeleri ekleyin.
Öğeler arasındaki mantığı korumak için isteğinizin reasoning.encrypted_content
parametresine include
ekleyin. Bu, yanıtın, gelecekteki taleplerle aktarılabilecek, akıl yürütme izlemesinin şifreli bir sürümünü içermesini sağlar.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses?api-version=preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "o4-mini",
"reasoning": {"effort": "medium"},
"input": "What is the weather like today?",
"tools": [<YOUR_FUNCTION GOES HERE>],
"include": ["reasoning.encrypted_content"]
}'
Görüntü oluşturma
Yanıtlar API'si, konuşmaların ve çok adımlı iş akışlarının bir parçası olarak görüntü oluşturmayı etkinleştirir. Bağlam içindeki görüntü girişlerini ve çıkışlarını destekler ve görüntü oluşturmak ve düzenlemek için yerleşik araçlar içerir.
Tek başına Görüntü API'sine kıyasla Yanıtlar API'sinin çeşitli avantajları vardır:
- Akış: Algılanan gecikme süresini geliştirmek için oluşturma sırasında kısmi görüntü çıkışlarını görüntüleyin.
- Esnek girişler: Ham görüntü baytlarına ek olarak görüntü Dosya Kimliklerini giriş olarak kabul edin.
Uyarı
Yanıtlar API'sindeki görüntü oluşturma aracı yalnızca model tarafından gpt-image-1
desteklenir. Ancak bu modeli desteklenen modeller listesinden çağırabilirsiniz: gpt-4o
, gpt-4o-mini
, gpt-4.1
, gpt-4.1-mini
, , gpt-4.1-nano
, o3
.
Şunları yapmak istiyorsanız Yanıtlar API'sini kullanın:
- GPT Görsel ile dialog odaklı görüntü deneyimleri yaratın.
- Daha sorunsuz bir kullanıcı deneyimi için oluşturma sırasında kısmi görüntü sonuçlarının akışını sağlayın.
Görüntü oluşturma
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview",
default_headers={"x-ms-oai-image-generation-deployment":"YOUR-GPT-IMAGE1-DEPLOYMENT-NAME"}
)
response = client.responses.create(
model="o3",
input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
tools=[{"type": "image_generation"}],
)
# Save the image to a file
image_data = [
output.result
for output in response.output
if output.type == "image_generation_call"
]
if image_data:
image_base64 = image_data[0]
with open("otter.png", "wb") as f:
f.write(base64.b64decode(image_base64))
Yayın
Yanıtlar API'lerini kullanarak kısmi görüntülerin akışını yapabilirsiniz.
partial_images
1-3 kısmi görüntü almak için kullanılabilir
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview",
default_headers={"x-ms-oai-image-generation-deployment":"YOUR-GPT-IMAGE1-DEPLOYMENT-NAME"}
)
stream = client.responses.create(
model="gpt-4.1",
input="Draw a gorgeous image of a river made of white owl feathers, snaking its way through a serene winter landscape",
stream=True,
tools=[{"type": "image_generation", "partial_images": 2}],
)
for event in stream:
if event.type == "response.image_generation_call.partial_image":
idx = event.partial_image_index
image_base64 = event.partial_image_b64
image_bytes = base64.b64decode(image_base64)
with open(f"river{idx}.png", "wb") as f:
f.write(image_bytes)
Resimleri düzenleme
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
import base64
client = AzureOpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
azure_ad_token_provider=token_provider,
api_version="preview",
default_headers={"x-ms-oai-image-generation-deployment":"YOUR-GPT-IMAGE1-DEPLOYMENT-NAME"}
)
def create_file(file_path):
with open(file_path, "rb") as file_content:
result = client.files.create(
file=file_content,
purpose="vision",
)
return result.id
def encode_image(file_path):
with open(file_path, "rb") as f:
base64_image = base64.b64encode(f.read()).decode("utf-8")
return base64_image
prompt = """Generate a photorealistic image of a gift basket on a white background
labeled 'Relax & Unwind' with a ribbon and handwriting-like font,
containing all the items in the reference pictures."""
base64_image1 = encode_image("image1.png")
base64_image2 = encode_image("image2.png")
file_id1 = create_file("image3.png")
file_id2 = create_file("image4.png")
response = client.responses.create(
model="gpt-4.1",
input=[
{
"role": "user",
"content": [
{"type": "input_text", "text": prompt},
{
"type": "input_image",
"image_url": f"data:image/jpeg;base64,{base64_image1}",
},
{
"type": "input_image",
"image_url": f"data:image/jpeg;base64,{base64_image2}",
},
{
"type": "input_image",
"file_id": file_id1,
},
{
"type": "input_image",
"file_id": file_id2,
}
],
}
],
tools=[{"type": "image_generation"}],
)
image_generation_calls = [
output
for output in response.output
if output.type == "image_generation_call"
]
image_data = [output.result for output in image_generation_calls]
if image_data:
image_base64 = image_data[0]
with open("gift-basket.png", "wb") as f:
f.write(base64.b64decode(image_base64))
else:
print(response.output.content)
Akıl yürütme modelleri
Yanıtlar API'siyle akıl yürütme modellerinin nasıl kullanılacağına ilişkin örnekler için neden modelleri kılavuzuna bakın.
Bilgisayar kullanımı
Playwright ile bilgisayar kullanımı ayrılmış bilgisayar kullanım modeli kılavuzuna taşındı