GPT-5.6 Luna: когда хватит недорогой модели для массовых задач

Для массовой классификации и извлечения данных важна цена за запрос. Считаем, сколько стоит Luna на реальных объёмах, и показываем, как проверить её на своих данных.

5 мин · · модели · экономия

GPT-5.6 Luna стоит в Zukko $0.10 за 1 млн входных и $0.10 за 1 млн выходных токенов — это одна из самых недорогих моделей в каталоге. Её разумно рассматривать для массовых задач: классификации тысяч текстов, извлечения полей, нормализации данных. Ниже — расчёт стоимости GPT-5.6 Luna на реальных объёмах и метод, который покажет, хватает ли её на ваших данных.

Цена GPT-5.6 Luna и соседей по каталогу

МодельВход, $ за 1MВыход, $ за 1MКонтекст
GPT-5.6 Luna (gpt-5.6-luna)0.100.101M
GLM 5.3 (glm-5.3)0.100.10128K
GLM 5.3 Flash (glm-5.3-flash)0.040.04128K
GPT-5.6 Sol (gpt-5.6-sol)0.300.301M
Claude Sonnet 5 (claude-sonnet-5)0.300.301M

Из фактов в таблице: Luna стоит столько же, сколько GLM 5.3, но у неё окно 1M токенов против 128K. Если ваши входные тексты длинные, это может решить вопрос ещё до проверки качества. Набор моделей меняется: актуальный список — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Стоимость на реальном объёме

Сценарий 1: классификация 100 000 текстов, 500 токенов на входе и 50 на выходе.

Вход: 100 000 × 500 = 50 млн токенов Выход: 100 000 × 50 = 5 млн токенов Стоимость = 50 × цена_входа + 5 × цена_выхода (цены за 1 млн)
МодельВходВыходИтого
GPT-5.6 Luna50 × $0.10 = $5.005 × $0.10 = $0.50$5.50
GLM 5.3$5.00$0.50$5.50
GLM 5.3 Flash50 × $0.04 = $2.005 × $0.04 = $0.20$2.20
GPT-5.6 Sol / Claude Sonnet 550 × $0.30 = $15.005 × $0.30 = $1.50$16.50

Разница на этом объёме: Sol против Luna — $16.50 − $5.50 = $11.00; Luna против Flash — $5.50 − $2.20 = $3.30.

Сценарий 2: 1 000 000 таких же запросов (500 млн входных, 50 млн выходных токенов).

МодельВходВыходИтого
GPT-5.6 Luna$50.00$5.00$55.00
GLM 5.3 Flash$20.00$2.00$22.00
GPT-5.6 Sol / Claude Sonnet 5$150.00$15.00$165.00

Здесь разница уже ощутима: $165 − $55 = $110 между Sol и Luna, $55 − $22 = $33 между Luna и Flash. Именно на таких объёмах имеет смысл потратить час на проверку более дешёвой модели.

Как проверить, хватит ли Luna

Мы не публикуем собственных замеров точности моделей. Ответ на вопрос «хватит ли Luna» даёт только проверка на ваших данных.

  1. Размеченная выборка. Возьмите 200–300 реальных текстов и вручную проставьте правильный ответ. Обязательно включите пограничные случаи и тексты на том языке, на котором работает ваша система.
  2. Порог качества. Решите заранее, какая доля верных ответов вас устраивает и какие ошибки недопустимы.
  3. Прогон. Запустите выборку на glm-5.3-flash, gpt-5.6-luna и gpt-5.6-sol с одинаковым промптом.
  4. Сравнение. Посчитайте долю верных ответов и посмотрите, на каких текстах модели ошибаются.
  5. Выбор. Берите самую дешёвую модель, которая проходит ваш порог.

Стоимость такого пилота на 300 текстах по 500 + 50 токенов для трёх моделей: 300 × 550 = 165 000 токенов на модель; 0.165 × ($0.04 + $0.10 + $0.30) = $0.0726 — меньше десяти центов.

