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: 12 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.

Powiązanie opóźnień ze zużyciem tokenów

Panel stanu usługi pokazuje, kiedy zmieniło się jej działanie. Dane o zużyciu pomagają wyjaśnić, dlaczego.

W panelu zużycia wykonaj poniższe kroki, aby wyświetlić dane odpowiadające widokowi w panelu stanu usługi:

  • Przefiltruj dane według tego samego projektu i modelu.

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

  • Skup się na tokenach wyjściowych, które mają największy wpływ na opóźnienia.

Aby przeprowadzić dokładniejszą analizę, wyeksportuj dane o aktywności i sprawdź, jak liczba tokenów na żądanie zmieniała się w czasie.

Co przekazać zespołowi pomocy technicznej (w razie potrzeby)

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

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

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

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

  • Czy problem występuje w Trybie szybkim, czy w ofercie Skalowanej (ważne)

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

  • Odpowiedni identyfikator x-request-id lub X-Client-Request-Id, jeśli jest dostępny

  • Znaczniki czasu ze strefą czasową lub przynajmniej datę dla podanych żądań

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

  • Identyfikator projektu powiązanego z żądaniami

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

  • Opis zaobserwowanych trendów

W zależności od rodzaju problemu uwzględnij:

  • Błędy: Przybliżony odsetek nieudanych żądań lub żądań zwracających błędy, 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 ich wartości przekraczają poziom bazowy klienta oraz przykłady wolnych żądań ze znacznikami czasu wysłania żądania i otrzymania odpowiedzi.

  • Oba rodzaje problemów: Zrzuty ekranu lub tabelę z danymi o błędach lub opóźnieniach oraz opis sposobu ustalenia, że wskaźniki 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?