Liquid AI выпустила d1: модель принятия решений, возвращающую калиброванные вероятности с нулевым количеством выходных токенов
Liquid AI выпустила d1 — модель принятия решений, созданную для структурированного выбора, а не генерации текста. Вы передаёте ей контекст и набор типизированных вопросов. В одном вызове она возвращает откалиброванные вероятности для фиксированного набора результатов, не генерируя ни одного токена. Модель предназначена для задач, которые многие команды по-прежнему поручают универсальным LLM: классификации, маршрутизации тикетов, выставления оценок, модерации, переранжирования и проверок в формате LLM-as-judge.
Можно ли её развернуть? Да, уже сегодня — в виде размещённого API. d1 работает в Liquid API под именем модели d1:free. В библиотеке моделей Liquid указано, что она доступна только через API и не подлежит обучению, поэтому весов GGUF, MLX или ONNX для самостоятельного размещения нет.
Что такое модель принятия решений?
Модель принятия решений оценивает ситуацию и возвращает типизированный ответ из вариантов, заданных до вызова. Она не пишет текст. В каждом ответе значение usage.output_tokens равно 0. В руководстве по миграции Liquid сформулировано простое правило: если ответ — один из N известных вариантов, используйте модель принятия решений. Если модель должна составить новую строку, оставьте LLM.
3 примитива: Noul, Choice и Score
- Noul — это вопрос с ответом «да/нет», который возвращает вероятность от 0 до 1. В примере Liquid на вопрос «Является ли это сообщение жалобой?» был получен результат 0.999.
- Choice выбирает один вариант из именованного набора. Он возвращает лучший вариант, полное распределение и значение
confidence. Для тикета о двойном списании была получена оценка 0.9997 по варианту «биллинг». - Score оценивает входные данные по упорядоченной шкале и возвращает взвешенную вероятностями позицию. Уровни индексируются начиная с 0, поэтому шкала срочности из 4 уровней охватывает значения от 0 до 3. Авария в рабочей системе получила оценку 2.9995.
В одном запросе можно сочетать все 3 типа. Модель оценивает каждый вопрос относительно одного и того же состояния за один обмен данными.
Как работает вызов API d1
Каждый запрос состоит из 3 частей: модели, состояния (обычного текста или объекта JSON) и вопросов. Вызовы отправляются на POST https://api.liquid.ai/decisions/v1/systemone. Ключи можно получить на сайте console.liquid.ai; они начинаются с liquid_. Клиентские библиотеки — это typesafe-sdk от TypeSafe AI для Python и @typesafe-ai/sdk для TypeScript.
from typesafe_sdk import TypeSafeClient, Noul
client = TypeSafeClient(api_key=os.environ["LIQUID_API_KEY"],
base_url="https://api.liquid.ai")
result = client.system_one(
model="d1:free",
state="I have been waiting over three weeks for my order...",
questions={"is_complaint": Noul(
instructions="Is this message a complaint from the customer?")},
)
print(result.answers["is_complaint"].noul) # 0.999Зачем переносить вызовы LLM для классификации на d1
В руководстве по миграции перечислены конкретные отличия от LLM со структурированным выводом:
- Нет оплачиваемых выходных токенов: LLM взимает плату за вывод даже при получении метки из одного слова.
- Предсказуемая задержка: отсутствует цикл декодирования, который увеличивается вместе с длиной вывода.
- Нет ошибок схемы: ответы всегда соответствуют типу вопроса, поэтому некорректный JSON и повторные попытки не нужны.
- Полезная оценка неопределённости: вы получаете откалиброванные вероятности, а не самостоятельно названное моделью число.
- Меньше обменов данными: 3 последовательных вызова классификации превращаются в 1.
Вероятности делают пороговые значения практичными. В примере модерации Liquid блокирует результаты выше 0.8, разрешает результаты ниже 0.2, а промежуточный диапазон отправляет на проверку человеку. В примере маршрутизации при снижении уверенности маршрутизатора ниже 0.5 используется наиболее мощный уровень модели. Liquid также сообщает, что повторные оценки одних и тех же входных данных более согласованы между собой, что уменьшает количество смен вердикта.
Сохраняйте LLM для суммирования, подготовки черновиков, многораундового чата, генерации кода и сложных многошаговых рассуждений.
Демонстрация: Road Decider
Кулинарная книга Liquid с примером road-decider — это пиксельная гоночная игра на выживание. d1 использует вопрос Choice, чтобы на каждом такте принятия решения выбирать левую, центральную или правую полосу — примерно от 2 до 5 раз в секунду в зависимости от скорости игры. Приложение написано на ванильном JavaScript для Node.js 18+, а прокси Vite обеспечивает хранение ключа API на стороне сервера. В режиме «Jev vs d1» d1 соревнуется с typesafe/jev-1.13 от TypeSafe через OpenRouter. Самый полезный вывод касается проектирования состояния. Сводки по каждой полосе с указанием расстояния до первого препятствия обеспечили более уверенные решения, чем необработанная сетка дороги.
Интерактивное объяснение: d1 шаг за шагом
d1 и ближайшие конкуренты
d1 выходит на небольшой, но быстро развивающийся рынок негenerative моделей принятия решений. Ниже приведено сравнение опубликованных характеристик.
| Характеристика | Liquid AI d1 | TypeSafe Jev 1.13 | Convai Laya | AutoTrust JEV-27B |
|---|---|---|---|---|
| Доступ | Только Liquid API | OpenRouter API | Открытые веса | Открытые веса |
| Примитивы | Noul, Choice, Score | Noul, Choice, Score | Noul, Choice, Score | True/false, Choice (от 2 до 16), Score (от 0 до 5) |
| Выходные токены | 0 | 0 (вывод оплачивается по ставке $0) | 0 (энкодер) | 0 для решений; также может генерировать текст |
| Контекстное окно | Не опубликовано | 32K токенов | 512 (английский), 1 024 (мультиязычный) | 4 096 токенов |
| Размер модели | Не раскрывается | Не раскрывается | 421M (английский), 322M (мультиязычный) | Основа 27B, 108.9M обучаемых параметров |
| Стоимость | Тариф d1:free; платные ставки не опубликованы | $0.042 за 1 млн входных токенов | Самостоятельное размещение | Самостоятельное размещение |
| Лицензия | Размещённый API | Размещённый API | Apache 2.0 | Apache 2.0 |
| Дообучение | Не подлежит обучению | Не документировано | Да | Да (адаптер LoRA) |
| SDK | TypeSafe SDK (Python, TS) | TypeSafe SDK, SDK OpenRouter | Hugging Face | Hugging Face |
Данные проверены 29 сентября 2026 года по основным страницам каждого поставщика.
Главные выводы
- d1 возвращает типизированные решения с откалиброванными вероятностями и 0 выходных токенов.
- 3 примитива охватывают большинство задач с ограниченным набором вариантов: Noul, Choice и Score.
- Модель уже доступна через Liquid API как
d1:free; весов для самостоятельного размещения нет. - Лучше всего подходит для маршрутизации, модерации, первичной сортировки, переранжирования и замены LLM-as-judge.
- LLM следует сохранять для генерации, диалогов и многошаговых рассуждений.
Ознакомьтесь с документацией по моделям принятия решений, руководством по миграции и демонстрацией Road Decider. Все заслуги принадлежат исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тысячами участников и подписаться на нашу рассылку. Постойте! Вы пользуетесь Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите сотрудничать с нами для продвижения своего репозитория GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.