Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Responses API egy új állapotalapú API az Azure OpenAI-ból. Egyetlen egységes felületen egyesíti a csevegés befejezésének legjobb képességeit és az assistants API-t. A Responses API az új computer-use-preview modell támogatását is hozzáadja, amely a számítógép-használati képességet biztosítja.
Responses API (Válaszok API)
API-támogatás
Régiónkénti elérhetőség
A válaszok API jelenleg a következő régiókban érhető el:
- australiaeast
- Brazília déli régiója
- Kanada középső része
- Kanada keleti része
- eastus
- eastus2
- francecentral
- Németország Közép-Nyugat
- Olaszország északa
- japaneast
- koreacentral
- northcentralus
- norwayeast
- polandcentral
- southafricanorth
- southcentralus
- southeastasia
- southindia
- spaincentral
- swedencentral
- switzerlandnorth
- uaenorth
- uksouth
- westus
- westus3
Modelltámogatás
-
gpt-5.1-codex-max(Verzió:2025-12-04) -
gpt-5.1(Verzió:2025-11-13) -
gpt-5.1-chat(Verzió:2025-11-13) -
gpt-5.1-codex(Verzió:2025-11-13) -
gpt-5.1-codex-mini(Verzió:2025-11-13) -
gpt-5-pro(Verzió:2025-10-06) -
gpt-5-codex(Verzió:2025-09-11) -
gpt-5(Verzió:2025-08-07) -
gpt-5-mini(Verzió:2025-08-07) -
gpt-5-nano(Verzió:2025-08-07) -
gpt-5-chat(Verzió:2025-08-07) -
gpt-5-chat(Verzió:2025-10-03) -
gpt-5-codex(Verzió:2025-09-15) -
gpt-4o(Verziók:2024-11-20,2024-08-06)2024-05-13 -
gpt-4o-mini(Verzió:2024-07-18) computer-use-preview-
gpt-4.1(Verzió:2025-04-14) -
gpt-4.1-nano(Verzió:2025-04-14) -
gpt-4.1-mini(Verzió:2025-04-14) -
gpt-image-1(Verzió:2025-04-15) -
gpt-image-1-mini(Verzió:2025-10-06) -
o1(Verzió:2024-12-17) -
o3-mini(Verzió:2025-01-31) -
o3(Verzió:2025-04-16) -
o4-mini(Verzió:2025-04-16)
A válaszok API által támogatott régiókban nem minden modell érhető el. Ellenőrizze a modellrégió rendelkezésre állását a modellek oldalán .
Note
Jelenleg nem támogatott:
- Tömörítés a
/responses/compact - Képgenerálás többfordulós szerkesztéssel és streameléssel.
- A képek nem tölthetők fel fájlként, és nem hivatkozhatnak rá bemenetként.
Az alábbiakkal kapcsolatban ismert probléma merült fel:
- A PDF bemeneti fájlként már támogatott, de a fájlfeltöltés céljának
user_databeállítása jelenleg nem támogatott. - Teljesítményproblémák a háttér mód streamelésekor. A probléma várhatóan hamarosan megoldódik.
Referenciadokumentáció
A válasz API használatának első lépései
A válaszok API-parancsainak eléréséhez frissítenie kell az OpenAI-kódtár verzióját.
pip install --upgrade openai
Szöveges válasz létrehozása
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
)
response = client.responses.create(
model="gpt-4.1-nano", # Replace with your model deployment name
input="This is a test.",
)
print(response.model_dump_json(indent=2))
Important
Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. Ha API-kulcsot használ, tárolja azt biztonságosan az Azure Key Vaultban. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
Válasz lekérése
Válasz lekérése a válasz API-nak küldött előző hívásból.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
)
response = client.responses.retrieve("resp_67cb61fa3a448190bcf2c42d96f0d1a8")
Important
Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. Ha API-kulcsot használ, tárolja azt biztonságosan az Azure Key Vaultban. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
Válasz törlése
Alapértelmezés szerint a válaszadatok 30 napig maradnak meg. Válasz törléséhez használhatja a response.delete ("{response_id}")
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
response = client.responses.delete("resp_67cb61fa3a448190bcf2c42d96f0d1a8")
print(response)
Válaszok összeláncolása
Az összeláncolás érdekében az előző válaszból származó response.id-t adja át a previous_response_id paraméternek.
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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))
Figyelje meg a kimenetből, hogy bár soha nem osztottuk meg az első bemeneti kérdést az second_response API-hívással, a modell átadásával teljes kontextusban van az previous_response_id előző kérdés és válasz az új kérdés megválaszolásához.
Output:
{
"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
}
Válaszok manuális láncolása
Másik lehetőségként manuálisan is összekapcsolhatja a válaszokat az alábbi módszerrel:
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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))
Streaming
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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='')
Függvényhívás
A válaszok API támogatja a függvényhívást.
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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))
Kódértelmező
A Kódértelmező eszköz lehetővé teszi a modellek számára a Python-kód biztonságos, tesztkörnyezetben történő írását és végrehajtását. Számos speciális feladatot támogat, többek között a következőket:
- Fájlok feldolgozása változatos adatformátumokkal és struktúrákkal
- Adatokkal és vizualizációkkal (például grafikonokkal) kapcsolatos fájlok létrehozása
- A problémák megoldásához iteratív módon írhat és futtathat kódot – a modellek hibakeresést végezhetnek, és újrapróbálkozhatnak a kódot a sikeres működésig
- A támogatott modellek (például o3, o4-mini) vizuális érvelésének javítása a képátalakítások, például a körülvágás, a nagyítás és a forgatás engedélyezésével
- Ez az eszköz különösen hasznos adatelemzést, matematikai számítást és kódgenerálást igénylő forgatókönyvekhez.
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": "code_interpreter", "container": {"type": "auto"} }
],
"instructions": "You are a personal math tutor. When asked a math question, write and run code using the python tool to answer the question.",
"input": "I need to solve the equation 3x + 11 = 14. Can you help me?"
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
instructions = "You are a personal math tutor. When asked a math question, write and run code using the python tool to answer the question."
response = client.responses.create(
model="gpt-4.1",
tools=[
{
"type": "code_interpreter",
"container": {"type": "auto"}
}
],
instructions=instructions,
input="I need to solve the equation 3x + 11 = 14. Can you help me?",
)
print(response.output)
Containers
Important
A kódértelmező az Azure OpenAI használatának tokenalapú díjain túl további díjakkal is jár. Ha a Responses API egyszerre két különböző szálon hívja meg a Kódértelmezőt, két kódértelmező-munkamenet jön létre. Minden munkamenet alapértelmezés szerint 1 órán keresztül aktív, 20 perces tétlenségi időtúllépéssel.
A Kódértelmező eszközhöz tárolóra van szükség – egy teljesen tesztkörnyezetbe helyezett virtuális gépre, ahol a modell végrehajthatja a Python-kódot. A tárolók tartalmazhatnak a végrehajtás során létrehozott feltöltött fájlokat vagy fájlokat.
Tároló létrehozásához adja meg a "container": { "type": "auto", "file_ids": ["file-1", "file-2"] } az eszköz konfigurációjában, amikor egy új Válasz objektumot hoz létre. Ez automatikusan létrehoz egy új tárolót, vagy újra felhasznál egy aktív tárolót egy korábbi code_interpreter_call a modell környezetében. Az API kimenetében a code_interpreter_call tartalmazza a létrehozott container_id. Ez a tároló lejár, ha 20 percig nem használják.
Fájlbemenetek és kimenetek
A Kódértelmező futtatásakor a modell létrehozhatja a saját fájljait. Ha például arra kéri, hogy hozzon létre egy rajzot, vagy hozzon létre egy CSV-t, az közvetlenül a tárolón hozza létre ezeket a lemezképeket. Ezeket a fájlokat a következő üzenet széljegyzeteiben fogja idézni.
A modell bemenetében lévő fájlok automatikusan feltöltődnek a tárolóba. Nem kell explicit módon feltöltenie a tárolóba.
Támogatott fájlok
| Fájlformátum | MIME-típus |
|---|---|
.c |
text/x-c |
.cs |
text/x-csharp |
.cpp |
text/x-c++ |
.csv |
szöveg/csv |
.doc |
application/msword |
.docx |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.html |
text/html |
.java |
text/x-java |
.json |
application/json |
.md |
text/markdown |
.pdf |
application/pdf |
.php |
text/x-php |
.pptx |
application/vnd.openxmlformats-officedocument.presentationml.presentation |
.py |
text/x-python |
.py |
text/x-script.python |
.rb |
text/x-ruby |
.tex |
text/x-tex |
.txt |
text/plain |
.css |
text/css |
.js |
text/JavaScript |
.sh |
application/x-sh |
.ts |
application/TypeScript |
.csv |
application/csv |
.jpeg |
image/jpeg |
.jpg |
image/jpeg |
.gif |
image/gif |
.pkl |
application/octet-stream |
.png |
image/png |
.tar |
application/x-tar |
.xlsx |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xml |
application/xml vagy "text/xml" |
.zip |
application/zip |
Bemeneti elemek listázása
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
response = client.responses.input_items.list("resp_67d856fcfba0819081fd3cffee2aa1c0")
print(response.model_dump_json(indent=2))
Output:
{
"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"
}
Képbemenet
Látásbarát modellek esetén a PNG (.png), JPEG (.jpeg és .jpg), WEBP (.webp) képek támogatottak.
Kép URL-címe
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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 kódolású rendszerkép
import base64
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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)
Fájlbemenet
A látási képességekkel rendelkező modellek támogatják a PDF-bemenetet. A PDF-fájlok base64-kódolású adatokként vagy fájlazonosítókként is megadhatóak. A PDF-tartalom értelmezésének segítése érdekében a modell kontextusában a kinyert szöveg és az egyes oldalak képe is megjelenik. Ez akkor hasznos, ha a fő információkat diagramokon vagy nem szöveges tartalmakon keresztül továbbítják.
Note
Az összes kinyert szöveg és kép a modell környezetébe kerül. Győződjön meg arról, hogy tisztában van a PDF-ek bemenetként való használatának árazási és tokenhasználati következményeivel.
Egyetlen API-kérésben a több bemenet (fájl) között feltöltött tartalom méretének a modell környezethosszán belül kell lennie.
Csak a szöveg- és képbemeneteket támogató modellek fogadhatják el bemenetként a PDF-fájlokat.
A
purposeuser_datajelenleg nem támogatott. Ideiglenes áthidaló megoldásként be kell állítania a célt a következőreassistants: .
PDF konvertálása Base64-be és elemzés
import base64
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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 feltöltése és elemzése
Töltse fel a PDF-fájlt. A purposeuser_data jelenleg nem támogatott. Áthidaló megoldásként a célt assistants értékre kell beállítani.
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
# Upload a file with a purpose of "assistants"
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
Output:
{
"id": "assistant-KaVLJQTiWEvdz8yJQHHkqJ",
"bytes": 4691115,
"created_at": 1752174469,
"filename": "nucleus_sampling.pdf",
"object": "file",
"purpose": "assistants",
"status": "processed",
"expires_at": null,
"status_details": null
}
Ezután az id értékét átadja egy modellnek feldolgozásra a file_id alatt.
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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 \
-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 \
-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"
}
]
}
]
}'
Távoli MCP-kiszolgálók használata
A modell képességeit úgy bővítheti, hogy távoli Model Context Protocol (MCP) kiszolgálókon üzemeltetett eszközökhöz csatlakoztatja. Ezeket a kiszolgálókat fejlesztők és szervezetek tartják karban, és olyan eszközöket tehetnek közzé, amelyeket az MCP-kompatibilis ügyfelek, például a Responses API érhetnek el.
A Model Context Protocol (MCP) egy nyílt szabvány, amely meghatározza, hogy az alkalmazások hogyan biztosítják az eszközöket és a környezetfüggő adatokat a nagy nyelvi modellek (LLM-ek) számára. Lehetővé teszi a külső eszközök egységes, méretezhető integrálását a modell-munkafolyamatokba.
Az alábbi példa bemutatja, hogyan használható a fiktív MCP-kiszolgáló az Azure REST API-val kapcsolatos információk lekérdezésére. Ez lehetővé teszi a modell számára, hogy valós időben kérje le és elemezze az adattár tartalmát.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-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?"
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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)
Az MCP eszköz csak a Responses API-ban működik, és minden újabb modellben (gpt-4o, gpt-4.1 és érvelési modelljeink) elérhető. Az MCP-eszköz használatakor csak az eszközdefiníciók importálásakor vagy eszközhívások során használt jogkivonatokért kell fizetnie – további díjak nem merülnek fel.
Approvals
Alapértelmezés szerint a Responses API-nak explicit jóváhagyásra van szüksége ahhoz, hogy bármilyen adatot megosztanának egy távoli MCP-kiszolgálóval. Ez a jóváhagyási lépés segít biztosítani az átláthatóságot, és szabályozni tudja, hogy a rendszer milyen információkat küld külsőleg.
Javasoljuk, hogy tekintse át a távoli MCP-kiszolgálókkal megosztott összes adatot, és opcionálisan naplózza azokat az ellenőrzési célból.
Ha jóváhagyásra van szükség, a modell egy elemet ad vissza mcp_approval_request a válasz kimenetében. Ez az objektum tartalmazza a függőben lévő kérelem részleteit, és lehetővé teszi az adatok vizsgálatát vagy módosítását a folytatás előtt.
{
"id": "mcpr_682bd9cd428c8198b170dc6b549d66fc016e86a03f4cc828",
"type": "mcp_approval_request",
"arguments": {},
"name": "fetch_azure_rest_api_docs",
"server_label": "github"
}
A távoli MCP-hívás folytatásához válaszolnia kell a jóváhagyási kérelemre egy új válaszobjektum létrehozásával, amely egy mcp_approval_response elemet tartalmaz. Ez az objektum megerősíti azt a szándékot, hogy lehetővé tegye a modell számára a megadott adatok távoli MCP-kiszolgálóra küldését.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-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"
}]
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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"
}],
)
Authentication
Important
- A Responses API-beli MCP-ügyfélhez TLS 1.2-es vagy újabb verzióra van szükség.
- A kölcsönös TLS (mTLS) jelenleg nem támogatott.
- Az Azure-szolgáltatáscímkék jelenleg nem támogatottak az MCP-ügyfélforgalom esetében.
A GitHub MCP-kiszolgálótól eltérően a legtöbb távoli MCP-kiszolgálóhoz hitelesítés szükséges. A Válaszok API MCP-eszköze támogatja az egyéni fejléceket, így biztonságosan csatlakozhat ezekhez a kiszolgálókhoz az általuk igényelt hitelesítési sémával.
Közvetlenül a kérésben megadhatja az olyan fejléceket, mint az API-kulcsok, az OAuth hozzáférési jogkivonatok vagy más hitelesítő adatok. A leggyakrabban használt élőfej a Authorization fejléc.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-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"
}
]
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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)
Háttérfeladatok
A háttér mód lehetővé teszi a hosszú ideig futó feladatok aszinkron futtatását olyan modellek használatával, mint az o3 és az o1-pro. Ez különösen hasznos olyan összetett érvelési feladatokhoz, amelyek több percet is igénybe vehetnek, például olyan ügynökök által kezelt feladatok esetében, mint a Codex vagy a Deep Research.
A háttér mód engedélyezésével elkerülheti az időtúllépéseket, és fenntarthatja a megbízhatóságot a kiterjesztett műveletek során. Amikor egy kérést elküld "background": true, a feladat aszinkron módon lesz feldolgozva, és az állapota időről időre lekérdezhető.
Háttérfeladat indításához állítsa a háttérparamétert igaz értékre a kérésben:
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN" \
-d '{
"model": "o3",
"input": "Write me a very long story",
"background": true
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
response = client.responses.create(
model = "o3",
input = "Write me a very long story",
background = True
)
print(response.status)
GET A végpont használatával ellenőrizze a háttérválasz állapotát. Folytassa a lekérdezést, amíg az állapot várólistára kerül vagy in_progress. Ha a válasz eléri a végleges (terminál) állapotot, az elérhető lesz a lekéréshez.
curl GET https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
from time import sleep
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
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}")
A cancel végpont használatával megszakíthat egy folyamatban lévő háttérfeladatot. A megszakítás idempotens – a későbbi hívások a végső válaszobjektumot adják vissza.
curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890/cancel \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
response = client.responses.cancel("resp_1234567890")
print(response.status)
Háttérben történő válasz közvetítése
Háttérválasz streameléséhez állítsa mind a background, mind a stream értékét igazra. Ez akkor hasznos, ha később szeretné folytatni a streamelést megszakadt kapcsolat esetén. Az egyes események sequence_number használatával követheti nyomon a pozícióját.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-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
}'
import os
from openai import OpenAI
client = OpenAI(
base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=os.getenv("AZURE_OPENAI_API_KEY")
)
# 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"]
Note
A háttérválaszok késése jelenleg nagyobb, mint a szinkron válaszoké. A hiányosságok csökkentése érdekében fejlesztéseket végeznek.
Limitations
- A háttér mód megköveteli
store=true. Az állapot nélküli kérelmek nem támogatottak. - A streamelést csak akkor folytathatja, ha az eredeti kérést tartalmazza
stream=true. - Szinkron válasz megszakításához állítsa le közvetlenül a kapcsolatot.
Streamelés folytatása egy adott pontról
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses/resp_1234567890?stream=true&starting_after=42 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AZURE_OPENAI_AUTH_TOKEN"
Titkosított érvelési elemek
Ha állapot nélküli módban használja a Válaszok API-t – akár hamis értékre állítja store be, akár a szervezet nulla adatmegőrzési módban van regisztrálva – akkor is meg kell őriznie az érvelési környezetet a beszélgetések során. Ehhez titkosított érvelési elemeket is belefoglalhat az API-kérésekbe.
Ha meg szeretné őrizni az érvelési elemeket a különböző fordulókban, adja hozzá reasoning.encrypted_content a include paraméterhez a kérésben. Ez biztosítja, hogy a válasz tartalmazza az érvelési nyomkövetés titkosított verzióját, amely a jövőbeni kérések során továbbítható.
curl https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-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"]
}'
Képgenerálás (előzetes verzió)
A Responses API lehetővé teszi a képek létrehozását beszélgetések és többlépéses munkafolyamatok részeként. Támogatja a környezeten belüli képbemeneteket és -kimeneteket, és beépített eszközöket tartalmaz a képek létrehozásához és szerkesztéséhez.
Az önálló Image API-hoz képest a Responses API számos előnyt kínál:
- Streamelés: Részleges képkimenetek megjelenítése a generálás során az észlelt késleltetés javítása érdekében.
- Rugalmas bemenetek: Fogadja el a képfájl azonosítóit bemenetként, a nyers kép bájtjai mellett.
Note
A Responses API képgeneráló eszközét csak a gpt-image-1-series modellek támogatják. Ezt a modellt azonban meghívhatja a támogatott modellek - gpt-4o, , gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o3gpt-5 és gpt-5.1 sorozatmodellek - listájából.
A Responses API képgenerálási eszköze jelenleg nem támogatja a streamelési módot. Streamelési mód használatához és részleges képek létrehozásához hívja meg a képgenerálási API-t közvetlenül a Responses API-n kívül.
Ha beszélgetési képi élményeket szeretne létrehozni a GPT Image használatával, használja a Responses API-t.
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,
default_headers={"x-ms-oai-image-generation-deployment":"gpt-image-1", "api_version":"preview"}
)
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))
Érvelési modellek
Az érvelési modellek válaszok API-val való használatára vonatkozó példákért tekintse meg az érvelési modellek útmutatóját.
Számítógép-használat
A számítógép-használat a Playwrighttal átkerült a dedikált számítógép-használati útmutatóhoz