Документация · Python · OpenAI SDK

AI API
на Python

Пример подключения за пять минут: установка SDK, base_url и ключ, первый запрос, streaming, обработка ошибок и подсчёт стоимости. Совместимо с пакетом openai.

pip install openai stream=True Без VPN
GROWMI / PYTHON SDK LIVE
Пакет
openai
Python
3.8+
Stream
SSE
Формат
OAI
BASE_URL: api.growmi.ru/v1KEY: wp-…

1. Установка клиента

API совместим с OpenAI, поэтому работает официальный пакет openai — отдельный SDK не нужен.

pip install openai

2. Переменные окружения

Не храните ключ в коде. Положите его в .env или переменные окружения сервера.

# .env
GROWMI_KEY=wp-...
GROWMI_BASE_URL=https://api.growmi.ru/v1

3. Первый запрос

Создаёте клиент с вашим base_url и ключом — дальше всё как в обычном OpenAI SDK.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["GROWMI_BASE_URL"],
    api_key=os.environ["GROWMI_KEY"],
)

resp = client.chat.completions.create(
    model="gpt",
    messages=[
        {"role": "system", "content": "Отвечай кратко на русском."},
        {"role": "user", "content": "Объясни, что такое токены."},
    ],
)
print(resp.choices[0].message.content)

4. Streaming

Для чатов и длинных ответов включите потоковую выдачу — токены приходят по мере генерации.

stream = client.chat.completions.create(
    model="gpt",
    messages=[{"role": "user", "content": "Напиши стих про рассвет."}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)

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

Ловите исключения из пакета openai и делайте ретрай с бэкоффом на 429 и 5xx.

import time
from openai import RateLimitError, APIStatusError, APIConnectionError

def ask(messages, retries=3):
    for i in range(retries):
        try:
            return client.chat.completions.create(
                model="gpt", messages=messages)
        except (RateLimitError, APIConnectionError):
            time.sleep(2 ** i)            # 1с, 2с, 4с
        except APIStatusError as e:
            if e.status_code >= 500:
                time.sleep(2 ** i)
            else:
                raise
    raise RuntimeError("AI API недоступен после ретраев")

6. Подсчёт стоимости

В ответе есть блок usage с числом токенов. Стоимость в рублях считается по цене за 1K входных и выходных токенов из вашего тарифа.

u = resp.usage
cost = (u.prompt_tokens / 1000) * PRICE_IN \
     + (u.completion_tokens / 1000) * PRICE_OUT
print(f"токенов: {u.total_tokens}, ≈ {cost:.2f} ₽")

Точные цены PRICE_IN / PRICE_OUT за 1K токенов по каждой модели — в кабинете и на странице тарифов.

FAQ

Вопросы по Python

Какой SDK использовать на Python?+

Официальный пакет openai. Поскольку API совместим с OpenAI, достаточно передать свой base_url и ключ GROWMI при создании клиента.

Поддерживается ли streaming?+

Да. Передайте stream=True в create() и итерируйтесь по чанкам — токены приходят по мере генерации, как в OpenAI SDK.

Как обрабатывать ошибки?+

Ловите исключения RateLimitError, APIStatusError и APIConnectionError из пакета openai и делайте ретрай с экспоненциальным бэкоффом на 429 и 5xx.

Нужен ли VPN для запросов из России?+

Нет. Эндпоинт доступен напрямую из РФ, оплата в рублях. VPN и зарубежные карты не нужны.

Ранний доступ

Получите ключ и попробуйте на Python

Оставьте email — пришлём API-ключ, тестовый баланс и ссылку на полную документацию.

Без спама — только запуск.
Читать дальше

Смежные страницы