Skip to main content

Коды ошибок

Полный справочник по всем ошибкам API и способам их обработки.

Формат ответа об ошибках

Все ошибки API возвращаются в OpenAI-совместимом формате:

json
{
  "error": {
    "message": "Human-readable error message",
    "type": "invalid_request_error",
    "code": "error_code",
    "details": {}
  }
}

HTTP-коды состояния

Описание

КодНазваниеОписание
400Bad RequestНеверное тело запроса или параметры
401UnauthorizedОтсутствует или неверная аутентификация
402Payment RequiredНедостаточный баланс
403ForbiddenАутентификация валидна, но недостаточно прав или не пройдена проверка безопасности
404Not FoundРесурс не существует
409ConflictРесурс уже существует или конфликт состояния
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorНепредвиденная ошибка сервера
503Service UnavailableВременная проблема с сервисом
504Gateway TimeoutЗапрос занял слишком много времени

Распространённые коды ошибок

Нажмите на любой код ошибки, чтобы увидеть причины, решения и примеры ответов.

HTTP-коды состояния

Все возможные ошибки API с их значениями.

Обработка ошибок

Реализуйте правильную обработку ошибок для хорошего пользовательского опыта. Вот пример комплексного обработчика ошибок:

error_handling.py
import openai
import time

client = openai.OpenAI(
    api_key="your-gonkagate-api-key",
    base_url="https://api.gonkagate.com/v1"
)

def chat_with_retry(messages, max_retries=3):
    """Make API request with exponential backoff retry logic."""
    for attempt in range(max_retries):
        try:
            response = client.chat.completions.create(
                model="Qwen/Qwen3-32B-FP8",
                messages=messages
            )
            return response.choices[0].message.content

        except openai.RateLimitError as e:
            # 429: Wait and retry with exponential backoff
            wait_time = 2 ** attempt
            print(f"Rate limited. Waiting {wait_time}s...")
            time.sleep(wait_time)

        except openai.AuthenticationError as e:
            # 401: Invalid API key - don't retry
            print(f"Auth error: {e.message}")
            raise

        except openai.BadRequestError as e:
            # 400: Invalid request - don't retry
            print(f"Bad request: {e.message}")
            raise

        except openai.APIStatusError as e:
            # 5xx: Server error - retry with backoff
            if e.status_code >= 500:
                wait_time = 2 ** attempt
                print(f"Server error {e.status_code}. Retrying in {wait_time}s...")
                time.sleep(wait_time)
            else:
                raise

    raise Exception("Max retries exceeded")

# Usage
result = chat_with_retry([{"role": "user", "content": "Hello!"}])
print(result)
Была ли эта страница полезной?