Перейти к содержанию

YandexGPT и n8n: классификация заявок по теме, срочности и SLA

Обновлено: 2026-05-30

AI summary: Практический workflow для поддержки и продаж: принять текст заявки, очистить персональные данные, отправить в YandexGPT classifier, получить label/confidence и направить обращение в нужную очередь без ручной сортировки.
Шаблон для внедрения

Импортируйте workflow, замените credentials и прогоните тестовый payload до включения production.

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

Решение: n8n принимает текст заявки, нормализует его, вызывает YandexGPT classifier с понятными labels, проверяет confidence и маршрутизирует обращение в CRM, Telegram или helpdesk. Низкая уверенность уходит человеку на review.

Схема классификации заявок YandexGPT через n8n
Workflow классифицирует обращение, применяет порог confidence и выбирает очередь обработки.

Проблема: почему ручная сортировка заявок ломает SLA

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

YandexGPT-based classifier полезен тем, что возвращает класс и confidence, а n8n может сразу применить бизнес-правило: отправить срочную оплату в отдельный канал, техническую ошибку — инженеру, а низкую уверенность — человеку. Важно заранее задать понятные labels, а не просить модель “сама понять тему”.

Архитектура workflow YandexGPT classifier через n8n

НодаРольЧто проверить
Webhook inputпринимает текст заявки и source_idканал, клиент, язык, статус
Sanitize textчистит HTML и маскирует лишние данныенет токенов и паролей в prompt
Build classifier requestсобирает labels и taskDescription2–20 классов, понятные названия
Call YandexGPT classifierвызывает Text Classification APIIAM token, folder/modelUri, timeout
Route by confidenceвыбирает очередь и SLAthreshold, unknown/review branch
Update CRM/helpdeskзаписывает label и next_actionистория решения и audit_key

Ключевой элемент — не сама AI-модель, а routing policy. Даже хороший classifier должен иметь ветку `review`, если confidence ниже порога или текст не похож на рабочую заявку.

Контракт входных данных для классификации

{
  "ticket_id": "sup-2048",
  "source": "telegram",
  "text": "Оплата прошла, чек есть, но доступ к курсу не открылся. Заказ 10492, срочно помогите.",
  "labels": [
    "payment_issue",
    "technical_bug",
    "sales_question",
    "refund_request",
    "spam"
  ],
  "confidence_threshold": 0.72,
  "customer": {
    "crm_id": "contact-552",
    "plan": "pro"
  }
}

Labels должны быть бизнесовыми, а не техническими. `payment_issue` полезнее, чем `class_1`: оператор и CRM сразу понимают, что делать с результатом.

Code Node: labels, confidence threshold и route key

const src = $json.body ?? $json;
const text = String(src.text ?? '').replace(/<[^>]*>/g, ' ').replace(/\s+/g, ' ').trim();
if (text.length < 10) throw new Error('ticket text is too short');
if (text.length > 6000) throw new Error('ticket text is too long for classifier request');

const labels = Array.isArray(src.labels) && src.labels.length ? src.labels : [
  'payment_issue', 'technical_bug', 'sales_question', 'refund_request', 'spam'
];
if (labels.length < 2 || labels.length > 20) throw new Error('labels count must be between 2 and 20');

const threshold = Number(src.confidence_threshold ?? 0.72);
return [{
  json: {
    ticket_id: String(src.ticket_id ?? `ticket-${Date.now()}`),
    classifier_body: {
      modelUri: process.env.YANDEXGPT_CLASSIFIER_MODEL_URI,
      taskDescription: 'Классифицируй входящую заявку поддержки по основной теме. Верни наиболее подходящий label.',
      labels,
      text
    },
    routing_policy: {
      confidence_threshold: threshold,
      review_label: 'human_review',
      routes: {
        payment_issue: 'support-payments-high-priority',
        technical_bug: 'support-tech',
        sales_question: 'sales-inbox',
        refund_request: 'billing-review',
        spam: 'closed-spam'
      }
    },
    audit_key: `yandexgpt-classifier:${src.ticket_id ?? Date.now()}`
  }
}];
Почему нужен порог confidence

