Azure OpenAI v rozhraní API Microsoft Foundry v1

V tomto článku se dozvíte, jak používat rozhraní API OpenAI verze 1 Azure. Rozhraní API v1 zjednodušuje ověřování, eliminuje potřebu zastaralých api-version parametrů a podporuje volání modelu napříč poskytovateli.

Poznámka

Do odpovědi rozhraní API se můžou kdykoli přidat nové objekty odpovědi rozhraní API. Doporučujeme analyzovat pouze požadované objekty odpovědi.

Požadavky

Vývoj rozhraní API

Dříve Azure OpenAI obdržely měsíční aktualizace nových verzí rozhraní API. Využívání nových funkcí vyžadovalo neustálou aktualizaci kódu a proměnných prostředí s každou novou verzí rozhraní API. Azure OpenAI také vyžadoval další krok použití konkrétních klientů Azure, což při migraci kódu mezi OpenAI a Azure OpenAI vytvářelo dodatečné zatížení.

Od srpna 2025 se můžete rozhodnout pro novou generaci v1 Azure rozhraní API OpenAI, která přidávají podporu pro:

  • Průběžný přístup k nejnovějším funkcím bez nutnosti každý měsíc definovat nové api-version.
  • Rychleji vydávané verze rozhraní API a s častějším zaváděním nových funkcí.
  • Podpora klientů pro OpenAI s minimálními změnami kódu pro přepínání mezi OpenAI a Azure OpenAI při použití ověřování založeného na klíči.
  • Podpora klientů OpenAI pro ověřování na základě tokenů a automatická aktualizace tokenů bez nutnosti využívat závislost na samostatném klientovi Azure OpenAI.
  • Volání do chatu s modely od jiných poskytovatelů, jako je DeepSeek a Grok, které podporují syntaxi dokončování chatu v1.

Přístup k novým voláním rozhraní API, která jsou stále ve verzi Preview, se řídí předáváním hlaviček verze Preview specifických pro funkce. Tento přístup umožňuje přihlásit se k požadovaným funkcím, aniž byste museli prohodit verze rozhraní API. Některé funkce označují stav preview prostřednictvím cesty k rozhraní API a nevyžadují další hlavičku.

Příklady:

  • Když /openai/v1/evals byl dříve ve verzi Preview, vyžadoval předání hlavičky "aoai-evals":"preview" . /evals už není ve verzi Preview.
  • /openai/v1/fine_tuning/alpha/graders/ je ve verzi Preview a nevyžaduje vlastní hlavičku kvůli přítomnosti alpha v cestě rozhraní API.

Pro počáteční spuštění rozhraní API obecně dostupné verze 1 se podporuje pouze podmnožina funkcí odvozování a vytváření rozhraní API. Všechny funkce GA jsou podporované pro použití v produkčním prostředí. Podpora pro další možnosti se přidává rychle.

Změny kódu

Rozhraní API v1

příklady Python v1

Klíč rozhraní API:

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)) 

Hlavní rozdíly oproti předchozímu rozhraní API:

  • OpenAI() klient se používá místo AzureOpenAI().
  • Předejte koncový bod Azure OpenAI do base_url a na konec adresy koncového bodu přidejte /openai/v1.
  • api-version už není povinný parametr u verze GA API v1.

Klíč rozhraní API s proměnnými prostředí:

Před spuštěním kódu nastavte následující proměnné prostředí:

Proměnné Hodnota
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY Klíč vašeho rozhraní API Azure OpenAI

Pak vytvořte klienta bez parametrů:

client = OpenAI()

Microsoft Entra ID:

Důležité

Zpracování automatické aktualizace tokenu bylo dříve zpracováno pomocí AzureOpenAI() klienta. Rozhraní API v1 odstraňuje tuto závislost tím, že do klienta přidává podporu automatické obnovy tokenů OpenAI().

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key = token_provider  
)

response = client.responses.create(
    model="gpt-4.1-nano",
    input= "This is a test" 
)

print(response.model_dump_json(indent=2)) 
  • Předejte koncový bod Azure OpenAI do base_url a na konec adresy koncového bodu přidejte /openai/v1.
  • api_key Nastavte parametr tak, aby token_provider povolil automatické načítání a aktualizaci ověřovacího tokenu místo použití statického klíče rozhraní API.

Podpora modelů

Pro Azure modely OpenAI doporučujeme používat rozhraní API Responses API rozhraní API verze 1 vám ale také umožňuje provádět volání chatu s modely od jiných poskytovatelů, jako je DeepSeek a Grok, které podporují syntaxi dokončování chatů OpenAI v1.

base_url přijímá oba https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ formáty a https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/ formáty.

Poznámka

Rozhraní API pro odpovědi také funguje s modely Foundry, které prodává Azure, jako jsou modely Microsoft AI, DeepSeek a Grok. Informace o tom, jak s těmito modely používat rozhraní API pro odpovědi, najdete v tématu Na generování textových odpovědí pomocí modelů Microsoft Foundry.

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)
completion = client.chat.completions.create(
  model="MAI-DS-R1", # Replace with your model deployment name.
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Tell me about the attention is all you need paper"}
  ]
)

#print(completion.choices[0].message)
print(completion.model_dump_json(indent=2))

Podpora rozhraní API v1

Protokol změn verzí rozhraní API

Následující části shrnují změny mezi verzemi rozhraní API.

Změny mezi verzí "v1 preview" a "2025-04-01-preview"

  • Preview API verze 1
  • Podpora generování videa
  • NEW Funkce rozhraní API pro odpovědi:
    • Integrace nástrojů pro servery MCP (Remote Model Context Protocol)
    • Podpora asynchronních úloh na pozadí
    • Šifrované položky zdůvodnění
    • Generování obrázků

Změny mezi 2025-04-01-preview a 2025-03-01-preview

Změny mezi 2025-03-01-preview a 2025-02-01-preview

Změny mezi 2025-02-01-preview a 2025-01-01-preview

  • Uložená dokončení (podpora rozhraní API pro destilaci).

Změny mezi 2025-01-01-preview a 2024-12-01-preview

Změny mezi 2024-12-01-preview a 2024-10-01-preview

Změny mezi 9. 9. 2024 a 2024-08-01-preview

  • max_completion_tokens přidáno do podpory o1-preview a o1-mini modelů. max_tokens nefunguje s modely řady o1 .
  • parallel_tool_calls přidáno.
  • completion_tokens_details & reasoning_tokens přidáno.
  • stream_options & include_usage přidáno.

Změny mezi specifikací rozhraní API verze 2024-07-01-preview a 2024-08-01-preview

  • Podpora strukturovaných výstupů
  • Bylo přidáno rozhraní API pro nahrávání velkých souborů.
  • Ve vašich změnách dat:
    • Integrace MongoDB.
    • role_information parametr byl odebrán.
    • rerank_score přidán do objektu citace.
    • Zdroj dat AML byl odebrán.
    • Vylepšení integrace vektorizace vyhledávání AI

Změny mezi specifikací rozhraní API verze 2024-05-01-Preview a 2024-07-01-Preview

Změny ve specifikaci rozhraní API mezi verzemi 2024-04-01-preview a 2024-05-01-preview

Změny ve specifikaci rozhraní API mezi verzemi 2024-03-01-preview a 2024-04-01-preview

Známé problémy

  • Specifikace 2025-04-01-preview Azure OpenAI používá OpenAPI 3.1. Jedná se o známý problém, že tato verze není plně podporovaná nástrojem Azure API Management.

Další kroky