Пример подключения за пять минут: установка SDK, base_url и ключ, первый запрос, streaming, обработка ошибок и подсчёт стоимости. Совместимо с пакетом openai.
API совместим с OpenAI, поэтому работает официальный пакет openai — отдельный SDK не нужен.
pip install openai
Не храните ключ в коде. Положите его в .env или переменные окружения сервера.
# .env GROWMI_KEY=wp-... GROWMI_BASE_URL=https://api.growmi.ru/v1
Создаёте клиент с вашим 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)
Для чатов и длинных ответов включите потоковую выдачу — токены приходят по мере генерации.
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)
Ловите исключения из пакета 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 недоступен после ретраев")
В ответе есть блок 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 токенов по каждой модели — в кабинете и на странице тарифов.
Официальный пакет openai. Поскольку API совместим с OpenAI, достаточно передать свой base_url и ключ GROWMI при создании клиента.
Да. Передайте stream=True в create() и итерируйтесь по чанкам — токены приходят по мере генерации, как в OpenAI SDK.
Ловите исключения RateLimitError, APIStatusError и APIConnectionError из пакета openai и делайте ретрай с экспоненциальным бэкоффом на 429 и 5xx.
Нет. Эндпоинт доступен напрямую из РФ, оплата в рублях. VPN и зарубежные карты не нужны.
Оставьте email — пришлём API-ключ, тестовый баланс и ссылку на полную документацию.