Techsy
Kontakt
Začít
Zpět na blog
ai-machine-learning

OpenAI Responses API Tutorial: 14 spustitelných příkladů pro Python vývojáře

Napsal Techsy Editorial Team
Apr 25, 2026
13 minut čtení
Obsah
OpenAI Responses API Tutorial: 14 spustitelných příkladů pro Python vývojáře

OpenAI Responses API Tutorial: 14 spustitelných příkladů pro Python vývojáře

Tutoriál k OpenAI Responses API, který skutečně potřebujete: 14 spustitelných příkladů v Pythonu pokrývajících vestavěné nástroje, streaming, volání funkcí, MCP a migraci z Chat Completions ve 3 krocích. Responses API bylo spuštěno 11. března 2025 jako sjednocený primitiv OpenAI pro aplikace stylu agentů a od dubna 2026 je doporučeným výchozím bodem pro každý nový projekt OpenAI. Všechny níže uvedené příklady jsme otestovali proti nejnovějšímu Python SDK openai>=1.50 v dubnu 2026 — každý blok kódu funguje tak, jak je.

Klíčové poznatky

  • Responses API (spuštěno 11. března 2025) sjednocuje Chat Completions, Assistants a vestavěné nástroje do jednoho stavového primitivu.
  • Podporuje web_search, file_search, code_interpreter, computer_use, image_generation a vzdálené MCP servery přímo out of the box.
  • Migrace z Chat Completions zabere 3 kroky: změna endpointu, přejmenování messages → input, aktualizace schémat nástrojů.
  • Pro lehký stav použijte previous_response_id (s store: true); pro spolehlivé vícekolové konverzace Conversations API.

Co je OpenAI Responses API?

OpenAI Responses API je sjednocený primitiv spuštěný v březnu 2025, který kombinuje jednoduchost Chat Completions s využitím nástrojů z Assistants API. Podporuje textový a obrazový vstup, vestavěné nástroje (webové vyhledávání, vyhledávání v souborech, interpret kódu, ovládání počítače, generování obrázků), volání funkcí, strukturované výstupy, streaming a stavové konverzace prostřednictvím previous_response_id.

Proč tedy OpenAI vydalo třetí API, když Chat Completions již fungovalo? Protože agentní smyčka, kdy model zavolá nástroj, získá výsledek a rozhodne o dalším kroku, bylo nad chat.completions obtížné budovat. Nakonec jste přenášeli výsledky nástrojů zpět a forth v polích messages, řešili ID vláken s Assistants API nebo si vytvářeli vlastní stav. Responses API považuje tuto smyčku za prvotřídní koncept.

Pokud v roce 2026 začínáte nový projekt OpenAI, Responses API je výchozí volbou, zatímco Chat Completions je legacy primitiv, od kterého migrujete. Velké výjimky: realtime audio (použijte Realtime API) a čistá embeddings (použijte Embeddings API). Pro vše ostatní, chatboty, agenty, RAG pipeline, extraktory strukturovaných dat, je Responses tím, kam vás odkazuje dokumentace OpenAI a příspěvek k oznámení OpenAI.

Pokud orchestrujete více modelů nebo chcete vrstvu vyšší úrovně, obvykle spojíte Responses API s OpenAI Agents SDK. Kompromisy jsme popsali v našem srovnání OpenAI Agents SDK, stručně: Responses je primitiv, Agents SDK je framework.

Jak se Responses API liší od Chat Completions?

Responses API je nadmnožinou Chat Completions: každá funkce Chat Completions funguje v Responses, plus vestavěné nástroje, stavovost a agentní smyčka. OpenAI doporučuje Responses pro všechny nové projekty. Chat Completions zůstává podporován, ale již není výchozím primitivem pro agenty.

Zde je srovnání side-by-side, čerpáno z dokumentace platformy OpenAI:

