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: 8 days ago

Ważne linki

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

Po otwarciu panelu stanu usługi domyślnie ustawione są:

  • Wszystkie projekty

  • Ostatnie 30 dni

  • Rozdzielczość godzinowa

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

Filtruj przed rozpoczęciem badania

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

Filtruj według modelu (pojedynczo)

Zawsze filtruj do pojedynczego modelu.

Dlaczego:

  • Problemy z modelami o niskim ruchu mogą być ukryte przez ruch o większym wolumenie

  • Modele o dużym wolumenie mogą sprawiać, że problemy lokalne 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.

Filtrowanie według poziomu planu

Jeśli korzystasz z więcej niż jednego poziomu — standardowego, Trybu szybkiego (dawniej przetwarzanie priorytetowe) lub oferty Skalowanej — zawsze wybieraj w filtrze poziom, który analizujesz.

Dlaczego:

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

  • Tryb szybki i oferta Skalowana mają określone umowy SLA

  • Łączenie poziomów zniekształca wydajność płatnych poziomów

Jest to szczególnie ważne podczas analizy opóźnień.

W przypadku istniejących modeli ruch w Trybie szybkim nadal jest wyświetlany jako priorytetowy w panelu Użycie.

Filtruj według projektu

Domyślnie stan usługi pokazuje wszystkie projekty.

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

Dlaczego:

  • Jeden projekt o dużym wolumenie może zdominować metryki.

  • Mniejsze projekty, których dotyczy problem, mogą być maskowane przez niepowiązany ruch.

Pozostaw wybraną opcję „Wszystkie projekty” tylko wtedy, gdy uważasz, że problem rzeczywiście dotyczy całej organizacji.

Rozwiązywanie problemów z błędami

Użyj widoku żądań HTTP

Aby zbadać błędy:

  1. Filtruj według modelu i poziomu planu.

  2. Otwórz kartę Żądania HTTP zamiast karty Czas działania.

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

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

W każdym systemie produkcyjnym należy spodziewać się pewnych błędów. Skup się na procentowym udziale błędów, a nie na surowych sumach.

Im większy łączny wolumen, tym większa potencjalna liczba błędów nawet przy wyjątkowo niskim wskaźniku błędów.

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

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

  • Żądania prawdopodobnie nie dotarły do OpenAI.

  • Problem zwykle leży po stronie nadrzędnej (limity czasu, serwery 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 przypadku poziomów Tryb szybki i oferta Skalowana, które mają określone umowy SLA. Na poziomie standardowym opóźnienia mogą być bardziej zróżnicowane i nie są gwarantowane.

Kluczowe metryki

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

  • Szybkość tokenów: tokeny generowane na sekundę; niezależna od rozmiaru polecenia.

  • Czas żądania: łączny czas trwania żądania; silnie zależy od rozmiaru danych wyjściowych i rozumowania.

  • Czas do pierwszego tokena (TTFT): czas do wygenerowania pierwszego tokena; silnie zależy od rozmiaru niebuforowanego polecenia wejściowego i rozumowania.

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

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

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

W panelu użycia wykonaj poniższe czynności, aby upewnić się, że oglądasz dane odpowiednie dla widoku w panelu stanu usługi:

  • Filtruj do tego samego projektu i modelu.

  • Grupuj według poziomu planu, jeśli ma to zastosowanie.

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

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

7. Jakie informacje przekazać pomocy technicznej (w razie potrzeby)

Kontaktując się z pomocą techniczną, podaj:

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

  • Endpointy, których dotyczy problem, np. Chat Completions lub Responses (ważne)

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

  • Czy problem dotyczy opcji „Tryb szybki” czy „oferta Skalowana” (ważne)

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

  • Odpowiednie wartości x-request-id lub X-Client-Request-Id, jeśli są dostępne

  • Znaczniki czasu wraz ze strefą czasową lub przynajmniej datę przesłanych żądań

Jeśli to możliwe, podaj również:

  • Identyfikator projektu powiązanego z żądaniami

  • Czy problem dotyczy żądań objętych rezydencją danych, a jeśli tak — których

  • Opis obserwowanych trendów

W zależności od rodzaju problemu podaj:

  • Błędy: przybliżony odsetek żądań zakończonych niepowodzeniem lub błędem, kody odpowiedzi, komunikaty o błędach oraz czas oczekiwania na odpowiedź z błędem.

  • Opóźnienia: których percentyli dotyczy problem (P50 / P90 / P95 / P99), o ile przekraczają typowe wartości klienta, oraz przykłady powolnych żądań ze znacznikami czasu wysłania i odebrania.

  • Oba problemy: zrzuty ekranu lub tabela z danymi dotyczącymi błędów bądź opóźnień oraz opis sposobu ustalenia, że współczynnik błędów lub opóźnienia były wyższe od oczekiwanych.

Typowe scenariusze rozwiązywania problemów

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

Możliwa przyczyna: żądania przekraczają limit czasu przed dotarciem do OpenAI.

Sprawdź:

  • Ustawienia limitów czasu klienta lub serwera proxy

  • Zmiany w sieci lokalnej lub module równoważenia obciążenia

  • Obecność błędów 499 w panelu stanu usługi (w Twoich systemach mogą pojawiać się jako błędy 5xx).

Opóźnienie wzrosło bez wdrożenia

Możliwa przyczyna: zwiększył się rozmiar tokenów wyjściowych lub użycie rozumowania albo ruch przesunął się między poziomami planu.

Sprawdź:

  • Średnia liczba tokenów wyjściowych na żądanie w panelu użycia (wymaga pobrania danych i podzielenia tokenów wyjściowych przez łączną liczbę żądań).

  • Percentyle czasu żądania i TTFT w panelu stanu usługi.

Tryb szybki lub oferta Skalowana działają wolno

Możliwa przyczyna: dane obejmują różne poziomy, więc ruch z poziomu standardowego zniekształca wydajność płatnych poziomów.

Sprawdź:

  • Czy filtry ograniczają dane do jednego poziomu i modelu.

  • Porównanie szybkości generowania tokenów między poziomami.

Wzrost liczby błędów 5XX

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

Sprawdź:

  • Procentowy wskaźnik błędów

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

Problem dotyczy tylko jednego projektu

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

Sprawdź:

  • Filtrowanie na poziomie projektu

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

Najważniejsze wnioski

  • Przed interpretacją metryk filtruj według modelu, poziomu planu i projektu tam, gdzie ma to znaczenie.

  • Do analizy opóźnień używaj percentyli, a nie średnich.

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

  • Brakujące dane zwykle wskazują na problemy po stronie nadrzędnej.

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

Czy ten artykuł był pomocny?