models

jev-latest

Markdown · JSON

jev-latest

Модель решений от TypeSafe: не пишет текст, а отвечает на типизированные вопросы о тексте или JSON — выбор варианта, оценка по шкале или «да/нет» с вероятностями. Подходит для маршрутизации, сортировки обращений, модерации и скоринга; все вопросы одного запроса оцениваются параллельно.

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Jev — флагманская модель TypeSafe и первая модель нового класса System One. Она не пишет текст, а быстро принимает решения, которые программа может сразу использовать: вы передаёте состояние (state) — текст или JSON — и набор вопросов, а в ответ получаете типизированные значения с откалиброванными вероятностями.

Языковые модели пишут слова для людей, а Jev, по словам TypeSafe, ближе к коду: ответ сразу в нужной коду форме, высокая скорость и ни одного значения вне заданных вариантов. Модель задумана так, чтобы давать устойчивые ответы при повторных запросах.

Чем System One отличается от языковой модели

  • Не генерирует. Jev не пишет ответы пользователю, не пишет код и не объясняет ход рассуждений. Возможные ответы задаёте вы — через один из трёх типов вопросов.
  • Обучена на откалиброванные решения. TypeSafe обучает модель методом RLCD (Reinforcement Learning for Calibrated Decisions): вероятности подгоняются под реальные исходы и отражают неуверенность. Среди многих ответов с вероятностью 0,8 верными должны оказаться примерно 80%. Калибровка — свойство большой выборки, а не гарантия правильности отдельного ответа.
  • Другая цель обучения. Чат-модели учат нравиться людям (RLHF), и, по наблюдению TypeSafe, это поощряет угодливость и уверенно звучащие ошибки. Один из соавторов RLHF, Диогу Алмейда, — сооснователь TypeSafe.

Название отсылает к «Системе 1» из книги Даниэля Канемана «Думай медленно… решай быстро»: быстрое интуитивное суждение против медленного обдуманного мышления «Системы 2». Jev создана для быстрых узких суждений.

Три типа вопросов

Вопрос — одно суждение о состоянии, ответ — значение, которое код сравнивает с порогом, сортирует или передаёт дальше.

  1. Choice — выбор варианта. Отдел для обращения, категория товара, язык фрагмента кода. Варианты — словарь «вариант → описание», до 255 штук. В ответе — выбранный choice, вероятности probabilities по всем вариантам (в сумме 1) и уверенность confidence. Если список может не покрыть все случаи, добавьте «другое» или «ничего из перечисленного».
  2. Score — оценка по шкале. Место на упорядоченной шкале, которую описываете вы: серьёзность ошибки, раздражение клиента, уровень навыка. От 2 до 10 уровней, от низшего к высшему; каждый уровень модель оценивает отдельно, не видя его номера и соседей. В ответе — score (сумма номеров уровней, умноженных на их вероятности, поэтому значение может лечь между уровнями), legend с описаниями уровней, probabilities и confidence.
  3. Noul — да или нет. Верно ли утверждение. Ответ noul — вероятность «да» от 0 до 1: около 1 — уверенное «да», около 0 — уверенное «нет», около 0,5 — модель колеблется. Отдельного confidence нет: одно число описывает ответ полностью. Необязательный criteria уточняет, что считать «да» и что — «нет».

Как выбрать: известные варианты без порядка — choice; ступени спектра — score; чистое «да/нет», где важна сама вероятность, — noul. Noul 0,5 — равные шансы «да» и «нет», а не «средний уровень»: степень измеряет score. Из двух подходящих типов берите тот, по которому код действует сразу: choice — ветки, score — порог, noul — if.

Типы можно смешивать в одном запросе. Ответ всегда ограничен вашими вариантами и не зависит от других вопросов: вопросы можно добавлять и убирать, не меняя остальных ответов.

Состояние

Состояние — то, что модель оценивает: сообщение клиента, фрагмент документа, запись из базы или состояние вашего приложения.

  • Строка — когда текст один: сообщение, статья, отрывок.
  • Объект — именованные поля, связанные записи, состояние приложения. TypeSafe советует объект для большинства запросов: у каждой части есть понятное имя.
  • Массив — последовательность сообщений или записей.