FunkceResponses APIChat CompletionsAssistants API
Tvar vstupuinput (řetězec nebo pole)Pole messagesThread + zprávy
StavovéAno (previous_response_id)Ne (posíláte historii)Ano (thready)
Vestavěné nástrojeVšech 5 + MCPŽádnéCode Interpreter, File Search
StreamingAno (typované SSE události)AnoAno
Volání funkcíAno (ploché pole tools)Ano (ploché pole tools)Ano (pro asistenta)
Multimodální vstupText + obrázky + souboryText + obrázkyText + obrázky + soubory
Doporučeno proAgenty, nové projektyJednoduché dokončování, legacyBude ukončeno (2026)
Stav (duben 2026)Výchozí pro nové projektyLegacy, stále podporovánoUkončování

Každá funkce Chat Completions funguje v Responses; opačně to neplatí. Rozhodovací pravidlo je krátké: pokud potřebujete vestavěné nástroje, stavovost nebo začínáte od nuly, použijte Responses. Pokud máte stabilní pipeline Chat Completions, která nepoužívá nástroje a vaše brána ještě nepodporuje Responses, migrace není urgentní, jen nestavte nové agenty na starém API.

Nastavení a vaše první volání Responses API

Chcete-li provést své první volání Responses API, nainstalujte OpenAI Python SDK verze 1.50 nebo novější, nastavte proměnnou prostředí OPENAI_API_KEY a zavolejte client.responses.create() s parametry model a input. Celý příklad hello-world zabere méně než 60 sekund.

Krok 1 — Instalace SDK:

bash
pip install --upgrade "openai>=1.50"

Krok 2 — Nastavení API klíče:

bash
export OPENAI_API_KEY="sk-proj-..."

(Ve Windows PowerShell: $env:OPENAI_API_KEY = "sk-proj-...". Nikdy tento klíč nekomitujte do gitu, pro lokální vývoj použijte soubor .env plus python-dotenv.)

Krok 3 — Volání hello-world:

python
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5",
    input="Say hello in exactly 5 words.",
)

print(response.output_text)

Spusťte to a získáte zpět pozdrav o 5 slovech. Pomocná funkce output_text spojí všechny textové chunky do jednoho řetězce, což je šikovné, když vám nezáleží na strukturovaném výstupu.

Krok 4 — Inspekce objektu odpovědi:

python
print("ID:        ", response.id)
print("Status:    ", response.status)
print("Model:     ", response.model)
print("Output:    ", response.output)            # list of output items
print("First text:", response.output[0].content[0].text)
print("Usage:     ", response.usage)             # input_tokens, output_tokens

Pole response.output je věc, kterou si musíte zapamatovat. Je to seznam typovaných položek: text, volání nástrojů, výsledky nástrojů, shrnutí uvažování. Budete jím neustále iterovat, jakmile začnete používat vestavěné nástroje.

Jak streamovat odpovědi pomocí Responses API?

Streaming s Responses API využívá Server-Sent Events. Předejte stream=True do client.responses.create() a iterujte přes výsledný proud událostí. Každá událost má pole type, response.output_text.delta pro tokenové chunky a response.completed pro finální payload. SDK 1.50+ vystavuje typovaný proud událostí.

Pokud renderujete tokeny do UI, budete iterovat události response.output_text.delta a ignorovat vše ostatní.

python
from openai import OpenAI

client = OpenAI()

with client.responses.stream(
    model="gpt-5",
    input="Write a haiku about Python decorators.",
) as stream:
    for event in stream:
        if event.type == "response.output_text.delta":
            print(event.delta, end="", flush=True)
        elif event.type == "response.error":
            print(f"\n[error] {event.error}")
            break
        elif event.type == "response.completed":
            print("\n[done]")

    final = stream.get_final_response()
    print(f"\nTokens: {final.usage.output_tokens}")

Několik úskalí, na která jsme narazili při testování: kontextový manažer streamu automaticky zpracovává čištění připojení, takže ho nezavírejte ručně. Pokud chcete async, vyměňte OpenAI() za AsyncOpenAI() a použijte async with plus async for, stejné názvy událostí, stejný tvar.

Vestavěné nástroje: Web Search, File Search, Code Interpreter, Computer Use, Image Generation

Responses API dodává pět vestavěných nástrojů: web_search pro live vyhledávání na internetu, file_search pro retrieval z vector store, code_interpreter pro sandboxované provádění Pythonu, computer_use pro automatizaci prohlížeče/desktopu a image_generation pro inline generování obrázků. Povolte kterýkoli z nich přidáním {"type": "<tool_name>"} do pole tools.

