# Grok API на Python

Минимальная рабочая интеграция Grok API Dev с официальным Python OpenAI SDK: синхронный запрос, async и потоковый ответ.

## Установка Python SDK

```bash
python -m pip install --upgrade openai
```

```bash
export GROK_API_DEV_KEY="sk-lg-YOUR_API_KEY"
```

## Первый запрос к Grok API Dev

```python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
    timeout=3600.0,
    max_retries=2,
)

response = client.responses.create(
    model="grok-4.5",
    input="Explain SSE in two sentences.",
)

print(response.output_text)
print(response.usage)
```

## Асинхронный клиент

```python
import asyncio
import os
from openai import AsyncOpenAI

client = AsyncOpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
)

async def main() -> None:
    response = await client.responses.create(
        model="grok-4.5",
        input="Hello!",
    )
    print(response.output_text)

asyncio.run(main())
```

## Streaming

```python
stream = client.responses.create(
    model="grok-4.5",
    input="Write a short Python example.",
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
```

## Повторы и таймауты

В OpenAI SDK уже есть механизм повторных запросов. Свой механизм ретраев добавлять не нужно: задайте max_retries и timeout при создании клиента.

```python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
    max_retries=2,
    timeout=3600.0,
)
```

- 401: проверьте ключ и переменную окружения. Повтор без исправления не поможет.
- 404: проверьте ID модели и Base URL.
- 429: дождитесь Retry-After и уменьшите параллелизм.
- 500, 504 или 529: ограниченно повторите запрос с backoff и jitter.

[Полный справочник ошибок API](https://grok-api.dev/ru/docs/errors)

## Связанные страницы

- [Messages API](https://grok-api.dev/ru/docs/messages)
- [Streaming API](https://grok-api.dev/ru/docs/streaming)
- [TypeScript](https://grok-api.dev/ru/docs/typescript)
- [cURL](https://grok-api.dev/ru/docs/curl)