Готовьте его как материалы для экспертов: переписку, заказ и правила возврата кладите вместе, если решение требует их сравнить. Содержание держите в состоянии, суждения — в вопросах. Если вопрос касается одной части состояния, назовите в нём путь к ней в обратных кавычках, например ticket.messages[0].text.

Как задавать вопросы

  • Одно быстрое суждение на вопрос. Хороший вопрос — тот, на который знающий человек с нужным контекстом ответит за секунду: «Есть ли в сообщении срочность?». «Проанализируй сообщение и реши, что делать» — уже медленное рассуждение, его надо разбить на простые вопросы.
  • Вопрос целиком — в instructions. Ключ вопроса, например refund_requested, нужен только вашему коду и модели не передаётся.
  • Все вопросы к одному состоянию — одним запросом. Модель оценивает их параллельно: по данным TypeSafe, лишние вопросы почти не увеличивают время ответа и стоят только своих токенов. Вопрос «на всякий случай» обходится почти даром — код сам решит, какие ответы нужны.
  • Сложное суждение — по частям. Вместо «оцени заявку стартапа» спросите отдельно о размере рынка, технической реализуемости и отличиях от конкурентов, а итог посчитайте в коде с весами. Поменялись приоритеты — меняете веса, а не переписываете вопрос.
  • Зависимые вопросы — вторым запросом. Ответы одного запроса не служат контекстом друг другу. Второй запрос нужен, только если без первого ответа его не собрать: надо подгрузить данные или выбрать варианты следующего вопроса.
  • Длинный вопрос — объектом. instructions и criteria обычно строки, но бывают объектом или массивом: вопрос в одном поле, данные — в других. Так удобно сверять резюме с записями базы одним вопросом.

Уверенность

У choice и score confidence от 0 до 1 показывает, насколько вероятность сосредоточена на одном ответе: 1 — вся на одном варианте, 0 — поровну на всех. У score соседний уровень снижает уверенность меньше далёкого. У noul уверенность — само значение: чем дальше от 0,5, тем твёрже ответ.

TypeSafe советует три диапазона:

  1. Высокая уверенность — действуйте автоматически.
  2. Средняя — действуйте осторожно, например попросите пользователя подтвердить.
  3. Низкая — отдайте случай человеку, уточните запрос или подключите запасной путь, например более мощную модель с рассуждением.

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

Как строить систему вокруг Jev

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

  1. Всё, что можно сделать кодом, делайте кодом — надёжно и дёшево.
  2. В состояние — только то, что нужно текущим вопросам; свежие факты — из своей базы знаний, а не из памяти модели.
  3. Структура в состоянии: вложенный JSON, а в вопросе — путь к нужному полю в обратных кавычках, если так меньше двусмысленности.
  4. Самые узкие и конкретные вопросы — по словам TypeSafe, пожалуй, главное правило: широкий вопрос прячет несколько суждений за одним ответом.
  5. Структура в вопросах: сам вопрос короткий; пояснения, примеры и значения из вашей базы — в соседних полях объекта instructions или criteria, а не в одной длинной строке.
  6. Много независимых вопросов к одному состоянию в одном запросе — больше пользы на каждый доллар.
  7. Ответы объединяет код: правилами, взвешенной суммой или как признаки для классической модели машинного обучения.
  8. Ветвление по уверенности: неуверенные случаи — человеку или модели с рассуждением.

Jev — не чат и не модель для автодополнения кода, и в агент для программирования её вместо языковой модели не подставить. Зато агент может написать для вас код, который вызывает Jev там, где нужен быстрый откалиброванный ответ.