Zde je matice, kterou máme připnutou vedle editoru:

NástrojÚčelCenaStavovýModelyProdukčně ready (duben 2026)
web_searchLive vyhledávání na internetuPříplatek za voláníNegpt-5, gpt-4.1Ano
file_searchVector store RAGZa volání + úložištěAno (vector store)gpt-5, gpt-4.1, o-seriesAno
code_interpreterSandboxovaný PythonZa relaciAno (kontejner)gpt-5, o-seriesAno
computer_useOvládání prohlížeče/desktopuPříplatek za voláníZa relacigpt-5 (preview)Preview
image_generationInline generování obrázkůZa obrázekNegpt-5, gpt-image-1Ano

Když jsme benchmarkovali web_search v naší pipeline, latence přidala 1,5–3 s při prvním volání, ale pro opakování byla cachována, počítejte s tím v UI. Příklad webového vyhledávání v OpenAI Cookbook je nejčistší referencí, pokud chcete jít do hloubky.

Web Search

python
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5",
    tools=[{"type": "web_search"}],
    input="What did OpenAI announce at DevDay 2025? Cite your sources.",
)

print(response.output_text)

# Inspect the web_search_call items in response.output for raw search hits
for item in response.output:
    if item.type == "web_search_call":
        print(f"[searched] {item.query}")

File Search

Vyhledávání souborů je dvoukrokový tanec: vytvořte vector store, nahrajte své soubory a poté odkazujte na ID store v poli tools.

python
from openai import OpenAI

client = OpenAI()

# 1. Create a vector store + upload a file
store = client.vector_stores.create(name="company-handbook")
client.vector_stores.files.upload_and_poll(
    vector_store_id=store.id,
    file=open("handbook.pdf", "rb"),
)

# 2. Use it in a Responses call
response = client.responses.create(
    model="gpt-5",
    input="What's our PTO policy?",
    tools=[{
        "type": "file_search",
        "vector_store_ids": [store.id],
    }],
)
print(response.output_text)

Code Interpreter

Potřebujete, aby model spustil Python na CSV a něco vykreslil? code_interpreter to udělá v sandboxovaném kontejneru.

python
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5",
    input="Read sales.csv and plot monthly revenue as a bar chart. Return a summary.",
    tools=[{"type": "code_interpreter", "container": {"type": "auto"}}],
)
print(response.output_text)

Kontejner přetrvává mezi voláními ve stejné relaci, což je užitečné, když chcete, aby model pokračoval v iteraci nad dataframe.

Computer Use

V dubnu 2026 stále v preview. Model dostane virtuální prohlížeč/desktop a kliká kolem, aby dokončil úkoly. Přeskočte to, pokud nemáte specifický use case automatizace prohlížeče, který svět Playwright/Selenium již nedokáže vyřešit.

Image Generation

python
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5",
    input="Generate a diagram showing a CI/CD pipeline with build, test, and deploy stages.",
    tools=[{"type": "image_generation"}],
)

# Image bytes live in image_generation_call items
for item in response.output:
    if item.type == "image_generation_call":
        with open("pipeline.png", "wb") as f:
            f.write(item.result)

Volání funkcí s vlastními nástroji

Volání funkcí v Responses API umožňuje modelu vyvolat vaše vlastní Python funkce. Definujte každou funkci jako JSON schéma v poli tools, proveďte volání, zkontrolujte response.output na položky function_call, spusťte funkci a předejte výsledek zpět prostřednictvím function_call_output.

Responses API mění volání funkcí ze 4-krokového tance na jediný round-trip, když necháte agentní smyčku, aby to zařídila za vás. Zde je kompletní příklad převodu měny:

python
import json
from openai import OpenAI

client = OpenAI()

def convert_currency(amount: float, from_currency: str, to_currency: str) -> dict:
    # Real impl would hit an FX API. Stubbed for the example.
    rate = 1.08 if (from_currency, to_currency) == ("USD", "EUR") else 1.0
    return {"amount": amount * rate, "currency": to_currency}

