Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak używać interfejsu API OpenAI w wersji 1 usługi Azure. Interfejs API w wersji 1 upraszcza uwierzytelnianie, eliminuje potrzebę przestarzałych parametrów api-version i obsługuje wywołania modelu między dostawcami.
Uwaga
Nowe obiekty odpowiedzi interfejsu API mogą być dodawane do odpowiedzi interfejsu API w dowolnym momencie. Zalecamy analizowanie tylko potrzebnych obiektów odpowiedzi.
Wymagania wstępne
- Subskrypcja Azure — Utwórz ją bezpłatnie
- Zasób Foundry lub zasób Azure OpenAI wdrożony w obsługiwanym regionie.
- Co najmniej jedno wdrożenie modelu
- W przypadku uwierzytelniania Microsoft Entra ID: rola
Cognitive Services OpenAI Userprzypisana do twojej tożsamości. Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach dla Azure OpenAI
Ewolucja interfejsu API
Wcześniej Azure openAI otrzymał comiesięczne aktualizacje nowych wersji interfejsu API. Korzystanie z nowych funkcji wymagało stałego aktualizowania kodu i zmiennych środowiskowych wraz z każdą nową wersją interfejsu API. Azure OpenAI wymagała również dodatkowego kroku korzystania z klientów specyficznych dla Azure, co stworzyło obciążenie podczas migrowania kodu między OpenAI a Azure OpenAI.
Począwszy od sierpnia 2025 r., możesz wyrazić zgodę na interfejsy API nowej generacji w wersji 1 Azure OpenAI, które dodają obsługę:
- Ciągły dostęp do najnowszych funkcji bez potrzeby określania nowych
api-versionw każdym miesiącu. - Szybszy cykl wydawania interfejsu API z nowszymi funkcjami uruchamianymi częściej.
- Obsługa klienta OpenAI z minimalnymi zmianami kodu w celu przełączania się między usługami OpenAI i Azure OpenAI podczas korzystania z uwierzytelniania opartego na kluczach.
- Obsługa klienta openAI na potrzeby uwierzytelniania opartego na tokenach i automatycznego odświeżania tokenu bez konieczności podejmowania zależności od oddzielnego klienta Azure OpenAI.
- Wykonywanie wywołań czatu za pomocą modeli innych dostawców, takich jak DeepSeek i Grok, które obsługują składnię uzupełniania czatu w wersji 1.
Dostęp do nowych wywołań interfejsu API, które są nadal dostępne w wersji zapoznawczej, jest kontrolowany przez przekazywanie nagłówków specyficznych dla funkcji w wersji zapoznawczej. Takie podejście umożliwia wybranie żądanych funkcji bez konieczności zamiany wersji interfejsu API. Alternatywnie niektóre funkcje wskazują stan wersji zapoznawczej za pośrednictwem ścieżki interfejsu API i nie wymagają dodatkowego nagłówka.
Przykłady:
- Gdy
/openai/v1/evalsbył wcześniej dostępny w wersji zapoznawczej, wymagane było przesłanie nagłówka"aoai-evals":"preview". /evals nie jest już w wersji zapoznawczej. -
/openai/v1/fine_tuning/alpha/graders/jest w wersji zapoznawczej i nie wymaga niestandardowego nagłówka z powodu obecnościalphaw ścieżce interfejsu API.
Podczas początkowego udostępnienia ogólnego interfejsu API w wersji 1 (GA) obsługiwane są jedynie wybrane funkcje wnioskowania i tworzenia interfejsu API. Wszystkie funkcje w wersji ogólnodostępnej są obsługiwane do użytku w środowisku produkcyjnym. Obsługa dodatkowych funkcji jest szybko rozszerzana.
Zmiany kodu
API w wersji 1
Przykłady v1 Python
Klucz interfejsu 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))
Kluczowe różnice w stosunku do poprzedniego interfejsu API:
-
OpenAI()klient jest używany zamiastAzureOpenAI(). - Przekaż punkt końcowy Azure OpenAI do
base_urli dołącz/openai/v1do adresu punktu końcowego. -
api-versionnie jest już wymaganym parametrem w wersji 1 GA API.
Klucz interfejsu API ze zmiennymi środowiskowymi:
Przed uruchomieniem kodu ustaw następujące zmienne środowiskowe:
| Zmienna | Wartość |
|---|---|
OPENAI_BASE_URL |
https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ |
OPENAI_API_KEY |
Twój klucz interfejsu API Azure OpenAI |
Następnie utwórz klienta bez parametrów:
client = OpenAI()
Microsoft Entra ID:
Ważne
Obsługa automatycznego odświeżania tokenu była wcześniej obsługiwana przy użyciu AzureOpenAI() klienta. Interfejs API w wersji 1 usuwa tę zależność, dodając do klienta OpenAI() funkcjonalność automatycznego odświeżania tokenu.
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))
- Przekaż punkt końcowy Azure OpenAI do
base_urli dołącz/openai/v1do adresu punktu końcowego. - Ustaw parametr
api_keynatoken_provider, aby włączyć automatyczne pobieranie i odświeżanie tokenu uwierzytelniającego zamiast używania statycznego klucza API.
Obsługa modelu
W przypadku modeli Azure OpenAI zalecamy używanie interfejsu API Responses API jednak interfejs API w wersji 1 umożliwia również wykonywanie wywołań uzupełniania czatów z modelami innych dostawców, takich jak DeepSeek i Grok, które obsługują składnię uzupełniania czatu OpenAI v1.
base_url akceptuje zarówno formaty, jak https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ i https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/ .
Uwaga
Responses API działa również z modelami Foundry oferowanymi przez Azure, takimi jak modele Microsoft AI, DeepSeek i Grok. Aby dowiedzieć się, jak używać interfejsu API odpowiedzi z tymi modelami, zobacz Jak wygenerować odpowiedzi tekstowe za pomocą modeli 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))
Obsługa API wersji 1
Dziennik zmian wersji interfejsu API
W poniższych sekcjach podsumowano zmiany między wersjami interfejsu API.
Zmiany między wersją zapoznawczą v1 a wersją 2025-04-01-preview
- API w wersji wstępnej v1
- Obsługa generowania wideo
-
NOWE Funkcje interfejsu API odpowiedzi:
- Integracja narzędzi z serwerami protokołu MCP (Remote Model Context Protocol)
- Obsługa zadań asynchronicznych w tle
- Zaszyfrowane elementy rozumowania
- Generowanie obrazu
Zmiany między 2025-04-01-preview i 2025-03-01-preview
Zmiany między 2025-03-01-preview i 2025-02-01-preview
- API odpowiedzi
- Korzystanie z komputera
Zmiany między 2025-02-01-preview i 2025-01-01-preview
- Przechowywane uzupełnienia (obsługa interfejsu API Distillation).
Zmiany między 2025-01-01-preview i 2024-12-01-preview
-
predictionDodano parametr do obsługi przewidywanych wyników. -
gpt-4o-audio-previewobsługa modelu.
Zmiany między 2024-12-01-preview i 2024-10-01-preview
-
storeimetadatadodano jako parametry do obsługi przechowywanych uzupełnień. -
reasoning_effortdodano do najnowszych modeli rozumowania. -
user_security_contextdodano do integracji z Microsoft Defender dla Chmury.
Zmiany między 2024-09-01-preview i 2024-08-01-preview
-
max_completion_tokensdodano do obsługio1-previewio1-minimodeli.max_tokensnie działa z modelami serii o1 . -
parallel_tool_callsDodane. -
completion_tokens_detailsireasoning_tokensdodano. -
stream_optionsiinclude_usagedodano.
Zmiany pomiędzy 2024-07-01-preview i 2024-08-01-preview specyfikacji API
- Obsługa danych wyjściowych ze strukturą.
- Dodano API przesyłania dużych plików.
- Zmiany waszych danych:
- Integracja z bazą danych Mongo DB.
-
role_informationparametr został usunięty. -
rerank_scorezostał dodany do obiektu cytatu. - Usunięto źródło danych AML.
- Ulepszenia integracji wektoryzacji sztucznej inteligencji w wyszukiwaniu.
Zmiany między 2024-05-01-preview oraz 2024-07-01-preview specyfikacji API
- Dodano obsługę interfejsu Batch API.
- Parametry strategii fragmentowania magazynu wektorów.
-
max_num_resultsże narzędzie wyszukiwania plików powinno zwrócić wyniki.
Zmiany między 2024-04-01-preview oraz 2024-05-01-preview specyfikacji API
- Obsługa Asystentów w wersji 2 – narzędzie do wyszukiwania plików i magazynowanie wektorów
- Dostrajanie checkpoints, seed, events
- Aktualizacje Twoich danych
- DALL-E 2 obsługuje teraz implementację modelu i może być używany z najnowszą wersją zapoznawczą API.
- Aktualizacje filtrowania zawartości
Zmiany w specyfikacji interfejsu API między 2024-03-01-preview oraz 2024-04-01-preview
-
Zmiana powodująca niezgodność: usunięto parametry ulepszeń. Ta zmiana ma wpływ na model
gpt-4Wersja:vision-preview. - dodano parametr timestamp_granularities.
- dodano obiekt
audioWord. - Dodatkowe
response_formats: wav & pcmTTS.
Znane problemy
- Specyfikacja
2025-04-01-previewAzure OpenAI używa specyfikacji OpenAPI 3.1. Jest to znany problem, że ta wersja nie jest w pełni obsługiwana przez Azure API Management.