Developer guide
Kody błędów
Postępowanie i zasady ponawiania prób według kodu stanu
Ta strona zawiera kody stanu zwracane przez bramę, ich znaczenie oraz sposób postępowania dla każdego kodu.
Jeśli upstream zwróci kod 4xx·5xx, jest on przekazywany bez zmian. W pozostałych przypadkach obowiązuje poniższa tabela.
Opisano również format treści błędów w obu zgodnych standardach, zasady dotyczące error.type zgodnego z Anthropic oraz ekran konsoli służący do sprawdzania limitów i użycia.
Kod stanu
| Kod | Znaczenie | Postępowanie |
|---|---|---|
| 400 | Błąd wartości żądania. Parametr limit listy modeli zgodnych z Anthropic jest poza zakresem 1–1000 lub podjęto próbę wznowienia zapisanego żądania za pomocą GET /responses/{responseId}?stream=true | Popraw wartość, aby mieściła się w zakresie. Zapisane odpowiedzi pobieraj bez stream. |
| 401 | Brak klucza albo klucz wygasł lub został unieważniony | Sprawdź stan klucza na ekranie kluczy API oraz zweryfikuj nazwę nagłówka i prefiks Bearer. |
| 403 | Brak uprawnień dostępu do modelu, przekroczenie limitu użycia, niewystarczająca liczba kredytów lub brak uprawnień właściciela głosu | error.message określa przyczynę. Wartości liczbowe można sprawdzić na ekranie w sekcji dotyczącej sprawdzania limitów i użycia poniżej. |
| 404 | Model nie istnieje lub jest niedostępny dla tego klucza (w tym modele, których obsługa została zakończona), nieistniejąca ścieżka albo wynik CleviDrive po upływie 3-dniowego okresu przechowywania | Najpierw sprawdź listę modeli dostępnych dla wywołań za pomocą GET /models. Porównaj ścieżkę z tabelą na stronie Wywoływanie API. |
| 408 · 409 · 413 | Przekroczenie limitu czasu upstream, przeciążenie lub przekroczenie rozmiaru żądania. Dla ścieżek audio i głosowych limit czasu wynosi 5 minut, a maksymalny rozmiar żądania to 28 MiB | Jeśli w odpowiedzi 409 znajduje się Retry-After, odczekaj wskazany czas. W przypadku 413 podziel żądanie na części. |
| 429 | Ograniczenie szybkości nałożone przez dostawcę upstream | Jeśli dostępny jest Retry-After, postępuj zgodnie z jego wartością; w przeciwnym razie ponawiaj próby z wykładniczym odstępem. |
| 5xx | Tymczasowy błąd bramy lub upstream (w tym 503) | Ponawiaj próby z wykładniczym odstępem. Jeśli problem się powtarza, zgłoś go w sekcjach Pomoc i Kontakt, dołączając X-Request-Id. |
Ponawianie prób
Brama nie generuje własnych kodów 429, nie ponawia po cichu odpowiedzi upstream ani nie umieszcza ich w kolejce.
Za oczekiwanie i ponawianie prób odpowiada klient.
| Kod | Czas oczekiwania | Następnie |
|---|---|---|
| 409 | Jeśli dostępny jest Retry-After, należy odczekać wskazany czas | Ponownie wysłać to samo żądanie. |
| 429 | Jeśli dostępny jest Retry-After, należy odczekać wskazany czas; w przeciwnym razie zastosować wykładniczy backoff | Ponownie wysłać to samo żądanie. |
| 5xx | Wykładniczy backoff | Jeśli problem się powtarza, skontaktować się z pomocą. |
| 413 | Brak oczekiwania | Podzielić żądanie na części. |
Treść błędu
Treść błędu ma różną strukturę w zależności od specyfikacji. Błędy z upstreamu są przekazywane po uporządkowaniu, z pozostawieniem wyłącznie komunikatu; stos wywołań ani pola wewnętrzne nie są przekazywane.
Treść w ścieżce zgodnej z OpenAI.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Treść w ścieżce zgodnej z Anthropic. error.type jest określany na podstawie kodu stanu.
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "..."
},
"request_id": "rqid..."
}| Kod stanu | error.type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 529 | overloaded_error |
| Pozostałe kody | api_error |
Sprawdzanie limitów i wykorzystania
Wartości limitów różnią się w zależności od workspace. Sprawdź przyczynę błędu 403 w error.message, a następnie sprawdź wartości na poniższych ekranach.
| Element do sprawdzenia | Ekran w konsoli |
|---|---|
| Limit przypisany do mojego workspace | Przydzielony limit wykorzystania w sekcji Przegląd |
| Zakres dozwolony przez plan i saldo | Plan i kredyty |
| Rzeczywiste wykorzystanie (liczba wywołań według modelu i klucza, przewidywane kredyty do potrącenia) | Wykorzystanie |
| Stan klucza (czy wygasł lub został unieważniony) | Klucze API |