Как вызвать GPT-5.6 Luna

Model ID: gpt-5.6-luna. Пример классификации через OpenAI SDK:

bash
from openai import OpenAI

client = OpenAI(
    base_url="https://api.zukko.pro/v1",
    api_key="fetch_ваш_ключ",
)

SYSTEM = "Классифицируй тональность отзыва. Ответь одним словом: позитив, нейтрал или негатив."

reviews = [
    "Отличный товар, доставка быстрая",
    "Разочарован качеством, не рекомендую",
    "Пришло вовремя, ничего особенного",
]

Чем короче ответ, тем меньше выходных токенов: просите одно слово или компактный JSON, а не пояснения.

Стриминг

bash
stream = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "Перечисли три способа нормализовать адрес"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Проверка if chunk.choices нужна: последний чанк может прийти с данными об использовании токенов и пустым списком choices.

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

bash
import openai

try:
    response = client.chat.completions.create(
        model="gpt-5.6-luna",
        messages=[{"role": "user", "content": "..."}],
    )
except openai.APIStatusError as e:
    if e.status_code == 402:
        print("Не хватает баланса")
    elif e.status_code == 429:
        print("Слишком часто — повторите с паузой")
    else:
        print(f"Ошибка {e.status_code}: {e.message}")

Каскад: дешёвая модель первой, дорогая — для сложных случаев

Если Luna проходит порог не на всех типах текстов, не обязательно переводить всё на Sol. Можно отправлять запрос сначала в Luna, а в Sol — только те, где ответ не прошёл автоматическую проверку (не та метка, невалидный JSON, пустое поле).

bash
VALID = {"позитив", "нейтрал", "негатив"}

def classify(text: str) -> str:
    for model in ["gpt-5.6-luna", "gpt-5.6-sol"]:
        r = client.chat.completions.create(
            model=model,
            max_tokens=10,
            messages=[{"role": "system", "content": SYSTEM},
                      {"role": "user", "content": text}],
        )
        label = (r.choices[0].message.content or "").strip().lower()
        if label in VALID:
            return label
    return "на_проверку"

Стоимость каскада: все запросы оплачиваются по цене Luna, плюс доля p повторных запросов по цене Sol. Для сценария 1 при p = 5% (вашу долю нужно измерить):

$5.50 + 0.05 × $16.50 = $5.50 + $0.825 = $6.325

Учтите: каскад ловит только ошибки, которые видны автоматической проверке. Если Luna уверенно ставит неправильную, но допустимую метку, каскад этого не заметит — поэтому пилот на размеченной выборке всё равно нужен.

Подробнее о параметрах запроса — в справке по Chat Completions. Если ещё нет ключа, создайте его в разделе API-ключи.

Частые вопросы

Luna быстрее или медленнее Sol?

Мы не публикуем замеры скорости. Измерьте на своих запросах: отправьте по 20 одинаковых запросов в каждую модель и сравните медиану времени ответа. Для пакетной обработки обычно важнее пропускная способность при параллельных запросах — её тоже стоит проверить на своём объёме.

Нужна ли ручная проверка, если я классифицирую миллион текстов?

Да, выборочная. После запуска регулярно проверяйте случайную выборку из нескольких сотен результатов и сравнивайте долю ошибок с той, что получили на пилоте. Если она выросла — данные изменились, и выбор модели стоит пересмотреть.

Как дешевле исправить ошибки Luna?

Перезапустите на более дорогой модели только спорные записи — через каскад или по результатам выборочной проверки. Стоимость считается по формуле выше: цена Luna на весь объём плюс цена Sol на долю повторов.

Как Luna работает с русским языком?

Проверьте на своей выборке: включите в пилот тексты на всех языках, которые встречаются в ваших данных, и считайте точность отдельно по каждому языку. Общих оценок у нас нет.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.

GPT-5.6 Luna API: цена, когда использовать, сравнение · Zukko