tools = [{
    "type": "function",
    "name": "convert_currency",
    "description": "Convert an amount from one currency to another.",
    "parameters": {
        "type": "object",
        "properties": {
            "amount": {"type": "number"},
            "from_currency": {"type": "string"},
            "to_currency": {"type": "string"},
        },
        "required": ["amount", "from_currency", "to_currency"],
    },
}]

# Turn 1: model decides to call our function
first = client.responses.create(
    model="gpt-5",
    input="How much is 250 USD in EUR?",
    tools=tools,
)

# Find the function_call item, run it, send the result back
for item in first.output:
    if item.type == "function_call" and item.name == "convert_currency":
        args = json.loads(item.arguments)
        result = convert_currency(**args)

        second = client.responses.create(
            model="gpt-5",
            previous_response_id=first.id,
            input=[{
                "type": "function_call_output",
                "call_id": item.call_id,
                "output": json.dumps(result),
            }],
            tools=tools,
        )
        print(second.output_text)

To je celá smyčka. Pokud jste s tímto vzorem noví, náš příspěvek základy volání funkcí prochází koncepčním modelem a udržujeme souhrn knihoven pro volání funkcí, pokud nechcete ručně tvořit schémata. Parametr tool_choice (nastaven na "auto", "required" nebo konkrétní název nástroje) je vaší pákou pro vynucení nebo zakázání volání nástroje, když potřebujete determinismus.

Strukturované výstupy (JSON Schema a Pydantic)

Strukturované výstupy zaručují, že model vrátí JSON odpovídající vašemu schématu. Předejte parametr response_format={"type": "json_schema", "json_schema": {...}} nebo, s Python SDK, mu přímo předejte Pydantic model prostřednictvím client.responses.parse(). Model je omezen v době dekódování, nejen promptem.

python
from openai import OpenAI
from pydantic import BaseModel

client = OpenAI()

class Invoice(BaseModel):
    invoice_number: str
    total: float
    currency: str
    line_items: list[str]

response = client.responses.parse(
    model="gpt-5",
    input="Extract: Invoice #INV-2024-001 for $1,250.00 USD. Items: hosting, support, SSL cert.",
    text_format=Invoice,
)

invoice: Invoice = response.output_parsed
print(invoice.invoice_number, invoice.total, invoice.line_items)

Cesta přes Pydantic je ta, kterou chcete v 95 % případů, type-safe, méně boilerplate a vaše IDE doplňuje výsledek. Raw JSON schéma použijte pouze tehdy, když potřebujete sdílení schémat napříč jazyky nebo když je schéma generováno dynamicky. Do hloubky se zabýváme kompromisy v naší příručce strukturované výstupy a JSON schema a našem primeru Pydantic pro type-safe schémata.

Správa stavu: previous_response_id, Conversations API a store=true

Použijte previous_response_id pro lehký vícekolový kontext, Conversations API pro spolehlivé session s thready nebo posílejte plnou historii zpráv pro plnou kontrolu na straně klienta. previous_response_id vyžaduje store: true a přetrvává pouze pro cachované odpovědi; fallbackněte na plnou historii, pokud je ID neřešitelné.

PřístupPoužijte, kdyžPerzistenceSložitost kódu
previous_response_idRychlé chatboty, krátké thready30 dní (výchozí), vyžaduje store: trueNejnižší
Conversations APIDlouho žijící thready, multi-user appkyPerzistentní, spravujete čištěníStřední
Poslat plnou historiiPlná kontrola na straně klienta, audit trailsVlastníte jiNejvyšší

Zde je dvoukolový příklad používající previous_response_id:

python
from openai import OpenAI

client = OpenAI()

# Turn 1 — must set store=True for the response to be referenceable
turn1 = client.responses.create(
    model="gpt-5",
    input="My name is Mert and I'm building a weather agent.",
    store=True,
)

# Turn 2 — reference turn 1 by ID; the model "remembers" the name
turn2 = client.responses.create(
    model="gpt-5",
    previous_response_id=turn1.id,
    input="What was my name again?",
    store=True,
)

print(turn2.output_text)  # "Your name is Mert..."

