Перейти к содержимому

LLM-чат

В GetOLT встроен LLM-ассистент — floating-чат справа снизу на всех страницах. Под капотом ходит в self-hosted LLM, вызывает MCP-tools напрямую внутри процесса, логирует диалоги в БД.

Зачем

  • Спросить «на каком OLT больше всего ONU в Москве» голосом, без копания в таблицах.
  • Быстро найти ONU по обрывку MAC или ФИО абонента, не открывая отдельную форму поиска.
  • Поручить агенту подготовить снимок конфигурации OLT и сравнить с эталоном.

Чат не имеет прямого доступа к БД — все действия идут через MCP-tools, которые проходят те же проверки, что и REST API.

Включение

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

При выключенном модуле ни кнопка-робот, ни эндпоинты не активны — приложение ведёт себя как раньше.

Архитектура

[браузер] --SSE--> /api/llm-chat/sessions/{id}/messages
|
LlmChatService (tool-loop)
|
+---------------+----------------+
| |
LLM-клиент InProcessMcpDispatcher
(HTTP) (прямой вызов MCP-tools)

InProcessMcpDispatcher зовёт те же бины, что и HTTP MCP-сервер — без self-loop по сети.

Что доступно из чата

Чат имеет тот же набор tools, что и MCP-сервер — см. MCP-сервер. Включая поиск ONU, поиск по конфигам, статистику по OLT, оптику, VLAN’ы, СЗО.

Логирование

Все запросы и ответы пишутся в mcp_chat_log, диалог как сущность — в chat_session / chat_message. Это нужно и для аудита, и для последующего улучшения промптов / выбора модели.

Нашли ошибку или нужно что-то дополнить? Напишите нам.

Разработка: gmasich.ru