← Все материалы

Гайд

Mistral AI: стоит ли смотреть за пределы привычных трёх брендов?

Mistral AI для нормализации заявок: пример на Large 4, работа со справочником, короткий API-вызов в Чатиуме и ручная проверка неоднозначных случаев.

Обновлено

Обложка: Mistral Large 4. Альтернатива привычным моделям. Реальный экран: Карточка модели в OpenRouter.

Mistral AI часто остаётся за пределами привычного сравнения ChatGPT, Claude и Gemini. Проверять его полезнее на конкретной работе: например, привести свободные формулировки из заявок к единому справочнику. В этой статье используем Mistral Large 4 и вызов из Чатиума. Главный критерий — модель должна находить подходящую категорию, сохраняя неоднозначные случаи для человека.

В Чатиуме можно сделать помощника, который предлагает нормализованное значение рядом с оригиналом. Пользователь подтверждает сопоставление, а новые или спорные формулировки попадают в отдельную очередь.

Промпт

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

Почему это не обычная замена слов

В каталоге OpenRouter Mistral Large 4 доступен как mistralai/mistral-large-4-0; он принимает текст и изображения и возвращает текст. Наш сценарий текстовый: заявка плюс небольшой список допустимых услуг с пояснениями.

Задача отличается от поиска точного совпадения. Клиент может написать «нужна страница для сбора контактов», а в справочнике услуга называется «лендинг с формой заявки». Модель помогает сопоставить смысл, но справочник должен задавать границы.

Если есть два пункта — «дизайн лендинга» и «разработка лендинга», — фраза «нужен лендинг» не позволяет выбрать один без уточнения. Такой результат должен оставаться незавершённым, а не попадать в статистику как подтверждённый заказ.

Схема: Заявка на языке вашего справочника. Текст заявки → Справочник услуг → Mistral → Проверка сотрудником.

Как описать категории, чтобы они различались

Одного названия иногда мало. Добавьте короткое описание и признак, по которому пункт отличается от соседнего. Например, дизайн включает макет, разработка — работающую страницу, сопровождение — изменения уже опубликованного решения.

Вход для модели может выглядеть так:

Категория Отличительный признак
Дизайн Требуется макет без реализации
Разработка Нужна работающая новая страница
Сопровождение Нужно изменить существующую страницу

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

Что сохранять после подтверждения

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

В интерфейсе Чатиума полезны три состояния: предложено, подтверждено, нужно уточнить. Результат генерации не должен сразу перезаписывать исходные данные. Отдельная очередь неоднозначностей показывает, где чаще всего не хватает информации в форме.

Для оценки возьмите реальные формулировки, включая короткие, разговорные и ошибочные. Проверьте не только правильные совпадения, но и способность оставлять вопрос открытым. Уверенная неверная категория часто создаёт больше работы, чем честное уточнение.

Mistral API через Чатиум: короткий вызов

В sourceText передайте заявку и разрешённый справочник с описаниями.

Это фрагмент серверного обработчика Чатиума. ctx передаёт платформа, sourceText содержит проверенный текст из формы. done и failed — заранее зарегистрированные маршруты app.function для результата и ошибки. Они проверяют, что вызов пришёл от приложения start: caller.type === 'plugin' && caller.appSlug === 'start'.

TypeScript
import { startCompletion } from '@start/sdk'

const { completionId } = await startCompletion(ctx, {
  model: 'mistralai/mistral-large-4-0',
  system: 'Сопоставь заявку с разрешённым справочником. При неоднозначности задай уточнение.',
  messages: [{
    role: 'user',
    content: [{ type: 'text', text: sourceText }],
  }],
  onCompletionCompleted: done,
  onCompletionFailed: failed,
})

Метод возвращает completionId. Сам ответ приходит позже в onCompletionCompleted, ошибка — в onCompletionFailed; до этого приложение показывает ожидание. Это схема вызова, а не полный код приложения.

Когда стоит выбрать Mistral

Если на ваших формулировках он даёт подходящее сочетание точности, ожидания и расходов. Преимущество альтернативного поставщика — возможность проверить ещё одного кандидата в том же приложении, а не заранее назначенный статус лучшей модели. Похожая задача малого масштаба разобрана в статье про GPT-6 Luna.

Частые вопросы

Модель может сама расширять справочник?

Технически она может предлагать названия, но в этом сценарии новые услуги утверждает человек. Иначе статистика быстро распадётся на похожие категории.

Нужно ли отправлять весь архив заявок?

Для отдельного сопоставления обычно достаточно текущего текста и актуального справочника. Примеры сложных случаев можно добавить отдельно.

Если ответ выглядит как код категории, его можно сразу сохранить?

Сначала проверьте, что значение существует в разрешённом списке и относится к текущей версии справочника. Формат ответа не подтверждает правильность смысла.