Документация · Cookbook

Cookbook рецепты

Готовые примеры под частые задачи. Все — через https://rezon-ai.ru/v1 и ключ rz-sk-….

Быстрый старт · API Reference · SDK · Agent SDK · Cookbook · Модальности

Структурированный JSON-вывод

Заставьте модель вернуть валидный JSON заданной схемы через response_format.

{
  "model": "openai/gpt-5",
  "messages": [{"role": "user", "content": "Извлеки имя и город: 'Меня зовут Аня, я из Казани'"}],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "person", "strict": true,
      "schema": {"type": "object",
        "properties": {"name": {"type": "string"}, "city": {"type": "string"}},
        "required": ["name", "city"], "additionalProperties": false}
    }
  }
}

Вызов инструментов

Модель сама решает, когда вызвать функцию, и возвращает tool_calls — исполнение на вашей стороне.

{
  "model": "anthropic/claude-sonnet-5",
  "messages": [{"role": "user", "content": "Посчитай 17 * 23"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "multiply",
      "description": "Перемножить два числа",
      "parameters": {"type": "object",
        "properties": {"a": {"type": "number"}, "b": {"type": "number"}},
        "required": ["a", "b"]}
    }
  }]
}

Полный агентный цикл (tool_use → tool_result) — в разделе Agent SDK.

Изображение на вход (vision)

Передайте картинку в сообщении как часть content — по ссылке или как data:-URL (base64). Нужна модель с поддержкой изображений (supports_images).

{
  "model": "google/gemini-2.5-pro",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Что на картинке?"},
      {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
    ]
  }]
}

Генерация изображения

Модели с генерацией картинок возвращают изображение прямо в ответе /v1/chat/completions — в поле images сообщения (data-URL). Отдельного эндпоинта не нужно.

{
  "model": "google/gemini-2.5-flash-image",
  "messages": [{"role": "user", "content": "Нарисуй кота-космонавта, минимализм"}]
}

Подробнее о модальностях — на странице Модальности.

Резервные модели

Список models вместо одной — если первая недоступна, шлюз перейдёт к следующей.

{
  "models": ["anthropic/claude-sonnet-5", "openai/gpt-5", "deepseek/deepseek-v3.2"],
  "messages": [{"role": "user", "content": "Привет!"}]
}

Rezon AI (AUTO) — авто-подбор

Не выбирайте модель вручную: rezon-ai/auto сам определит тип задачи и сложность и направит на подходящую модель. Списание — по фактически отработавшей модели.

{
  "model": "rezon-ai/auto",
  "messages": [{"role": "user", "content": "Напиши функцию быстрой сортировки на Python"}]
}
Как считать. Модель подбирается под каждый запрос, поэтому от вызова к вызову она может отличаться. Поле model в ответе остаётся rezon-ai/auto, а списание идёт по фактически отработавшей модели. Если нужен предсказуемый выбор — укажите конкретную модель вместо AUTO.

Стриминг (Python)

from openai import OpenAI
client = OpenAI(base_url="https://rezon-ai.ru/v1", api_key="rz-sk-...")

with client.chat.completions.stream(
    model="anthropic/claude-sonnet-5",
    messages=[{"role": "user", "content": "Расскажи про Марс в трёх предложениях."}],
) as stream:
    for event in stream:
        if event.type == "content.delta":
            print(event.delta, end="", flush=True)

← Agent SDK · Модальности →