В каталог DSLab Router добавлена новая категория, «Решения», и восемь моделей в ней. Это модели, которые не пишут текст: они читают описание ситуации, отвечают на типизированные вопросы и возвращают вероятности. Среди разработчиков OpenAI, Microsoft, Perplexity, Liquid AI, Upstage, Morph и TypeSafe AI.

Открыть каталог

Что такое модель решений

Обычная языковая модель на вопрос «это обращение про возврат денег?» напишет ответ, который потом придется разбирать кодом. Модель решений устроена иначе. Вы передаете состояние (текст, JSON, у некоторых моделей изображение) и список вопросов, а в ответ получаете структуру: выбранный вариант, вероятность каждого варианта и уровень уверенности. Текст не генерируется, поэтому нечего парсить и нечему «додумываться».

Вопросы бывают трех типов:

  • `choice` выбирает один вариант из ваших и возвращает вероятность каждого варианта и confidence;

  • `score` оценивает положение на упорядоченной шкале и возвращает score, probabilities, confidence и legend;

  • `noul` возвращает вероятность ответа «да».

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

Где это применяется

  • распределение обращений по командам и оценка их срочности;

  • классификация и приоритизация;

  • выбор следующего шага агента и проверка действий агента перед выполнением;

  • проверка условий в пайплайне, где нужен не текст, а число, по которому можно пороговать, маршрутизировать и логировать.

Модель решений ничего не выполняет. Действует по ее ответам само приложение, а вероятности позволяют, например, отправлять неуверенные случаи на ручную проверку.

Какие модели появились

Модель

Разработчик

Цена за 1 млн входных токенов

Perplexity

2 ₽

Liquid AI

2 ₽

Morph

4,20 ₽

Microsoft

4,20 ₽

TypeSafe AI

4,20 ₽

TypeSafe AI

4,20 ₽

Upstage

5 ₽

OpenAI

10 ₽

Как подключить

Для всех моделей, кроме Jev 1.14 SystemOne, используется один эндпоинт, POST https://api.dslab.tech/v1/decisions. Выбор модели задается полем model, поэтому одну и ту же задачу можно прогнать через разные модели и сравнить результат.

python
import os
import requests

response = requests.post(
"https://api.dslab.tech/v1/decisions",
headers={
"Authorization": f"Bearer {os.environ['DSLAB_API_KEY']}",
"Idempotency-Key": "ticket-operation-001",
},
json={
"model": "pplx-decider-v1.2",
"state": {"ticket": "Прошу вернуть деньги: подписку списали дважды"},
"questions": {
"team": {
"type": "choice",
"instructions": {"question": "Какая команда должна обработать обращение?"},
"criteria": {"billing": None, "account": "Вход и доступ к аккаунту"},
},
"severity": {
"type": "score",
"instructions": "Насколько срочное обращение?",
"criteria": ["Плановое", "Блокирующее"],
},
"refund": {
"type": "noul",
"instructions": "Клиент просит вернуть деньги?",
},
},
},
timeout=60,
)
response.raise_for_status()
print(response.json()["answers"])

Idempotency-Key задает идентификатор операции: для новой операции берите новый ключ, при повторе той же операции сохраняйте прежний.

Что важно знать

  • Все вопросы одного запроса видят одно и то же состояние. Если решение зависит от ответа на предыдущий вопрос, отправьте второй запрос.

  • По данным Perplexity, объединение нескольких вопросов в одном запросе может снижать точность, когда варианты конкурируют друг с другом.

  • Эти модели не предназначены для генерации текста, открытых вопросов, диалога, перевода и суммаризации.

  • Вероятность не гарантирует правильность ответа: проверяйте качество на данных своей задачи.

Начать

Создайте API-ключ, выберите модель в каталоге и отправьте первый запрос.