Платформа

Автовыбор модели

Как работает alltokens/auto и как автоматически подбирать лучшую модель под запрос.

alltokens/auto автоматически выбирает подходящую модель под ваш запрос. Это самый простой способ начать работу с AllTokens, если вы не хотите фиксировать конкретную модель вручную.

Как это работает

Вместо того чтобы заранее выбирать модель самостоятельно, вы отправляете запрос в alltokens/auto, а платформа подбирает подходящий вариант из доступного пула моделей.

При выборе учитываются:

  • тип задачи
  • сложность запроса
  • доступные модели и их возможности
  • ваши ограничения в metadata, если они заданы

Когда использовать

alltokens/auto подходит, если вы:

  • только запускаете интеграцию
  • не знаете заранее, какие типы запросов будут у пользователей
  • хотите сохранить автоматический выбор, а не жёстко фиксировать одну модель
  • хотите управлять приоритетом через правила, а не через ручной выбор модели

Базовый пример

Укажите в model значение alltokens/auto:

const response = await fetch('https://api.alltokens.ru/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'alltokens/auto',
    messages: [
      {
        role: 'user',
        content: 'Объясни квантовую запутанность простыми словами',
      },
    ],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);
console.log('Фактическая модель:', data.model);

Что приходит в ответе

В ответе поле model показывает, какая модель была выбрана фактически:

{
  "id": "gen-...",
  "model": "anthropic/claude-sonnet-4",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "..."
      }
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 150,
    "total_tokens": 165
  }
}

Как управлять выбором

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

Приоритет выбора

Параметр objective помогает подсказать платформе, что для вас важнее:

  • cheapest
  • fastest
  • reliable
  • balanced

Пример:

{
  "model": "alltokens/auto",
  "messages": [
    {
      "role": "user",
      "content": "Сделай краткое резюме документа"
    }
  ],
  "metadata": {
    "objective": "fastest"
  }
}

Разрешённые модели

Параметр allowed_models позволяет ограничить автоматический выбор нужным семейством моделей или конкретными ID.

Пример:

{
  "model": "alltokens/auto",
  "messages": [
    {
      "role": "user",
      "content": "Объясни квантовую запутанность"
    }
  ],
  "metadata": {
    "allowed_models": ["anthropic/*", "openai/gpt-5.1"]
  }
}

Исключённые модели

Если часть моделей не подходит под ваш сценарий, используйте blocked_models.

{
  "model": "alltokens/auto",
  "messages": [
    {
      "role": "user",
      "content": "Сгенерируй аккуратный деловой ответ клиенту"
    }
  ],
  "metadata": {
    "blocked_models": ["provider-x/*"]
  }
}

Ограничения по поставщикам

Для более точного контроля можно использовать provider_policy, если вам нужно работать только с определёнными поставщиками или исключить часть из них.

Как проверить выбор заранее

Если вы хотите понять, какую модель выберет alltokens/auto, не отправляя боевой запрос, используйте:

1

Посмотрите кандидатов

Сначала вызовите POST /api/route/preview с тем же model и теми же metadata, которые вы будете использовать в реальном запросе.

2

Отправьте реальный запрос

После этого отправьте обычный POST /api/v1/chat/completions с model: "alltokens/auto".

3

Проверьте итоговое решение

Сохраните id выполненного запроса и затем вызовите GET /api/route/explain, чтобы увидеть фактическую модель и объяснение выбора.

Сколько это стоит

Отдельной наценки за alltokens/auto нет. Вы оплачиваете ту модель, которая была выбрана фактически.

Ограничения

  • alltokens/auto работает через формат messages
  • потоковая выдача поддерживается
  • стандартные совместимые возможности вроде обычных параметров запроса продолжают работать
  • итоговый пул моделей может меняться со временем

Когда лучше не использовать alltokens/auto

Лучше зафиксировать конкретную модель, если:

  • вам нужна строго воспроизводимая конфигурация
  • у вас уже есть проверенная модель под конкретную задачу
  • вы хотите жёстко контролировать поведение и не зависеть от пула маршрутизации

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

alltokens/auto лучше подходит для старта, широких пользовательских сценариев и случаев, когда тип запросов заранее не ясен. Фиксированная модель лучше, когда вам нужна стабильность и предсказуемость под конкретную задачу.

Да. Для этого передавайте allowed_models и при необходимости blocked_models в metadata.

Смотрите поле model в ответе. Для более подробного разбора используйте /api/route/explain.

Да, alltokens/auto можно использовать и с потоковой выдачей.