Typowe błędy API OpenAI (ChatGPT, DALL-E) i jak je naprawić: kody błędów, limity, uwierzytelnianie
2026-03-30Cześć wszystkim fanom AI!
Korzystanie z API OpenAI (czy to do budowania czatbotów z modelem ChatGPT, generowania obrazów z DALL-E, czy innych zastosowań) otwiera drzwi do niesamowitych możliwości. Jednak, jak każda zaawansowana technologia, czasami stawia nas przed wyzwaniami w postaci błędów. Najczęściej spotykane problemy z API OpenAI to błędy uwierzytelniania (401, 403), przekroczone limity zapytań (429) oraz problemy z walidacją danych (400). Na szczęście większość z nich można szybko zdiagnozować i naprawić, często w kilka minut, dzięki zrozumieniu kodów błędów i zastosowaniu sprawdzonych strategii. W tym artykule przeprowadzimy Cię przez najczęstsze błędy i pokażemy, jak skutecznie sobie z nimi radzić.
Błędy uwierzytelniania i autoryzacji (401, 403)
To jedne z pierwszych błędów, na które natrafisz, jeśli coś jest nie tak z Twoim kluczem API.
- Błąd 401 Unauthorized: Oznacza, że dostarczony klucz API jest nieprawidłowy lub go brakuje. System nie mógł Cię zidentyfikować.
- Błąd 403 Forbidden: Wskazuje, że Twój klucz API jest poprawny, ale nie masz uprawnień do wykonania danej operacji. Może być to związane z brakiem środków na koncie, zawieszeniem konta lub wykorzystaniem klucza, który nie jest przeznaczony do konkretnego zasobu.
Jak naprawić błędy 401/403:
- Sprawdź klucz API: Upewnij się, że używasz prawidłowego i aktywnego klucza API, który wygenerowałeś w panelu OpenAI (platform.openai.com/account/api-keys). Generuj nowe klucze tylko wtedy, gdy masz pewność, że stary jest problemem i zawsze traktuj je jako poufne.
- Zmienne środowiskowe: Jeśli używasz zmiennych środowiskowych, upewnij się, że klucz jest poprawnie ustawiony i dostępny dla Twojej aplikacji. Częsty błąd to literówka w nazwie zmiennej.
- Status konta i billing: Odwiedź panel OpenAI i sprawdź status swojego konta oraz billing. Czy masz wystarczające środki? Czy Twoja metoda płatności jest aktualna? Czy konto nie zostało zawieszone?
- Nagłówki HTTP: Upewnij się, że klucz API jest przesyłany w nagłówku `Authorization: Bearer `. To standardowy sposób uwierzytelniania.
Przekroczone limity zapytań (429 Rate Limit Exceeded)
Ten błąd pojawia się, gdy Twoja aplikacja wysyła zbyt wiele zapytań do API w zbyt krótkim czasie, przekraczając ustalony limit dla Twojego konta. Limity te dotyczą liczby zapytań na minutę (RPM – Requests Per Minute) lub liczby tokenów na minutę (TPM – Tokens Per Minute).
Jak naprawić błąd 429:
- Implementuj mechanizm retry z wykładniczym wycofaniem (exponential backoff): To najskuteczniejsza strategia. Gdy otrzymasz błąd 429, nie ponawiaj natychmiast zapytania. Odczekaj chwilę (np. 1 sekundę), a następnie ponów. Jeśli ponownie otrzymasz błąd, podwój czas oczekiwania (2, 4, 8, 16 sekund itd.). Unikaj blokowania całej aplikacji, używając tego z umiarem.
- Monitoruj swoje limity: Sprawdź aktualne limity dla Twojego konta w dokumentacji OpenAI. Mogą się różnić w zależności od subskrypcji i historii użytkowania.
- Optymalizuj zapytania: Zamiast wysyłać wiele małych zapytań, spróbuj łączyć je w większe, jeśli to możliwe i logiczne dla Twojej aplikacji.
- Uaktualnij plan: Jeśli Twoje potrzeby są większe niż obecne limity, rozważ uaktualnienie swojego planu w panelu OpenAI.
Błędy serwera OpenAI (500, 503, 504)
Te błędy wskazują na problemy po stronie serwerów OpenAI, a nie po Twojej.
- Błąd 500 Internal Server Error: Ogólny błąd serwera. Coś poszło nie tak po stronie OpenAI.
- Błąd 503 Service Unavailable: Serwer jest tymczasowo niedostępny, prawdopodobnie z powodu przeciążenia lub konserwacji.
- Błąd 504 Gateway Timeout: Serwer nie otrzymał odpowiedzi od innego serwera, na który czekał w określonym czasie.
Jak naprawić błędy 5xx:
- Ponów zapytanie: W większości przypadków, błędy 5xx są przejściowe. Odczekaj kilka sekund i spróbuj ponownie. Możesz również zaimplementować mechanizm retry z wykładniczym wycofaniem.
- Sprawdź status OpenAI: Odwiedź stronę statusu OpenAI (status.openai.com). Może tam być informacja o trwających problemach lub zaplanowanych konserwacjach.
- Uprość zapytanie: Jeśli błędy 5xx powtarzają się, spróbuj wysłać prostsze zapytanie (np. krótszy prompt, mniejsza liczba tokenów), aby sprawdzić, czy to nie specyfika Twojego zapytania obciąża serwer.
Błędy wejściowe i walidacji (400 Bad Request)
Ten błąd oznacza, że Twoje zapytanie do API jest nieprawidłowo sformułowane lub zawiera niepoprawne parametry.
Jak naprawić błąd 400:
- Sprawdź format JSON/parametry: Upewnij się, że wysyłasz dane w poprawnym formacie JSON i że wszystkie wymagane parametry są obecne i mają prawidłowe typy danych. Przejrzyj dokładnie dokumentację API dla danego endpointu.
- Limity tokenów: Czy Twój prompt lub generowana odpowiedź nie przekracza limitu tokenów dla wybranego modelu (np. dla GPT-3.5-turbo lub GPT-4)? Za długi input to częsta przyczyna błędu 400.
- Nieprawidłowy model: Upewnij się, że nazwa modelu, którego używasz (np. `gpt-3.5-turbo`, `dall-e-2`), jest poprawna i model jest dostępny.
- Weryfikacja danych: Zweryfikuj wszelkie dane wejściowe po stronie swojej aplikacji, zanim wyślesz je do API.
Rozumiejąc te typowe błędy i wiedząc, jak je naprawić, znacznie przyspieszysz proces debugowania i utrzymania Twoich aplikacji opartych o API OpenAI. Powodzenia w budowaniu!
Najczęstsze pytania
Jaki jest najczęstszy błąd przy pierwszym użyciu API OpenAI?
Najczęstsze błędy początkujących to 401 Unauthorized (nieprawidłowy lub brakujący klucz API) oraz 400 Bad Request (nieprawidłowe sformatowanie zapytania lub przekroczenie limitu tokenów).
Jak sprawdzić, czy mój klucz API OpenAI jest ważny?
Możesz to sprawdzić, próbując wykonać proste zapytanie do API; jeśli otrzymasz błąd 401, klucz jest prawdopodobnie nieważny lub niepoprawny. Alternatywnie, przejdź do panelu OpenAI (platform.openai.com/account/api-keys) i upewnij się, że klucz istnieje i konto jest aktywne.
Czym jest „exponential backoff” i dlaczego jest ważny?
Exponential backoff to strategia ponawiania żądań, która polega na zwiększaniu czasu oczekiwania pomiędzy kolejnymi próbami ponowienia zapytania. Jest kluczowa przy obsłudze błędów 429 (przekroczenie limitów), ponieważ pozwala uniknąć dalszego przeciążania serwera i daje mu czas na przetworzenie innych zapytań.


