Freigeben über


Azure OpenAI in Microsoft Foundry Models v1 API (klassisch)

Hinweis

Dieses Dokument bezieht sich auf das Microsoft Foundry(klassische) Portal.

🔍 Zeigen Sie die Microsoft Foundry-Dokumentation (neu) an, um mehr über das neue Portal zu erfahren.

In diesem Artikel erfahren Sie, wie Sie die v1 Azure OpenAI-API verwenden. Die v1-API vereinfacht die Authentifizierung, entfernt die Notwendigkeit von veralteten api-version Parametern und unterstützt anbieterübergreifende Modellaufrufe.

Hinweis

Neue API-Antwortobjekte können der API-Antwort jederzeit hinzugefügt werden. Es wird empfohlen, nur die benötigten Antwortobjekte zu parsen.

Voraussetzungen

API-Entwicklung

Zuvor erhielt Azure OpenAI monatliche Updates neuer API-Versionen. Durch die Nutzung neuer Features müssen Code- und Umgebungsvariablen ständig mit jeder neuen API-Version aktualisiert werden. Azure OpenAI erforderte auch den zusätzlichen Schritt der Verwendung von Azure-spezifischen Clients, die beim Migrieren von Code zwischen OpenAI und Azure OpenAI Mehraufwand erzeugten.

Ab August 2025 können Sie sich für die Azure OpenAI-APIs der nächsten Generation v1 entscheiden, die Unterstützung für Folgendes bieten:

  • Fortlaufender Zugriff auf die neuesten Features, ohne jeden Monat neue api-version's angeben zu müssen.
  • Schnellerer API-Releasezyklus mit häufigeren Starts neuer Features.
  • OpenAI-Clientunterstützung mit minimalen Codeänderungen für den Austausch zwischen OpenAI und Azure OpenAI bei Verwendung der schlüsselbasierten Authentifizierung.
  • OpenAI-Clientunterstützung für die tokenbasierte Authentifizierung und automatische Tokenaktualisierung, ohne dass eine Abhängigkeit von einem separaten Azure OpenAI-Client erforderlich ist.
  • Führen Sie Chatabschlussanrufe mit Modellen anderer Anbieter wie DeepSeek und Grok durch, die die v1-Chatabschlusssyntax unterstützen.

Der Zugriff auf neue API-Aufrufe, die sich noch in der Vorschau befinden, wird gesteuert, indem featurespezifische Vorschauheader übergeben werden, sodass Sie sich für die gewünschten Features anmelden können, ohne API-Versionen austauschen zu müssen. Alternativ geben einige Features den Vorschaustatus über ihren API-Pfad an und erfordern keinen zusätzlichen Header.

Beispiele

  • Als /openai/v1/evals zuvor in der Vorschau war, musste ein "aoai-evals":"preview"-Header übergeben werden. /evals ist nicht mehr in der Vorschau.
  • /openai/v1/fine_tuning/alpha/graders/ befindet sich in der Vorschau und erfordert keinen benutzerdefinierten Header aufgrund des Vorhandenseins alpha im API-Pfad.

Bei der Einführung der ersten Version der allgemein verfügbaren API (GA) wird nur ein Teil der Rückschluss- und Erstellungs-API-Funktionen unterstützt. Alle GA-Features werden für die Verwendung in der Produktion unterstützt. Die Unterstützung für weitere Funktionen wird schnell hinzugefügt.

Codeänderungen

v1-API

Python v1-Beispiele

API-Schlüssel:

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

Wichtige Unterschiede von der vorherigen API:

  • OpenAI() client wird anstelle von AzureOpenAI() verwendet.
  • base_url übergibt den Azure OpenAI-Endpunkt und /openai/v1 wird an die Endpunktadresse angefügt.
  • api-version ist kein erforderlicher Parameter mehr mit der v1 GA-API.

API-Schlüssel mit Umgebungsvariablen:

Legen Sie die folgenden Umgebungsvariablen fest, bevor Sie den Code ausführen:

