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.
Elastyczne przetwarzanie (wersja zapoznawcza) umożliwia wnioskowanie przy koszcie niższym o 50% w porównaniu z przetwarzaniem standardowym w przypadku obciążeń, które tolerują dłuższe czasy odpowiedzi i sporadyczną niedostępność zasobów. Wybierz przetwarzanie Flex dla pojedynczego żądania interfejsu Responses API lub Chat Completions API, ustawiając service_tier na flex.
Używaj przetwarzania Flex do pracy nieinteraktywnej i niższej priorytetu, takiej jak oceny modeli, wzbogacanie danych, analiza dokumentów i asynchroniczne przepływy pracy aplikacji. W przypadku obciążeń wrażliwych na opóźnienia lub przepustowość należy zamiast tego użyć przetwarzania standardowego, przetwarzania priorytetowego lub aprowizowanej przepustowości.
Ważna
Wraz z wprowadzeniem przetwarzania Flex żądania ustawione service_tier na flex są przetwarzane tylko wtedy, gdy wybrany model obsługuje przetwarzanie Flex. Nieobsługiwany model zwraca kod HTTP 400 invalid_request_error i nie przechodzi do przetwarzania standardowego. Przetwarzanie Flex nie ma SLA dotyczącego opóźnień ani SLA usługi.
Wymagania wstępne
Subskrypcja platformy Azure. Utwórz je bezpłatnie.
Zasób Azure OpenAI z obsługiwanym modelem wdrożonym przy użyciu typu wdrożenia Global Standard.
Punkt końcowy zasobu i klucz API lub poświadczenia Microsoft Entra ID. Przykłady w tym artykule używają klucza interfejsu API przechowywanego w zmiennej środowiskowej
AZURE_OPENAI_API_KEY.Obciążenie robocze, które może tolerować zmienne opóźnienia i przejściowe odpowiedzi wskazujące na niedostępność zasobów.
Python 3.10 lub nowszy oraz pakiet Python OpenAI dla przykładów Python:
pip install --upgrade openai
Wyślij żądanie Flex
Ustaw service_tier na flex w każdym żądaniu, które ma używać przetwarzania Flex. Wartość model to nazwa wdrożenia modelu Azure.
Python
Poniższy przykład wysyła żądanie Flex przy użyciu interfejsu API Responses:
import os
from openai import OpenAI
AZURE_OPENAI_ENDPOINT = "https://YOUR-RESOURCE-NAME.openai.azure.com"
# Create a client with a longer timeout for Flex requests.
openai = OpenAI(
base_url=f"{AZURE_OPENAI_ENDPOINT}/openai/v1/",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
timeout=900.0,
)
# Send a request for Flex processing.
response = openai.responses.create(
model="YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
input="Analyze these records and summarize the recurring themes.",
service_tier="flex",
)
print(response.output_text)
print(f"Processed by service tier: {response.service_tier}")
<generated-analysis>
Processed by service tier: flex
Odpowiedź zawiera wygenerowaną analizę i warstwę usługi, która przetwarza żądanie.
Dokumentacja:API odpowiedzi
REST
Poniższy przykład wysyła to samo żądanie bezpośrednio do Responses API:
curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '{
"model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
"input": "Analyze these records and summarize the recurring themes.",
"service_tier": "flex"
}'
{
"service_tier": "flex",
"status": "completed",
"output": [<response-output>]
}
Aby sprawdzić, która warstwa przetwarza żądanie, sprawdź pole service_tier w odpowiedzi zakończonej powodzeniem.
Dokumentacja:Dokumentacja referencyjna interfejsu API REST Responses
Wybierz opcję przetwarzania
Flex, Standard i Priority to opcje poziomu usługi dla żądań online do interfejsu API. Przepustowość wsadowa i przepustowość aprowizowana to oddzielne opcje wdrożenia i zakupu.
| Option | Jak ją wybrać | Opóźnienie i dostępność | Model kosztów | Najlepsze dla |
|---|---|---|---|---|
| Elastyczne przetwarzanie | Ustaw service_tier na poziomie żądania na flex. |
Zmienne opóźnienie. Żądania mogą zwracać protokół HTTP 429, gdy pojemność Flex jest niedostępna. | 50% rabat w porównaniu z standardowymi stawkami tokenów. Obowiązują również rabaty na token buforowany. | Ewaluacje, wzbogacenie, analiza offline i zadania w tle tolerujące opóźnienia. |
| Przetwarzanie standardowe | Ustaw poziom service_tier żądania na default, lub użyj warstwy Standardowa skonfigurowanej dla wdrożenia. |
Przetwarzanie w trybie online w miarę dostępnych zasobów dla obciążeń ogólnego przeznaczenia. | Standardowa stawka płatności za token. | Deweloperskie, testowe i produkcyjne obciążenia robocze o zmiennym natężeniu ruchu. |
| Przetwarzanie priorytetów | Skonfiguruj priorytet we wdrożeniu lub ustaw parametr na poziomie żądania service_tier na priority. |
Mniejsze i bardziej spójne opóźnienie ze zdefiniowanym elementem docelowym dla obsługiwanych modeli. | Priorytetowa stawka płatności za token. | Aplikacje online wrażliwe na opóźnienia bez zobowiązania do rezerwacji pojemności. |
| Batch | Prześlij asynchroniczne zadanie wsadowe do wdrożenia Batch. | Przewidywany czas uzyskania wyników wynosi do 24 godzin. Brak docelowego opóźnienia w czasie rzeczywistym. | Obniżona stawka za partię. | Duże zadania w trybie offline, które nie wymagają natychmiastowej odpowiedzi. |
| Aprowizowana przepływność | Utwórz aprowizowane wdrożenie i kup lub zarezerwuj aprowizowane jednostki przepływności (PTU). | Pojemność zarezerwowana z przewidywalną przepływnością i opóźnieniami. | Naliczanie godzinowe PTU lub rezerwacja platformy Azure. | Duże obciążenia produkcyjne o krytycznym znaczeniu. |
Wybierz przetwarzanie Flex, jeśli spełnione są wszystkie poniższe warunki:
- Twoje obciążenie może zaakceptować dłuższe i zmienne czasy przetwarzania.
- Preferowane są niższe koszty niż przewidywalne opóźnienia.
- Aplikacja może ponawiać próby po wystąpieniu przejściowych błędów lub przekierować żądanie zakończone niepowodzeniem do przetwarzania Standard.
- Wybrany model i kontekst żądania są obsługiwane.
Nie używaj przetwarzania Flex, jeśli obowiązują żadne z następujących warunków:
- Użytkownik czeka na interakcyjną odpowiedź.
- Żądanie musi zostać zrealizowane w ścisłym limicie opóźnienia.
- Aplikacja nie może tolerować ani ponawiać przejściowych odpowiedzi HTTP 429.
- Wymagana jest pojemność przetwarzania zarezerwowanego lub przewidywalna przepływność.
Przetwarzanie Flex ma następujące cechy:
-
Wybór na poziomie żądania: Ustaw wartość
service_tiernaflexdla każdego żądania, które ma korzystać z przetwarzania Flex. - Bez oddzielnego wdrożenia: Wysyłaj żądania Standard i Flex do tego samego wdrożenia Global Standard i wybieraj warstwę dla każdego żądania.
- Obsługiwane interfejsy API: Użyj interfejsu Responses API lub Chat Completions API.
- Odpowiedź synchroniczna: Wywołanie interfejsu API pozostaje synchroniczne, mimo że wykonanie operacji może potrwać dłużej. Przetwarzanie Flex to nie to samo co Batch API.
- Dostępność zależna od dostępnej pojemności: Żądanie może zwrócić kod HTTP 429, gdy pojemność Flex nie jest dostępna.
-
Brak automatycznego przełączenia awaryjnego na tryb Standard: Aplikacja musi jawnie ponowić próbę z parametrem
service_tierustawionym nadefault, jeśli przetwarzanie w trybie Standard jest akceptowalne. - Przydział udostępniony: Żądania Flex i Standard używają przydziału przypisanego do wdrożenia w warstwie Global Standard.
- Ta sama jakość danych wyjściowych modelu: Flex używa tego samego modelu bazowego co Standard. Warstwa przetwarzania zmienia opóźnienie, dostępność i cenę, a nie jakość modelu.
Note
Tokeny wejściowe i wyjściowe Flex są objęte rabatem 50% w porównaniu z odpowiadającymi im standardowymi stawkami tokenów. Kwalifikujące się tokeny wejściowe buforowane otrzymują również odpowiedni rabat na token buforowany. Aby sprawdzić bieżące stawki, zobacz Cennik usługi Azure OpenAI.
Przegląd obsługiwanych modeli
Przetwarzanie Flex ma ograniczoną dostępność modeli w momencie premiery.
gpt-5.6-sol jest pierwszym obsługiwanym modelem. W poniższej tabeli wymieniono obsługiwane modele. Microsoft dodaje kolejne modele w miarę udostępniania obsługi.
| Model | Version | Typ wdrożenia | Dostępność regionu |
|---|---|---|---|
gpt-5.6-sol |
2026-07-09 |
Standardowa globalna | Wszystkie regiony Azure, w których jest dostępny globalny standard |
Sprawdź tę tabelę przed wysłaniem żądania Flex. Nie zakładaj, że model lub nowa wersja modelu obsługuje przetwarzanie Flex tylko dlatego, że obsługuje przetwarzanie w trybie Standard lub Priority. Nieobsługiwany model zwraca protokół HTTP 400. Aby uniknąć zakłócenia działania aplikacji, zaimplementuj mechanizm awaryjny na poziomie aplikacji, przełączający na przetwarzanie w warstwie Standard, jeśli ceny i wydajność tej warstwy są akceptowalne.
Powrót do standardowego przetwarzania
Przetwarzanie Flex nie kieruje automatycznie żądania do Standard, gdy zasoby Flex są niedostępne. Jeśli zrealizowanie żądania jest ważniejsze niż utrzymanie taryfy Flex, ponów żądanie, ustawiając service_tier na default.
W poniższym przykładzie zastosowano strategię „completion-first”. Najpierw próbuje przetwarzania w trybie Flex, a po każdej odpowiedzi HTTP 429 ponawia próbę raz, używając trybu Standard:
import os
from openai import OpenAI, RateLimitError
AZURE_OPENAI_ENDPOINT = "https://YOUR-RESOURCE-NAME.openai.azure.com"
# Create a client with a longer timeout for Flex requests.
openai = OpenAI(
base_url=f"{AZURE_OPENAI_ENDPOINT}/openai/v1/",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
timeout=900.0,
)
request = {
"model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
"input": "Analyze these records and summarize the recurring themes.",
}
# Try Flex processing, and fall back to Standard after an HTTP 429 response.
try:
response = openai.responses.create(**request, service_tier="flex")
except RateLimitError:
response = openai.responses.create(**request, service_tier="default")
print(response.output_text)
print(f"Processed by service tier: {response.service_tier}")
<generated-analysis>
Processed by service tier: <flex-or-default>
Powrót do warstwy Standard zmienia charakterystykę cenową i wydajnościową żądania. Użyj tego wzorca tylko wtedy, gdy obciążenie robocze może korzystać z warstwy cenowej Standard.
Odpowiedź HTTP 429 może wskazywać na niedostępną pojemność Flex lub limit przydziału. Ponieważ przetwarzanie Flex i Standard współdzielą ten sam limit, żądanie Standard również może się nie powieść, jeśli pierwotna odpowiedź była spowodowana limitem. Zastosuj limity ponawiania prób i obsłuż sekundę RateLimitError w aplikacji. Gdy usługa zwraca identyfikator błędu specyficznego dla rozwiązania Flex, użyj go, aby ograniczyć rezerwowe odpowiedzi związane z pojemnością.
W przypadku obciążeń, dla których priorytetem jest najniższy koszt, ponawiaj przetwarzanie Flex z wykładniczo wydłużanymi odstępami, zanim nastąpi przełączenie awaryjne. W przypadku obciążeń roboczych, dla których priorytetem jest czas ukończenia, po pierwszym błędzie pojemności w warstwie Flex przełącz się z powrotem na warstwę Standard.
Dokumentacja:RateLimitError
Obsługa błędów Flex
Rozróżniaj trwałe błędy żądań od przejściowych błędów wynikających z ograniczeń pojemności.
| Kod statusu HTTP | Błąd | Przyczyna | Zalecana obsługa |
|---|---|---|---|
| 400 | invalid_request_error |
Wybrany model, wersja modelu, długość kontekstu, interfejs API lub konfiguracja żądania nie obsługuje przetwarzania Flex. | Nie ponawiaj próby tego samego żądania bez zmian. Wybierz obsługiwany model lub długość kontekstu albo jawnie ponów próbę z parametrem service_tier ustawionym na default. |
| 408 | Przekroczono limit czasu żądania | Żądanie nie zostanie ukończone w ramach skonfigurowanego limitu czasu klienta lub usługi. Żądania typu Flex mogą trwać dłużej niż żądania standardowe. | Ustaw dłuższy limit czasu klienta. Ponów próbę z powiązanym wycofywaniem wykładniczym. Jeśli czas realizacji jest ważniejszy niż ceny Flex, spróbuj ponownie, wybierając Standard. |
| 429 | Zasób jest niedostępny lub ograniczona szybkość | Pojemność Flex jest tymczasowo niedostępna lub żądanie przekroczyło odpowiedni limit szybkości. Zasoby Flex mogą zostać odebrane, więc tymczasowa niedostępność jest bardziej prawdopodobna w godzinach szczytu. | Jeśli żądanie przekroczyło limit liczby żądań, zwiększ limit liczby żądań dla wdrożenia Global Standard, przydzielając większy przydział. Flex i Standard współdzielą ten limit. Jeśli subskrypcja nie ma wystarczającego limitu dla obciążenia o dużej przepustowości, poproś o zwiększenie limitu. Jeśli zasoby Flex są tymczasowo niedostępne, ponów próbę, stosując wykładnicze wydłużanie odstępów między próbami i losowe opóźnienie, rozłóż zadania niewrażliwe na opóźnienia na okresy poza szczytem, takie jak noce w dni robocze lub weekendy, albo ponów próbę z wartością service_tier ustawioną na default. Uwzględnij Retry-After, jeśli występuje. |
| 500, 502, 503 lub 504 | Błąd usługi przejściowej | Tymczasowy problem z usługą lub bramą uniemożliwił ukończenie. | Ponów próbę z ograniczonym wykładniczo wydłużanym czasem ponawiania. Nie wysyłaj nieograniczonej liczby ponownych prób. |
| 401 lub 403 | Błąd uwierzytelniania lub autoryzacji | Poświadczenie jest nieobecne, nieprawidłowe, wygasłe lub nie ma uprawnień dostępu do zasobu. | Popraw poświadczenia lub przypisanie roli. Nie próbuj ponownie, dopóki konfiguracja nie ulegnie zmianie. |
| 404 | Nie znaleziono wdrożenia | Nazwa wdrożenia lub punkt końcowy jest niepoprawny. | Sprawdź, czy model jest zgodna z nazwą wdrożenia i czy podstawowy adres URL wskazuje prawidłowy zasób Azure OpenAI. |
Note
Odrzucone żądanie Flex z powodu braku dostępnej mocy obliczeniowej nie podlega rozliczeniu. Możesz jednak zauważyć niższy dostępny limit, ponieważ żądania Flex i Standard współdzielą limit przypisany do wdrożenia Global Standard.
Użyj wycofywania wykładniczego z losowym zakłóceniami dla odpowiedzi HTTP 408, 429 i przejściowych odpowiedzi 5xx. Ustaw maksymalną liczbę ponownych prób i maksymalne opóźnienie, aby żądanie, które zakończyło się niepowodzeniem, nie pozostaje w niezwiązanej pętli ponawiania prób.
- Uwzględnij
Retry-After, gdy odpowiedź go zawiera. - W przeciwnym razie poczekaj na wykładniczo rosnące opóźnienie z losowym zakłóceniami.
- Ponawiaj próby Flex tylko dopóty, dopóki opóźnienie pozostaje akceptowalne dla danego obciążenia.
- Przełącz się z powrotem na plan Standard, jeśli limit ponowień zostanie wyczerpany, a aplikacja akceptuje wyższy koszt planu Standard.
- Zwróć jednoznaczny błąd, jeśli ani opóźnione przetwarzanie Flex, ani mechanizm awaryjny Standard nie spełniają wymagań aplikacji.
Nie należy wielokrotnie ponawiać tego samego żądania Flex, które nie jest obsługiwane. Ponowienie próby powiedzie się dopiero po zmianie modelu, długości kontekstu, konfiguracji interfejsu API lub warstwy usługi.
Monitorowanie użycia i kosztów
Użyj metryk Azure Monitor, aby porównać ruch Flex i Standard w tym samym wdrożeniu. Monitoruj wolumin żądań, użycie tokenu, opóźnienie, błędy i szybkość, z jaką żądania Flex wracają do warstwy Standardowa w aplikacji.
Zaloguj się do portalu Azure.
Przejdź do zasobu usługi Azure OpenAI i wybierz pozycję Metryki.
Dodaj metrykę Żądania usługi Azure OpenAI. Możesz również dodać opóźnienie usługi Azure OpenAI, użycie usługi Azure OpenAI i metryki błędów.
Dodaj filtr, w którym ServiceTierRequest jest równe
flex.Twórz alerty dla długotrwałych odpowiedzi HTTP 429, zwiększone współczynniki błędów i opóźnienia, które przekraczają budżet ponawiania prób obciążenia.
Śledź następujące sygnały dla każdego obciążenia:
| Sygnał | Dlaczego ma to znaczenie |
|---|---|
| Liczba żądań usługi Flex | Pokazuje stopień wdrożenia i ruch kierowany do tańszego przetwarzania. |
| Wskaźnik pomyślnych żądań Flex | Pokazuje, jak często pojemność Flex akceptuje i realizuje żądania. |
| Szybkość HTTP 429 | Pokazuje okresy, w których limit pojemności Flex lub limit wdrożenia jest ograniczony. |
| Standardowa liczba i współczynnik zapasowy | Pokazuje korzyść w zakresie niezawodności oraz dodatkowy koszt wynikające z mechanizmu awaryjnego sterowanego przez aplikację. |
| Tokeny wejściowe, buforowane i wyjściowe | Obsługuje przypisywanie kosztów i weryfikuje działanie buforowania promptów. |
| Kompleksowe opóźnienie | Pomaga określić, czy obciążenie pozostaje odpowiednie dla rozwiązania Flex. |
Liczba HTTP 400 invalid_request_error |
Identyfikuje nieobsługiwane modele, wersje modelu, długości kontekstu lub konfiguracje żądań. |
Aby uzyskać więcej informacji na temat monitorowania wdrożeń modelu, zobacz Monitorowanie Azure OpenAI.
Korzystanie z usługi Flex jest rozliczane za pomocą dedykowanych liczników Flex, dzięki czemu można je odróżnić od użycia standardowego. Użyj funkcji Analiza kosztów, aby przejrzeć koszty tokenów Flex według zasobów i wdrożenia.
- W portalu Azure otwórz pozycję Zarządzanie kosztami i analiza kosztów rozliczeniowych>.
- Przefiltruj do subskrypcji, grupy zasobów lub zasobu Azure OpenAI, które zawierają wdrożenie.
- Grupuj lub filtruj według licznika, aby oddzielić użycie Flex od użycia Standard.
- Dodaj filtr tagu rozliczeniowego, wybierz wdrożenie i wybierz nazwę wdrożenia.
- Porównaj oszczędności kosztów w warstwie Flex z kosztami awaryjnego przełączenia w warstwie Standard oraz z wymaganiami dotyczącymi zakończenia obciążenia.
Elastyczne tokeny wejściowe i wyjściowe są wyceniane na 50% odpowiednich stawek standardowych. Buforowanie promptów może jeszcze bardziej obniżyć koszt kwalifikujących się tokenów wejściowych zapisanych w pamięci podręcznej. Odrzucone żądanie Flex z powodu braku dostępnej mocy obliczeniowej nie podlega rozliczeniu.
Stosowanie najlepszych rozwiązań produkcyjnych
- Ustaw dłuższy limit czasu. Żądania typu Flex mogą trwać dłużej niż żądania standardowe. Zacznij od ustawienia limitu czasu po stronie klienta odpowiedniego dla charakteru obciążenia, na przykład 15 minut, i testuj przy użyciu reprezentatywnych promptów.
- Użyj ograniczonych ponownych prób. Ogranicz próby ponawiania prób i łączny czas, który upłynął.
- Dodaj zakłócenia. Stosuj losowe opóźnienia między ponownymi próbami, aby uniknąć zsynchronizowanych skoków liczby ponowień.
- Jawnie określ mechanizm zastępczy. Ustaw wartość
service_tiernadefaultzamiast polegać na zachowaniu niejawnym. - Śledzenie przetworzonej warstwy. Zarejestruj wartość odpowiedzi
service_tierz opóźnieniem, stanem, użyciem tokenu i danymi kosztów. - Oddziel ruch interakcyjny od ruchu w tle. Utrzymuj żądania kierowane do użytkowników w trybie standardowej, priorytetowej lub zarezerwowanej przepływności, chyba że akceptowalne są zmienne opóźnienia w trybie Flex.
- Sterowanie zduplikowaną pracą. Upewnij się, że aplikacja nie przesyła tego samego zadania logicznego wiele razy po przekroczeniu limitu czasu po stronie klienta.
- Przetestuj ścieżki błędów. Sprawdzanie obsługi odpowiedzi HTTP 400, 408, 429 i przejściowych odpowiedzi 5xx przed użyciem przetwarzania Flex w przepływach pracy produkcyjnych.
- Przed uaktualnieniem przejrzyj obsługę modelu. Model zamienny lub wersja modelu nie dziedziczy obsługi Flex automatycznie.
Zastąpić poziom usługi za pomocą nagłówka żądania
Użyj nagłówka x-ms-service-tier żądania, gdy brama, serwer proxy lub scentralizowana warstwa routingu musi wybrać warstwę usługi bez inspekcji lub modyfikowania treści żądania. Nagłówek może również ograniczyć zakres zmian związanych z migracją w przypadku aplikacji, które już określają warstwę usługi OpenAI za pomocą nagłówka żądania.
Nagłówek akceptuje następujące wartości:
| Wartość nagłówka | Żądana warstwa przetwarzania |
|---|---|
flex |
Flex |
priority |
Priority |
default |
Standard |
auto |
Priority |
Gdy nagłówek jest obecny i prawidłowy, ma pierwszeństwo przed wartością service_tier w treści żądania.
| Pole wejściowe nagłówka | Pole treści żądania | Zachowanie i dane wyjściowe |
|---|---|---|
| Pominięto nagłówek | Prawidłowa service_tier wartość |
Treść żądania określa poziom. Pomyślna odpowiedź identyfikuje przetworzoną warstwę w pliku service_tier. |
| Prawidłowa wartość nagłówka | Dowolna wartość lub pominięta | Nagłówek służy do wybierania żądanego poziomu. Pomyślna odpowiedź identyfikuje przetworzoną warstwę w pliku service_tier. |
| Nieobsługiwana wartość nagłówka | Dowolna wartość lub pominięta | Żądanie zwraca błąd HTTP 400. Usługa nie wraca do wartości treści żądania. |
W tym przykładzie za pomocą nagłówka żąda się przetwarzania Flex. Nagłówek zastępuje wartość default w treści żądania:
curl -X POST https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/responses \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H "x-ms-service-tier: flex" \
-d '{
"model": "YOUR-GPT-5.6-SOL-DEPLOYMENT-NAME",
"input": "Analyze these records and summarize the recurring themes.",
"service_tier": "default"
}'
{
"service_tier": "flex",
"status": "completed",
"output": [<response-output>]
}
Nagłówek zastępujący nie zapewnia automatycznego mechanizmu awaryjnego. Nieprawidłowa wartość nagłówka lub warstwa, która nie obsługuje wybranego wdrożenia, zwraca błąd HTTP 400.