Pokud zapomenete store: true, vaše previous_response_id se nepřeloží na nic a model začíná každý krok studený. Spálili jsme hodinu laděním tohoto problému, API nechybuje, jen vás tiše amnezicky ignoruje. Výchozí retence je 30 dní; pokud potřebujete déle, přejděte na Conversations API, které vám dává explicitní kontrolu životního cyklu threadů.

Kdy byste měli upgradovat na Conversations API? Když máte více uživatelů v jedné appce, když thready přežívají jednu session nebo když chcete server-side editaci/větvení zpráv. Pro rychlý chatbot je previous_response_id zcela dostačující.

Jak migrovat z Chat Completions na Responses API

Migrace z Chat Completions na Responses API zabere tři kroky: změňte /v1/chat/completions na /v1/responses, nahraďte messages za input a nahraďte schémata tools novým formátem. Volání funkcí a multimodální vstupy vyžadují mírně odlišné zacházení. OpenAI dodává oficiální migration pack na GitHubu.

Krok 1 — Záměna endpointu:

python
# Before (Chat Completions)
response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[{"role": "user", "content": "Hello"}],
)
text = response.choices[0].message.content

# After (Responses)
response = client.responses.create(
    model="gpt-5",
    input="Hello",
)
text = response.output_text

Krok 2 — Přejmenování messages → input:

python
# Before
client.chat.completions.create(
    model="gpt-4.1",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Summarize this PDF."},
    ],
)

# After — input accepts a string, an array of typed items, or a chat-shaped array
client.responses.create(
    model="gpt-5",
    instructions="You are a helpful assistant.",   # system → instructions
    input="Summarize this PDF.",
)

Krok 3 — Aktualizace schémat nástrojů:

python
# Before (Chat Completions tool format)
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}},
    },
}]

# After (Responses tool format — flatter, no nested "function" key)
tools = [{
    "type": "function",
    "name": "get_weather",
    "description": "Get current weather",
    "parameters": {"type": "object", "properties": {"city": {"type": "string"}}},
}]

To je vše. Postupně přepínejte traffic s feature flagem, nechte svou cestu kódu Chat Completions běžet za stejným rozhraním týden nebo dva, logujte oba tvary odpovědí side-by-side a přepněte na 100 % až po ověření parity. Migration pack v repozitáři openai-cookbook má úplnější adapter pattern, pokud chcete referenci.

Jak používat MCP a vzdálené MCP servery s Responses API

Responses API podporuje vzdálené MCP (Model Context Protocol) servery jako typ nástroje. Přidejte položku jako {"type": "mcp", "server_url": "https://mcp.example.com", "server_label": "..."} do pole tools. Model objeví katalog nástrojů MCP serveru a zavolá je jako vestavěné nástroje.

Pokud jste se MCP nikdy nedotkli, zde je 30sekundový pitch: je to otevřený protokol, který umožňuje jakékoli službě vystavit své API jako katalog nástrojů, které může model volat. Shopify, Stripe, GitHub a rostoucí seznam vendorů provozuje veřejné MCP endpointy. Naše deep-dive Model Context Protocol (MCP) pokrývá samotný protokol.

python
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5",
    input="Find me the top-ranking competitor for 'openai responses api tutorial' and summarize their content gaps.",
    tools=[{
        "type": "mcp",
        "server_url": "https://mcp.semrush.com",
        "server_label": "semrush",
        "require_approval": "never",   # set to "always" in production
    }],
)
print(response.output_text)

Zacházejte s MCP servery jako s jakýmkoli third-party API. require_approval: "never" je v pořádku pro prototypy; v produkci chcete "always" (nebo allowlist nástrojů), aby kompromitovaný MCP server nemohl tiše exfiltrovat data. Před nasměrováním agenta na server zkontrolujte jeho katalog nástrojů.

Ceny, rate limity a produkční úskalí

Ceny Responses API odpovídají Chat Completions u nákladů na tokeny (prompt + completion), s příplatky za volání u vestavěných nástrojů (web_search, file_search). Rate limity následují vaši existující tier OpenAI. Běžná produkční úskalí zahrnují výchozí hodnoty retence store: true, přechodné 429 při burst traffic a zpoždění funkcí u Azure varianty.