Variable Wert
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY Ihr Azure OpenAI-API-Schlüssel

Erstellen Sie dann den Client ohne Parameter:

client = OpenAI()

Microsoft Entra-ID:

Von Bedeutung

Die automatische Tokenaktualisierung wurde zuvor mit dem AzureOpenAI() Client durchgeführt. Die API-Version v1 entfernt diese Abhängigkeit, indem dem OpenAI()-Client die Unterstützung für die automatische Tokenaktualisierung hinzugefügt wird.

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

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

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

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

print(response.model_dump_json(indent=2)) 
  • base_url übergibt den Azure OpenAI-Endpunkt und /openai/v1 wird an die Endpunktadresse angefügt.
  • Der api_key-Parameter ist auf token_provider festgelegt, wodurch das automatische Abrufen und Aktualisieren eines Authentifizierungstokens anstelle eines statischen API-Schlüssels aktiviert wird.

Modellunterstützung

Für Azure OpenAI-Modelle empfehlen wir die Verwendung der Antwort-API. Die v1-API ermöglicht ihnen jedoch auch, Chatabschlussaufrufe mit Modellen anderer Anbieter wie DeepSeek und Grok zu tätigen, die die OpenAI v1-Chatabschlusssyntax unterstützen.

base_url akzeptiert beide https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ Formate und https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/ Formate.

Hinweis

Die Antwort-API funktioniert auch mit Foundry-Modellen, die direkt von Azure verkauft werden, z. B. Microsoft AI-, DeepSeek- und Grok-Modelle. Informationen zur Verwendung der Antwort-API mit diesen Modellen finden Sie unter Generieren von Textantworten mit Microsoft Foundry Models.

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

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

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)
completion = client.chat.completions.create(
  model="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))

v1-API-Unterstützung

API-Versionsänderungsprotokoll

In den folgenden Abschnitten werden Änderungen zwischen API-Versionen zusammengefasst.

Änderungen zwischen Version 1 Preview und 2025-04-01-preview

Änderungen zwischen 2025-04-01-Vorschau und 2025-03-01-Preview

Änderungen zwischen 2025-03-01-Vorschau und 2025-02-01-Preview

Änderungen zwischen 2025-02-01-Vorschau und 2025-01-01-Preview

  • Gespeicherte Fertigstellungen (Destillations-API-Unterstützung).

Änderungen zwischen 2025-01-01-Vorschau und 2024-12-01-Preview

Änderungen zwischen 2024-12-01-preview und 2024-10-01-preview

Änderungen zwischen 2024-09-01-preview und 2024-08-01-preview

  • max_completion_tokens hinzugefügt, um o1-preview- und o1-mini-Modelle zu unterstützen. max_tokens funktioniert nicht mit den o1-Serienmodellen .
  • parallel_tool_calls hinzugefügt.
  • completion_tokens_details und reasoning_tokens hinzugefügt.
  • stream_options und include_usage hinzugefügt.

Änderungen zwischen der API-Spezifikation 2024-07-01-preview und 2024-08-01-preview

  • Strukturierte Ausgaben unterstützen.
  • API für den Upload großer Dateien hinzugefügt.
  • Auf Ihre Datenänderungen:
    • Mongo DB-Integration.
    • Der Parameter role_information wurde entfernt.
    • rerank_score zum Zitatobjekt hinzugefügt.
    • AML-Datenquelle wurde entfernt.
    • Verbesserungen der KI-Suchvektorisierungsintegration.

Änderungen zwischen 2024-05-01-preview und 2024-07-01-preview API-Spezifikation

Änderungen zwischen der API-Spezifikation2024-04-01-preview und 2024-05-01-preview

Änderungen zwischen der API-Spezifikation 2024-03-01-Vorschau und 2024-04-01-Vorschau

Bekannte Probleme

  • Die 2025-04-01-preview Azure OpenAI-Spezifikation verwendet OpenAPI 3.1. Es ist ein bekanntes Problem, dass diese Version von Azure API Management nicht vollständig unterstützt wird.

Nächste Schritte