GoRouter

Decisions

Классификация, выбор и оценка данных через Decisions API.

Decisions возвращает структурированные решения: выбранный вариант, оценку или вероятность. Такие модели подходят для классификации обращений, маршрутизации запросов и проверки условий.

Модели доступны в каталоге Decisions и через GET /api/v1/models?output_modalities=decisions.

Запрос

Укажите в model ID выбранной модели из каталога вместо MODEL_ID. Отправьте данные в state, а вопросы — в questions. Ответы возвращаются под теми же именами вопросов.

curl https://gorouter.ru/api/v1/decisions \
  -H "Authorization: Bearer $GOROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "state": "После оплаты подписка не появилась в аккаунте.",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Какой отдел должен обработать обращение?",
        "criteria": {
          "billing": "Оплата, счета и возвраты",
          "technical": "Технические неполадки",
          "account": "Управление аккаунтом"
        }
      }
    }
  }'

state принимает строку, JSON-объект или массив. instructions и описания в criteria также могут быть строками, объектами или массивами.

Типы вопросов

ТипНазначениеКритерииОтвет
choiceВыбрать один вариантОбъект с вариантами и их описаниями; описание может быть nullchoice, probabilities, confidence
noulОценить вероятность выполнения условияНеобязательный объект с описаниями true и falsenoul от 0 до 1
scoreОценить данные по упорядоченной шкалеМассив минимум из двух описаний уровнейscore, probabilities, confidence

Несколько вопросов можно передать в одном запросе. Они оцениваются независимо по общему state.

Пример дополнительных вопросов:

{
  "urgent": {
    "type": "noul",
    "instructions": "Клиенту требуется срочная помощь?"
  },
  "frustration": {
    "type": "score",
    "instructions": "Насколько клиент недоволен?",
    "criteria": ["Спокоен", "Недоволен", "Очень недоволен"]
  }
}

Ответ

Пример поля answers:

{
  "department": {
    "type": "choice",
    "choice": "billing",
    "probabilities": {"billing": 0.9, "technical": 0.08, "account": 0.02},
    "confidence": 0.8
  }
}

Ответ также содержит model и usage с input_tokens и output_tokens. Поля probabilities, confidence и легенда шкалы legend возвращаются при наличии у провайдера. Значения вероятностей и оценок зависят от запроса. confidence отражает определённость выбора, но не гарантирует правильность ответа.

Оплата и ограничения

  • Стоимость зависит от тарифов выбранной модели. Актуальные цены входа и выхода в рублях указаны на её странице в каталоге. При нулевой цене выхода входные токены могут оставаться платными.
  • usage.cost — итоговая стоимость запроса в рублях. Неиспользованная часть резерва освобождается после расчёта. Если стоимость уточняется, ответ содержит X-GoRouter-Billing-Status: pending; итоговая сумма появится в истории расходов после расчёта.
  • В state передаются текстовые или структурированные данные. Для изображений, аудио и видео сначала подготовьте текстовое представление.
  • API возвращает один JSON-ответ; streaming, messages, temperature и max_tokens не поддерживаются.
  • Для выбора провайдера используйте provider, как описано в маршрутизации. Если у модели есть latest-алиас в каталоге, его можно использовать вместо фиксированной версии.

Полная схема доступна в справочнике API.

На этой странице