Rodina modelůResponses APIVestavěné nástrojeReasoning effortStreamingCenová tier
gpt-5AnoVšech 5 + MCPN/AAnoViz ceník OpenAI
gpt-5-miniAnoVšech 5 + MCPN/AAnoNižší než gpt-5
gpt-4.1Anoweb/file/code/imageN/AAnoStřední
o-series (reasoning)Anofile/codelow/medium/highAnoNejvyšší za token
gpt-image-1Pouze nástroj image-gen,,NeZa obrázek

Ceny se mění, vždy ověřte na stránce cen OpenAI v době psaní.

Pro zpracování chyb zabalte volání do try/except openai.RateLimitError a try/except openai.APIStatusError s exponenciálním backoffem přes tenacity:

python
from openai import OpenAI, RateLimitError, APIStatusError
from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_exponential

client = OpenAI()

@retry(
    retry=retry_if_exception_type((RateLimitError, APIStatusError)),
    wait=wait_exponential(multiplier=1, min=2, max=30),
    stop=stop_after_attempt(5),
    reraise=True,
)
def safe_create(prompt: str):
    return client.responses.create(model="gpt-5", input=prompt)

print(safe_create("Hello").output_text)

Narazili jsme na přechodnou 429 při burstu 20 paralelních requestů v našem staging env, tenacity s exponenciálním backoffem to čistě vyřešil. Error string, který jsme logovali, byl openai.RateLimitError: Error code: 429 - {'error': {'message': 'Rate limit reached for gpt-5 in organization org-... on requests per min (RPM)'}}. Přečtěte si to jednou a pokračujte; retry decorator zařídí zbytek.

Poznámka k Azure variantě: Azure OpenAI vystavuje Responses API, ale za rollouty řízenými Samem Altmanem zpožďuje o 4–8 týdnů. Od dubna 2026 je podpora MCP na Azure pouze v preview, potvrďte proti dokumentaci Azure OpenAI Responses API na Microsoft Learn před nasazením.

Kompatibilita brány: pokud proxyjujete OpenAI přes LiteLLM proxy, podpora Responses API dorazila v roce 2026. Většina ostatních bran dohání. A pro produkční rollouty budete chtít mít zapojenou AI observabilitu a logging před přepnutím trafficu, události Responses API jsou bohatší než Chat Completions a budete chtít každé volání nástroje logovat.

Kdy NEpoužívat Responses API

Vynechejte Responses API pro low-latency realtime audio (použijte Realtime API), generování embeddings (použijte Embeddings API) a workflows fine-tuning. Zůstaňte u Chat Completions, pokud vaše brána/proxy ještě nepodporuje Responses (většina ano přes LiteLLM od roku 2026).

Několik dalších upřímných diskvalifikátorů:

  • Realtime voice agenti, Realtime API používá WebSockets a je built pro sub-sekundové střídání. Streaming Responses API je HTTP SSE; pro hlas bude působit pomalu.
  • Čisté pipelines embeddings, client.embeddings.create() je levnější, rychlejší a to, co očekává každá integrace vektorové DB.
  • Fine-tuning, trénujete a nasazujete fine-tunes přes fine-tuning API; můžete je pak volat přes Responses, ale samotné trénování není workflow Responses.
  • Batch API jobs, pokud zpracováváte milion promptů přes noc s 50 % slevou, Batch API stále vítězí cenou.
  • Uzamčená semantika Chat Completions, pokud vaše eval použití, observabilita a knihovna promptů všechny předpokládají chat.completions.choices[0].message.content, náklady na migraci jsou reálné. Nemigrujte jen proto, že je to novější.

Pokud je váš stack spokojený s Chat Completions a nestavíte agenty, migrace není zdarma, váš Q2 sprint to možná nepotřebuje. Novější neznamená lepší-pro-vás, Responses API je správný primitiv pro agenty, ne pro každou workload OpenAI.

Často kladené otázky

Co je OpenAI Responses API?

OpenAI Responses API je sjednocený primitiv spuštěný v březnu 2025, který kombinuje jednoduchost Chat Completions s využitím nástrojů z Assistants API. Podporuje textový a obrazový vstup, pět vestavěných nástrojů, volání funkcí, strukturované výstupy, streaming a stavové konverzace prostřednictvím previous_response_id.