Где применяют

  • Фоновая автоматизация — решения, которые запускают миллион раз без человека рядом.
  • Реальное время — по данным TypeSafe, большинство запросов выполняется примерно за 100 мс: хватает для обработки на лету и интерфейсов.
  • Большие данные — поиск по огромным корпусам, разметка журналов работы агентов, признаки для прогнозов.
  • Проверка других моделей — запросы, извлечения, рассуждения, вызовы инструментов: обход ограничений, ошибки цитирования, выдумки.
  • Поиск и ранжирование — релевантность пары «запрос — кандидат», переранжирование, отбор контекста.
  • Развилка по намерению — чего хочет пользователь и какой обработчик нужен: простая логика, профильная модель или человек; тема, сложность и риск решают, какой языковой модели отдать запрос.
  • Защитные проверки — вход, выход и вызовы инструментов языковой модели: внедрённые инструкции, нарушения правил, утечка личных данных.
  • Поддержка — тема и намерение обращения, срочность, раздражение, риск ухода, просьба о возврате, очередь.
  • Модерация — по правилам вашей площадки: токсичность, травля, спам, мошенничество, опасные советы, личные данные; по серьёзности и уверенности — пропустить, предупредить, проверить или заблокировать.
  • Отрасли — страховые случаи, финансовые расследования и KYC, договоры и реклама, карточки товаров, подбор персонала, лиды, игры, риски, прогноз спроса, графы знаний, научные обзоры, смысловые проверки кода в CI.

Характеристики

  • jev-latest — псевдоним последней стабильной версии, сейчас Jev 1.13; ответившая версия — в поле model, например jev-1.13.0. С новой версией псевдоним переходит на неё, и ответы могут измениться без правок с вашей стороны — следите за этим полем, если пороги подобраны под версию.
  • Контекст — 64K токенов на запрос: состояние и все вопросы вместе; состояние с самым длинным вопросом — до 32K. Состояние модель читает один раз и проверяет против него все вопросы параллельно.
  • Вход — только текст: строка, объект JSON или массив текстов. Картинки, аудио и видео пока не поддерживаются — переведите их в текст заранее.
  • Язык — основной язык обучения английский, на нём точность сейчас выше всего. Другие языки, в том числе китайский, японский и корейский, модель принимает, но точность ниже — проверьте на своих данных.
  • Цены и расчёт в Ailoot API — условия зависят от выбранного метода и указаны в его карточке.
  • Настройка — Jev не дообучают на данных заказчика: свои материалы — в state, правила предметной области — в instructions и criteria.
  • Данные — TypeSafe сообщает, что Jev не обучают на запросах и ответах клиентов.

Известные слабые места Jev 1.13

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

  1. Читает буквально. Отвечает на написанный вопрос, а не на подразумеваемый: оговорки, отрицания и неявные условия понимает дословно. Пишите точное условие и граничные случаи в criteria; неизбежную трактовку разбейте на два буквальных вопроса.
  2. Не калькулятор. Подсчёт символов, повторов и элементов списка ненадёжен, ошибка растёт с размером — считайте в коде, по вопросу на кандидата. Цвета в hex или RGB модель понимает хуже названий. score годится для порога, но не для точного числа между уровнями.
  3. Даты и время. Какая дата раньше, сколько между ними, попадает ли дата в период — ненадёжно, особенно при смешанных форматах и относительных датах. Части даты извлекайте через choice (с вариантом «не указано»), сравнивайте в коде.
  4. Косвенность. Двойные отрицания и вопросы о свойстве свойства снижают точность. Пишите прямо, называйте части состояния по имени.
  5. Лишнее в состоянии. Посторонний текст снижает точность. Фильтруйте в коде, а если нельзя — отсейте нерелевантное вопросами noul.
  6. Враждебный текст. Подвохов в состоянии модель по умолчанию не ждёт: внедрённая инструкция или текст, который спорит о собственной классификации, может сдвинуть ответ. Пишите точные критерии и проверяйте пограничные случаи до запуска.
  7. Противоречия. Если instructions и criteria просят разного — например, у noul «да» описано как «нет», — точность падает. Критерии — продолжение вопроса.
  8. Порядок вариантов. Иногда модель тяготеет к первому варианту choice. Переставьте варианты и проверьте, что ответ не меняется.
  9. Генерация. Jev не обучена писать текст. Для извлечения данных найдите кандидатов регулярным выражением или генеративной моделью, а Jev пусть выберет верный через choice.
