Свой чат-ассистент в SCADA: локальная модель вместо облака
На котле Lavart K уже работал AI-ассистент: оператор мог спросить про режим работы, аварии, историю — и получить ответ на основе документации. Но это был отдельный интерфейс, не связанный с основным операторским экраном.
Проблема
Оператору приходилось:
- Переключаться между мнемосхемой котла и отдельным окном чата
- Зависеть от облачных моделей — то есть от интернета и тарифов API
- Ждать готовый ответ целиком, без потока «по мере генерации»
Задача от руководителя звучала просто: «Хочу, чтобы чат был прямо в SCADA, как мессенджер, и работал на нашем одноплатнике — без облака».
Как ставилась задача
Четыре пункта — симптомы и желаемое поведение, без готового решения:
- Развернуть локальную языковую модель на одноплатнике — чтобы не зависеть от интернета
- Встроить чат в основной SCADA-интерфейс — кнопка и страница как в мессенджере
- Ответ должен идти потоком, а не появляться целиком в конце
- Чат должен знать нашу документацию — отвечать на основе базы знаний, а не «из головы»
Что сделали агенты
Команда прошла путь: архитектура → бэкенд → интеграция → интерфейс → тесты.
Локальная модель на одноплатнике
Взяли компактную модель Qwen на 0.8 миллиарда параметров — она умещается в несколько сотен мегабайт и работает на нейросетевом процессоре одноплатника RK3588. Модель работает в двух режимах: сразу весь ответ или потоком — токен за токеном.
Чат-сервер
Отдельный лёгкий сервис, который принимает вопрос оператора, присоединяет контекст из базы знаний (RAG), спрашивает модель и отдаёт ответ потоком. Оператор видит текст «вживую», по мере генерации.
Важная особенность: сервер всегда использует локальную модель. Если модель недоступна — оператор получает понятное сообщение об ошибке, а не «зависший» чат.
Интеграция в SCADA
Основной SCADA-сервер стал потоковым прокси к чат-серверу. Здесь был тонкий момент: поток «рвался», потому что соединение закрывалось раньше, чем заканчивался ответ. Решение — держать соединение открытым ровно столько, сколько длится поток.
Интерфейс
В шапку SCADA добавили кнопку «Ассистент». Открывается страница чата в стиле мессенджера: сообщения оператора и ассистента, индикатор «Готовим ответ…», иконки пользователя и бота. Ответ идёт потоком, источники из базы знаний показываются отдельно.
Результат
| Метрика | Значение |
|---|---|
| Локальная модель (без облака) | Qwen · 0.8B параметров |
| Новых автотестов | 10 |
| Всего тестов проекта | 155 |
| Потоковый ответ | да, токен за токеном |
| Интеграция в SCADA | кнопка + отдельная страница |
| Зависимость от интернета | нет |
Вся цепочка проверена на живых серверах. Если модель недоступна — оператор видит понятное сообщение. Если поток идёт — он корректно завершается.
Что это значит
Для руководителя котельной
- Один интерфейс — оператор не покидает SCADA, чтобы спросить ассистента
- Ноль зависимости от облака — чат работает даже без интернета
- Без тарифов API — локальная модель бесплатна в эксплуатации
- Понятные сбои — если модель не поднята, оператор видит сообщение, а не «молчащий» чат
Для инженера
- Модель на 0.8B достаточно для вопросов по документации котла — не нужен облачный гигант
- Потоковый ответ требует осторожности с соединениями — это типичный источник «рвущихся» стримов
- Изоляция звеньев (интерфейс / прокси / модель) упрощает отладку: каждое звено тестируется отдельно
Выводы
Осталось включить модель на целевом одноплатнике — и оператор получит полностью автономный чат-ассистент прямо в SCADA.
Если вы хотите обсудить внедрение локального AI-ассистента в свою SCADA — напишите в @KachanAI. Обсудим, с чего начать.
Читайте также
40 минут, 4 фикса, 74 теста. Один день из жизни невидимого департамента
Утро. Четыре проблемы в работающей системе предиктивной аналитики. Через 40 минут — четыре фикса, 74 пройденных теста и ни одной строки кода, написанной мной вручную. Разбор одного рабочего дня невидимого департамента.
ML в котлостроении: прогнозирование загрязнения на реальных данных
Как мы применили ML для прогнозирования загрязнения конвективных поверхностей котла на основе данных режимной наладки. Сочетание классической теплотехники и современных методов анализа данных.
Невидимый департамент: как я перестал нанимать людей
Как за год я собрал департамент из AI-агентов, который параллельно ведёт 4 проекта: Edge AI для котельных, систему управления департаментом АСУ ТП, генеративное проектирование и этот сайт. И почему люди в команде не сопротивляются.