Маршрутизация обращений за копейку
Каждое входящее обращение сразу попадает в нужную очередь, срочные первыми, непонятные — человеку. Модель решений Jev, три вопроса и правила с порогами — 1 копейка и полсекунды на обращение.
Что получите: письма, чаты и заявки с сайта сами расходятся по очередям команд. Срочные встают первыми, а обращения, в которых модель сомневается или непонятно, что нужно клиенту, уходят человеку. Одно обращение — около 1 копейки и полсекунды.
Сколько времени: 30 минут.
Что понадобится: API-ключ Hubris и место, откуда можно отправить HTTP-запрос, когда приходит обращение: свой бэкенд, n8n или Make.
Шаг 1. Опишите очереди словами
Модель выбирает очередь по описанию, а не по названию. Пишите, что туда попадает, — так модель реже путает соседние очереди:
"team": {
"type": "choice",
"instructions": "Какой команде передать обращение?",
"criteria": {
"billing": "Оплата, счета, возвраты, подписки",
"tech": "Ошибки, сбои, приложение, интеграции",
"sales": "Тарифы, покупка, условия до оплаты"
}
}Шаг 2. Добавьте два вопроса «да или нет»
Одного вопроса про очередь мало: модель всегда выбирает один из вариантов, даже когда выбирать не из чего. В нашем прогоне 7 октября обращение «Здравствуйте, у меня вопрос» модель уверенно отнесла к технике — 86 %. Вопрос «понятно ли, что нужно клиенту» ловит такие случаи: 0,10.
"urgent": { "type": "noul", "instructions": "Проблема мешает работать прямо сейчас?" },
"clear": { "type": "noul", "instructions": "Понятно, что нужно клиенту?" }Все три вопроса решаются за один запрос: платится текст обращения и вопросов, ответ модели бесплатный.
Шаг 3. Напишите правила
Модель отвечает вероятностями, маршрут выбирает ваш код:
import requests
QUESTIONS = {
"team": {"type": "choice", "instructions": "Какой команде передать обращение?",
"criteria": {"billing": "Оплата, счета, возвраты, подписки",
"tech": "Ошибки, сбои, приложение, интеграции",
"sales": "Тарифы, покупка, условия до оплаты"}},
"urgent": {"type": "noul", "instructions": "Проблема мешает работать прямо сейчас?"},
"clear": {"type": "noul", "instructions": "Понятно, что нужно клиенту?"},
}
def route(text):
a = requests.post(
"https://api.hubris.pw/v1/decisions",
headers={"Authorization": "Bearer sk-gw-..."},
json={"model": "typesafe/jev-1.13", "state": text, "questions": QUESTIONS},
).json()["answers"]
if a["clear"]["noul"] < 0.5 or a["team"]["confidence"] < 0.4:
return "human", False # человеку: непонятно или модель сомневается
return a["team"]["choice"], a["urgent"]["noul"] >= 0.75 # очередь и «первым»В n8n и Make то же самое собирается из узла HTTP-запроса и ветвления по полям ответа.
Шаг 4. Подберите пороги на своих обращениях
Пороги выше подобраны под пять обращений из нашего прогона — вот что получилось:
| Обращение | Ответ модели | Куда ушло |
|---|---|---|
| Не проходят платежи, теряем заказы, срочно | оплата 73 %, срочно 0,98 | Оплата, первым |
| Можно ли перейти на годовой тариф | продажи 54 %, оплата 46 %, уверенность 0,31 | Человеку |
| Приложение вылетает после обновления | техника 100 %, срочно 0,50 | Техника |
| Списали деньги за отменённую подписку | оплата 100 %, срочно 0,79 | Оплата, первым |
| Здравствуйте, у меня вопрос | понятно 0,10 | Человеку |
На своих данных начните так:
- Возьмите 50–100 обращений, которые уже разобраны вручную, и прогоните их через
route. - Сравните очереди с ручной разметкой. Ошибки с высокой уверенностью — повод уточнить описания очередей, с низкой — поднять порог.
- Первую неделю смотрите, что ушло человеку: если там много очевидных случаев, порог можно опустить.
Сколько стоит
Обращение с тремя вопросами — около 500 входных токенов, это 1 копейка. Тысяча обращений — около 10 ₽. Время ответа в нашем прогоне — 0,28–0,51 секунды. Каждый запрос с ценой виден в журнале запросов.
Что дальше
- Маршрутизация обращений — та же схема на одной странице.
- POST /v1/decisions — все поля запроса и ответа.
- Классификация текста: модель решений или языковая модель — когда вместо Jev лучше языковая модель.
Обновлено:
Расходы под контролем
Как держать расходы на нейросети в Битрикс24 предсказуемыми — дневной лимит, выбор модели под задачу, где смотреть, сколько потрачено.
Классификация текста — модель решений или языковая модель
Тема, тональность и срочность по вашим категориям без обучения. Замер пяти моделей на одном обращении, когда брать модель решений, когда языковую, и как не переплатить за размышления.