Ailoot · System One POST /v1/systemone jev-latest

jev-latest

TypeSafe /jev-latest

Начало

Модель решений от TypeSafe: не пишет текст, а отвечает на типизированные вопросы о тексте или JSON — выбор варианта, оценка по шкале или «да/нет» с вероятностями. Подходит для маршрутизации, сортировки обращений, модерации и скоринга; все вопросы одного запроса оцениваются параллельно.

Допустимые входные данные
Текст
Результаты
structured

Доступно в Ailoot · входные данные и методы

Ailoot · System One POST /v1/systemone
Входные данные
text
Результат
structured
Контекст
64 000 tokens
Выходной формат
json
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
jev-latest
По умолчанию—
ПолеstateТипstring|object|arrayТребованиеОбязательноЗначения и ограниченияПо умолчанию—
ПолеquestionsТипobjectТребованиеОбязательноЗначения и ограничения
Минимум полей объекта: 1
По умолчанию—
Полеquestions.<id>.typeТипstringТребованиеОбязательноЗначения и ограничения
noul, choice, score
По умолчанию—
Полеquestions.<id>.instructionsТипstring|object|array|nullТребованиеНеобязательноЗначения и ограниченияПо умолчанию—
Полеquestions.<id>.criteriaТипobject|array|nullТребованиеНеобязательноЗначения и ограничения
Условия: noul: необязательные описания true/false с допустимым null; choice: объект критериев; score: непустой массив критериев
По умолчанию—
ПолеstreamТипboolean|nullТребованиеНеобязательноЗначения и ограничения
false, null
По умолчанию—
Сочетания входных материалов

noul · Обязательно: state, questions.<id>.type=noul

choice · Обязательно: state, questions.<id>.type=choice, criteria object

score · Обязательно: state, questions.<id>.type=score, nonemptycriteriaarray

Параметры и жизненный цикл метода
ПараметрКонтракт
Параметрmaterial_typesКонтрактtext
ПараметрrequiredКонтрактmodel, state, questions
Параметрoptional_controlsКонтрактnull
Параметрcontent_typeКонтрактapplication/json

Жизненный цикл: exact retained published method

Структуры методов и ID указаны точно; возможности поставщика рассматриваются отдельно от допуска.

Тарифы

Ставки методов Ailoot

Ailoot System OnePOST /v1/systemone
Вход
≈0,000084 $ / 1K
Выход
0,00 $ / 1K

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

Примеры запросов

Ailoot · System One

Пример классификации
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 customer message}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "jev-latest", "state": "", "questions": {"is_urgent": {"type": "noul", "instructions": "Does the supplied customer message express urgency?"}}}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["state"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT

Получить и сохранить результаты

Ailoot · System One

json

Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте каждый ответ вместе с переданным ID вопроса, вероятностью и легендой; формула уверенности с n требует n>1, но это не означает, что API задаёт минимальное количество вариантов.

Поля ответа
ПолеТип
Полеanswers.<id>.typeТипstring
Полеanswers.<id>.noulТипnumber
Полеanswers.<id>.choiceТипstring
Полеanswers.<id>.scoreТипnumber
Полеanswers.<id>.confidenceТипnumber
Полеanswers.<id>.probabilitiesТипobject
Полеanswers.<id>.legendТипobject
ПолеusageТипobject
Ошибки и дальнейшие шаги
ОтветУсловиеСледующий шаг
Ответ400 · invalid_request_errorУсловиеНеверные обязательные поля, представление материалов или значение параметраСледующий шагИсправьте указанные поля перед новым запросом на создание.

Псевдонимы

Псевдонимы моделей

Ailoot jev-latest

Псевдонимы путей метода

Используйте пути методов, указанные выше.

Связанные ID для вызова

jev-latest

FAQ · jev-latest
Какие входные данные и результаты доступны?

POST /v1/systemone · jev-latest: text → structured

Какие поля использует запрос?

POST /v1/systemone · jev-latest: model, state, questions, stream

Какие ограничения действуют?

POST /v1/systemone · jev-latest: ctx: 64000

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор