OpenAI
Ta strona została przetłumaczona maszynowo. Wyświetl oryginalny artykuł w języku angielskim.

Rozwiązywanie problemów z błędami API i opóźnieniami

W tym artykule wyjaśniamy, jak używać pulpitów Kondycja usługi i Użycie do rozwiązywania typowych błędów i problemów z opóźnieniami podczas korzystania z interfejsu API OpenAI.

Zaktualizowano: 2 days ago

Ważne linki

*Pulpit Kondycja usługi jest obecnie dostępny tylko dla klientów Enterprise API.

Zacznij od właściwych ustawień domyślnych

Po otwarciu pulpitu Kondycja usługi domyślnie ustawione są:

  • Wszystkie projekty

  • Ostatnie 30 dni

  • Rozdzielczość godzinowa

Ten widok jest przydatny tylko do orientacji. Skuteczne rozwiązywanie problemów zawsze wymaga filtrowania.


Filtruj przed rozpoczęciem analizy

Prawidłowe filtrowanie to najważniejszy krok. Większość błędnych interpretacji wynika z mieszania modeli, poziomów lub projektów.

Filtruj według modelu (po jednym naraz)

Zawsze filtruj do jednego modelu.

Dlaczego:

  • Problemy w modelach o małym ruchu mogą zostać ukryte przez ruch o większym wolumenie

  • Modele o dużym wolumenie mogą sprawiać, że lokalne problemy wyglądają na globalne

  • Różne modele mają różne cele wydajnościowe

Uwaga: wybranie wielu modeli agreguje je — nie przełącza między nimi.

Filtruj według poziomu usługi

Jeśli używasz więcej niż jednego poziomu (standard, priority, scale), zawsze filtruj do poziomu, który analizujesz.

Dlaczego:

  • Poziomy mają różne charakterystyki wydajności

  • Poziomy priority i scale mają zdefiniowane umowy SLA

  • Mieszanie poziomów zaciemnia wydajność płatnych poziomów

Jest to szczególnie ważne przy analizie opóźnień.

Filtruj według projektu

Domyślnie Kondycja usługi pokazuje wszystkie projekty.

Podczas rozwiązywania problemów filtruj do projektu lub projektów, w których zaobserwowano problem.

Dlaczego:

  • Pojedynczy projekt o dużym wolumenie może dominować w metrykach

  • Mniejsze projekty, których dotyczy problem, mogą zostać ukryte przez niezwiązany ruch

Pozostaw wybrane tylko "Wszystkie projekty", jeśli uważasz, że problem rzeczywiście dotyczy całej organizacji.


Rozwiązywanie problemów z błędami

Użyj widoku Żądania HTTP

Aby przeanalizować błędy:

  1. Filtruj według modelu i poziomu

  2. Aby przełączyć z Czasu działania na Żądania HTTP, kliknij kartę Żądania HTTP

Ten widok pokazuje łączną liczbę żądań i liczbę błędów według kodu statusu HTTP. Przybliż do rozdzielczości minutowej, aby zidentyfikować szczegółowe skoki lub zmiany.

Interpretuj wskaźniki błędów, a nie liczby

Niektóre błędy są oczekiwane w każdym systemie produkcyjnym. Skup się na procentowym poziomie błędów, a nie na surowych sumach.

Im większy całkowity wolumen, tym większa potencjalna liczba błędów nawet przy bardzo niskim wskaźniku błędów.

Gdy w Kondycji usługi brakuje błędów

Jeśli widzisz błędy po stronie klienta, ale nie ma odpowiadających im danych w Kondycji usługi:

  • Żądania prawdopodobnie nie dotarły do OpenAI

  • Problem zwykle leży po stronie upstream (limity czasu, proxy, sieć)

Jest to częste przy agresywnych limitach czasu po stronie klienta.


Rozwiązywanie problemów z opóźnieniami

Analiza opóźnień jest najbardziej miarodajna w poziomach priority i scale, które mają zdefiniowane umowy SLA. Poziom standard może wykazywać większe zróżnicowanie opóźnień i nie ma gwarantowanego opóźnienia.

Kluczowe metryki

Aby wyświetlić każdą z tych metryk, kliknij odpowiednią kartę:

Prędkość tokenów

  • Tokeny generowane na sekundę.

  • Niezależna od rozmiaru polecenia.

Czas żądania

  • Łączny czas trwania żądania.

  • Silnie zależny od rozmiaru danych wyjściowych i rozumowania.

Czas do pierwszego tokena (TTFT)

  • Czas do wygenerowania pierwszego tokena.

  • Silnie zależny od rozmiaru niebuforowanego wejściowego polecenia i rozumowania.

Zawsze sprawdzaj percentyle P50 / P75 / P95. Średnie mogą ukrywać wpływ na rzeczywistych użytkowników.


6. Korelowanie opóźnień z użyciem tokenów