Классификатор может выбрать ближайший label даже для неоднозначной заявки. Порог уверенности отправляет сомнительные обращения человеку, сохраняет SLA и снижает риск неправильной маршрутизации.

Готовый workflow JSON: скачать и импортировать

Скачать готовый workflow JSON Скачать тестовый payload

{
  "name": "Nodbot - YandexGPT ticket classifier",
  "nodes": [
    {
      "name": "Webhook input",
      "type": "n8n-nodes-base.webhook",
      "purpose": "Принять заявку из CRM, сайта или Telegram"
    },
    {
      "name": "Sanitize and build labels",
      "type": "n8n-nodes-base.code",
      "purpose": "Очистить текст и собрать classifier request"
    },
    {
      "name": "Call YandexGPT classifier",
      "type": "n8n-nodes-base.httpRequest",
      "purpose": "Вызвать Text Classification API"
    },
    {
      "name": "Route by confidence",
      "type": "n8n-nodes-base.code",
      "purpose": "Выбрать очередь по label и confidence"
    },
    {
      "name": "Update CRM or helpdesk",
      "type": "n8n-nodes-base.httpRequest",
      "purpose": "Записать label, SLA и комментарий"
    },
    {
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "purpose": "Вернуть route_key и статус"
    }
  ],
  "connections": "Webhook input → Sanitize and build labels → Call YandexGPT classifier → Route by confidence → Update CRM or helpdesk → Respond to Webhook"
}

Пошаговая настройка YandexGPT, n8n и CRM-маршрутизации

  1. Создайте модель/доступ YandexGPT classifier и сохраните IAM token в n8n credentials или ENV.
  2. Опишите 2–20 labels понятными бизнес-названиями.
  3. Импортируйте workflow и задайте `YANDEXGPT_CLASSIFIER_MODEL_URI`.
  4. Настройте routes: label → очередь CRM/helpdesk/Telegram.
  5. Добавьте ветку human review для низкого confidence и неизвестных текстов.

Тесты перед production и проверка классов

curl -X POST "https://YOUR-N8N-DOMAIN/webhook/yandexgpt-classifier" \
  -H "Content-Type: application/json" \
  --data @yandexgpt-classifier-payload.json
  1. Проверьте типовые заявки по каждому label.
  2. Отправьте смешанную заявку: оплата + техническая ошибка.
  3. Проверьте короткий бессмысленный текст и спам.
  4. Уменьшите threshold и посмотрите, не падает ли качество маршрутизации.
  5. Сравните AI label с ручной разметкой на 50–100 исторических обращениях.

Production-риски AI-классификации заявок

  • Labels слишком похожи. Модель путает классы, если названия не отражают бизнес-действие.
  • Нет human review. Низкая уверенность всё равно уходит в неверную очередь.
  • PII в prompt. Маскируйте пароли, токены и лишние персональные данные.
  • Нет контрольной выборки. Нельзя оценить качество classifier до production.
  • Маршрут меняет SLA без аудита. Записывайте label, confidence, modelVersion и routing decision.

См. также GigaChat support draft, Telegram AI bot with human approval и OpenRouter fallback. Официальные документы: YandexGPT classifiers, prompt-based classifier и n8n HTTP Request.

Карточка результата классификации заявки YandexGPT в n8n
Карточка результата показывает label, confidence, route и SLA для поддержки.

Критерии готовности

  1. Labels согласованы с владельцами поддержки и продаж.
  2. Есть threshold и ветка human_review для сомнительных случаев.
  3. Маршрутизация записывает label, confidence, modelVersion и audit_key.
  4. Качество проверено на исторической выборке, а не только на одном тесте.
  5. Ошибки YandexGPT API не меняют статус заявки молча.
Нужно автоматически сортировать заявки без потери SLA?

Nodbot настроит YandexGPT classifier, labels, threshold, human review, CRM routing, audit log и контроль качества на исторических обращениях.

Обсудить классификацию заявок