SDK
Python SDK
ZvenoAI совместим с официальным OpenAI SDK для Python. Достаточно указать новый base_url и использовать API ключ ZvenoAI, чтобы работать с моделями GPT, Claude, Gemini и другими поставщиками без VPN и с оплатой в рублях.
Установка
Используйте актуальную версию пакета openai. Также рекомендуем хранить ключи в переменных среды.
pip install openaiexport ZVENOAI_API_KEY="ваш_ключ_zvenoai" # macOS/Linux
setx ZVENOAI_API_KEY "ваш_ключ_zvenoai" # Windows PowerShellБыстрый старт
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["ZVENOAI_API_KEY"],
base_url="https://api.zveno.ai/v1",
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Расскажи о ZvenoAI"}],
)
print(response.choices[0].message.content)Streaming
with client.chat.completions.stream(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Сгенерируй список идей"}],
) as stream:
for event in stream:
if event.type == "token":
print(event.token.text, end="", flush=True)
elif event.type == "completed":
print("\n--- done ---")Обработка ошибок и ретраи
ZvenoAI возвращает те же классы ошибок, что и OpenAI SDK. Используйте готовые исключения для повторов, логирования и graceful-degradation.
try:
response = client.chat.completions.create(
model="anthropic/claude-3.5-haiku",
messages=[{"role": "user", "content": "Привет"}],
timeout=30,
)
except openai.APIConnectionError as err:
logger.warning("Connection error: %s", err)
retry_request()
except openai.RateLimitError as err:
logger.error("Превышен лимит: %s", err)
backoff_wait(err.retry_after)
except openai.APIError as err:
logger.exception("ZvenoAI вернул ошибку: %s", err)
raise