Kondycja usługi pokazuje, kiedy zmieniło się zachowanie. Dane użycia pomagają wyjaśnić, dlaczego.

Na pulpicie Użycie wykonaj poniższe czynności, aby upewnić się, że patrzysz na dane istotne dla widoku na pulpicie Kondycja usługi:

  • Filtruj według tego samego projektu i modelu

  • Grupuj według poziomu usługi , jeśli dotyczy

  • Skup się na tokenach wyjściowych, które najsilniej wpływają na opóźnienie

Aby przeprowadzić głębszą analizę, wyeksportuj dane aktywności i przeanalizuj liczbę tokenów na żądanie w czasie.


7. Co przekazać zespołowi wsparcia (w razie potrzeby)

Jeśli skontaktujesz się ze wsparciem, podaj:

  • Identyfikatory organizacji, których dotyczy problem (to ważne)

  • Punkty końcowe, których dotyczy problem (Chat Completions, Responses itp.) (to ważne)

  • Modele, których dotyczy problem (to ważne)

  • Czy dotyczy to poziomu scale czy priority? (to ważne)

  • Zakresy czasu ze strefą czasową dla opóźnień lub błędów (to ważne)

  • Odpowiednie x-request-id lub X-Client-Request-Id (często ważne; dołącz, jeśli to możliwe)

    • Znaczniki czasu ze strefą czasową (lub przynajmniej data) podanych żądań

    • Opóźnienie — jeśli podajesz przykłady wolnych żądań, podaj, ile to trwało po Twojej stronie. Najlepiej dołącz także znaczniki czasu wysłania i odebrania żądania.

    • Błędy — podaj przybliżony procent nieudanych/błędnych żądań, kody odpowiedzi, komunikaty o błędach oraz czas potrzebny na otrzymanie odpowiedzi z błędem

  • Identyfikator projektu powiązany z żądaniami

  • Czy ma to wpływ na żądania związane z rezydencją danych? Jeśli tak, które?

  • Opisy obserwowanych trendów

    • Błędy: Przybliżony % nieudanych/błędnych żądań

    • Opóźnienie: Które percentyle są dotknięte problemem (p50 / p90 / p95 / p99) i jak wysokie są w porównaniu z poziomem bazowym klienta

    • Oba: Zrzuty ekranu lub tabela z danymi o błędach albo opóźnieniach (Jak ustalono, że wskaźniki błędów lub opóźnienie są wyższe niż oczekiwano?)


Typowe scenariusze rozwiązywania problemów

Występują limity czasu, ale Kondycja usługi wygląda normalnie

Możliwa przyczyna: żądania przekraczają limit czasu, zanim dotrą do OpenAI.

Sprawdź:

  • Ustawienia limitu czasu klienta lub proxy

  • Lokalną sieć lub zmiany w load balancerze

  • Obecność błędów 499 na pulpicie Kondycja usługi (mogą one pojawiać się jako błędy 5xx w Twoich własnych systemach).


Opóźnienie wzrosło bez wdrożenia

Możliwa przyczyna: wzrósł rozmiar tokenów wyjściowych lub użycie rozumowania i\or ruch przesunął się między poziomami usługi

Sprawdź:

  • Średnią liczbę tokenów wyjściowych na żądanie na pulpicie Użycie (wymaga pobrania danych i podzielenia liczby tokenów wyjściowych przez łączną liczbę żądań).

  • Percentyle czasu żądania i TTFT na pulpicie Kondycja usługi.


Poziom Priority lub Scale wydaje się wolny

Możliwa przyczyna: metryki są mieszane między poziomami (co oznacza, że ruch poziomu standard maskuje wydajność płatnego poziomu)

Sprawdź:

  • Filtry są ograniczone do jednego poziomu i modelu

  • Porównanie prędkości tokenów między poziomami


Skok liczby błędów 5XX

Prawdopodobna przyczyna: przejściowe awarie wpływające na niewielki procent ruchu.

Sprawdź:

  • Procentowy wskaźnik błędów

  • Czy wolumen ruchu zmienił się w tym samym czasie


Problem dotyczy tylko jednego projektu

Prawdopodobna przyczyna: konfiguracja projektu lub wzorzec użycia specyficzny dla projektu.

Sprawdź:

  • Filtrowanie na poziomie projektu

  • Porównanie z projektami, których problem nie dotyczy


Najważniejsze wnioski

  • Filtruj według modelu, poziomu i — tam, gdzie to istotne — projektu przed interpretacją metryk

  • W analizie opóźnień używaj percentyli, a nie średnich

  • Niewielkie wskaźniki błędów są oczekiwane

  • Brak danych zwykle wskazuje na problemy upstream

  • Dane użycia mogą pomóc wyjaśnić, dlaczego opóźnienie się zmieniło; Kondycja usługi pomaga pokazać, kiedy

Czy ten artykuł był pomocny?