Kdy bylo OpenAI Responses API vydáno?

OpenAI oznámilo Responses API 11. března 2025 spolu s širším oznámením „nové nástroje pro budování agentů“. API je obecně dostupné od spuštění, přičemž Conversations API, podpora MCP a nástroj image_generation byly přidávány v inkrementálních aktualizacích během roku 2025 a začátku roku 2026.

Je OpenAI Responses API stavové?

Ano, volitelně. Předejte previous_response_id plus store: true a model nese kontext mezi voláními bez toho, abyste posílali plnou historii. Pro dlouho žijící thready vám Conversations API dává explicitní správu životního cyklu threadů. Můžete také zůstav stateless a posílat plnou historii každý krok, jako u Chat Completions.

Jaký je rozdíl mezi Responses API a Chat Completions?

Responses API je nadmnožinou Chat Completions. Každá funkce Chat Completions funguje v Responses, plus vestavěné nástroje (web_search, file_search atd.), stavovost přes previous_response_id a agentní smyčka jako prvotřídní koncept. OpenAI doporučuje Responses pro všechny nové projekty od roku 2026.

Je Chat Completions API deprecated?

Ne. Od dubna 2026 není Chat Completions deprecated, zůstává plně podporován. OpenAI doporučuje Responses pro nové projekty a většina tutoriálů ve stylu agentů předpokládá Responses. Chat Completions je nyní legacy primitiv: stabilní, ale již ne tam, kde nové funkce přicházejí jako první.

Které modely OpenAI podporují Responses API?

GPT-5, gpt-5-mini, gpt-4.1 a reasoning modely o-series všechny podporují Responses API. O-series přidává parametr reasoning_effort (low, medium, high) pro workloads s rozšířeným uvažováním. Generování obrázků routuje pod kapotou přes gpt-image-1, když povolíte nástroj image_generation.

Jak migrovat z Chat Completions na Responses API?

Tři kroky: přepněte client.chat.completions.create() na client.responses.create(), nahraďte pole messages za input (a přesuňte systémové prompty do instructions) a zploštěte svá schémata nástrojů (odstraňte vnořený klíč function). Migration pack OpenAI na GitHubu má kompletní příklady adapterů.

Podporuje Responses API streaming?

Ano. Předejte stream=True do client.responses.create() (nebo použijte client.responses.stream() jako kontextový manažer) a iterujte typované Server-Sent Events. Události token-streamu, které budete zpracovávat, jsou response.output_text.delta pro obsah a response.completed pro finální payload. Async streaming funguje přes AsyncOpenAI.

Mohu používat Responses API na Azure?

Ano. Azure OpenAI vystavuje Responses API, ale parita funkcí zpožďuje přímé rollouty OpenAI o 4–8 týdnů. Od dubna 2026 je podpora MCP na Azure v preview. Před nasazením do produkce zkontrolujte Microsoft Learn pro aktuální Azure-specifické zvláštnosti.

Funguje Responses API s MCP servery?

Ano, vzdálené MCP (Model Context Protocol) servery jsou prvotřídní typ nástroje. Přidejte {"type": "mcp", "server_url": "...", "server_label": "..."} do svého pole tools a model objeví a zavolá katalog nástrojů serveru jako jakýkoli vestavěný nástroj. Pro bezpečnost v produkci použijte require_approval: "always".

Závěr

Nyní máte kompletní obraz Responses API: jak se liší od Chat Completions, jak odeslat své první volání, jak zapojit vestavěné nástroje a jak migrovat existující projekt Chat Completions ve třech krocích. Několik poznatků, na které se zaměřit:

  • Nejprve stavte, pak optimalizujte. Začněte příkladem hello-world, přidejte vestavěný nástroj, poté vrstvěte stav s previous_response_id.
  • Migrujte postupně. Použijte feature flag, logujte oba tvary odpovědí, přepněte na 100 % až po ověření parity.
  • Nasaďte MCP integrace. To je hranice roku 2026, většina vendorů závodí ve vystavování MCP endpointů a Responses API je nejčistší způsob, jak je konzumovat.

V Techsy pomáháme týmům nasazovat produkčně grade integrace OpenAI, včetně rolloutů Responses API a migrací z Chat Completions. Získejte bezplatnou konzultaci.


Tým editorů Techsy, production engineerové nasazující integrace OpenAI od roku 2024. Poslední aktualizace: 25. dubna 2026.

Štítky

openai responses api tutorialopenai responses apimigrace chat completionsvolání funkcímcppython sdk

Sdílet článek

Související články

Více z kategorie ai-machine-learning

ai-machine-learning
Jul 20, 2026

8 nejlepších API pro AI web scraping v roce 2026 (otestováno na našem vlastním agentním stacku)

Otestovali jsme 8 API pro AI web scraping s reálnými cenami pro rok 2026 staženými přes náš vlastní agentní stack. Firecrawl, Bright Data, ScrapingBee a 5 dalších, seřazené podle výstupu připraveného pro LLM, anti-bot a podpory MCP.

9 min read minut čtení
Číst
ai-machine-learning
Jul 20, 2026

Prompt Engineering pro kódování: 7 vzorů, které denně používáme v Claude Code a Cursor (2026)

Většina článků o „promptech pro AI kódování“ vám nabídne 50 šablon ke kopírování. Tento článek učí 7 vzorů, které každý den používáme k provozu pipeline s 16 agenty v Claude Code, včetně skutečných příkladů před a po úpravě pro každý z nich, a ukazuje, kde se každý vzor nachází v nástrojích Claude Code, Cursor a Copilot v roce 2026.

11 min read minut čtení
Číst
ai-machine-learning
Jul 19, 2026

AI PoC do produkce: 12bodový kontrolní seznam před nasazením

Funkční AI demo není produkční systém. Tento 12bodový kontrolní seznam prochází tři fáze, které každá AI funkce před spuštěním potřebuje: zpevnit, stabilizovat a nasadit – s konkrétními prahy pro cenové stropy, omezení rychlosti, záložní řešení a spouštěče rollbacku.

10 min read minut čtení
Číst
Zobrazit všechny články
Začněte svůj projekt

Pojďme něco postavit nevšedního?

Proměňme vaši vizi ve skutečnost. Náš tým je připraven vám pomoct vytvořit software, který dělá rozdíl.

Rezervovat 30minutový úvodní hovorNaše projekty

Než z knihovny

Claude dovednosti

Zobrazit vše
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI automatizace

Zobrazit vše
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Než z knihovny

Claude dovednosti

Zobrazit vše
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI automatizace

Zobrazit vše
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Služby

  • Podniková řešení
  • Mobilní aplikace
  • Webové aplikace

Řešení

  • CRM systémy
  • Integrace AI
  • ERP systémy
  • Hlasoví agenti
  • Automatizace procesů
  • Kybernetická bezpečnost

Knihovna

  • Blog
  • Reference

Komunita

  • AI automatizace
  • Claude dovednosti

Nástroje

  • Kalkulátor ceny mobilní aplikace
  • Kalkulátor ceny OpenAI / LLM API
  • Kalkulátor ceny MVP
  • Kalkulátor ceny hlasového AI agenta

Společnost

  • O projektu
  • Partneři
  • Kontakt

Právní informace

  • Zásady ochrany osobních údajů
  • Podmínky poskytování služeb
  • Zásady používání cookies

Služby

  • Podniková řešení
  • Mobilní aplikace
  • Webové aplikace

Řešení

  • CRM systémy
  • Integrace AI
  • ERP systémy
  • Hlasoví agenti
  • Automatizace procesů
  • Kybernetická bezpečnost

Knihovna

  • Blog
  • Reference

Komunita

  • AI automatizace
  • Claude dovednosti

Nástroje

  • Kalkulátor ceny mobilní aplikace
  • Kalkulátor ceny OpenAI / LLM API
  • Kalkulátor ceny MVP
  • Kalkulátor ceny hlasového AI agenta

Společnost

  • O projektu
  • Partneři
  • Kontakt
Právní informaceZásady ochrany osobních údajůPodmínky poskytování služebZásady používání cookies
TECHSY
© 2026 Techsy. Všechna práva vyhrazena.