Описание функциональных характеристик программы «СиБот»
1. Назначение
Программа «СиБот» (платформа чат-бота) предназначена для автоматизированного консультирования граждан и клиентов организации: принимает вопрос в мессенджере или на сайте, находит сведения в базе знаний организации, формирует ответ с помощью языковой модели и при необходимости принимает заявку для сотрудника.
2. Каналы
| Канал | Как подключается |
|---|---|
| Мессенджер MAX | бот организации, токен MAX Bot API |
| Telegram | бот организации, токен Telegram Bot API (канал необязательный, отключается) |
| Сайт организации | виджет чата, одна строка кода на странице |
Сценарий диалога, база знаний и настройки ассистента едины для всех каналов.
Основные каналы — MAX и сайт. Канал Telegram необязательный: по умолчанию выключен, включается и отключается в настройках; без него программа работает полностью. Для организаций, на которые распространяется ч. 8 ст. 10 Федерального закона № 149-ФЗ (ГУП, МУП, общества с государственным участием более 50 %, банки и др.), канал Telegram не подключается: обращения и персональные данные принимаются только через MAX и сайт.
3. Функции
3.1. Диалог с пользователем
- запрос согласия на обработку персональных данных до начала диалога;
- меню: «Задать вопрос», «Оставить заявку», «Контакты»;
- ответ на вопрос в свободной форме;
- учёт предыдущих сообщений диалога (до шести последних реплик);
- заранее заданный ответ, если в базе знаний нет сведений; языковая модель в этом случае не вызывается;
- резервный ответ при недоступности языковой модели.
3.2. База знаний
- загрузка документов администратором: файлы .txt, .md, .docx, .pdf (до 10 МБ) или ввод текста;
- автоматическое разбиение документа на фрагменты по разделам и абзацам;
- поиск подходящих фрагментов по вопросу: смысловой (по векторам) и по ключевым словам;
- удаление документов, пересчёт векторов.
3.3. Голосовой режим (необязательный модуль)
- приём голосового сообщения в виджете сайта, Telegram и MAX и преобразование его в текст вопроса;
- распознанный вопрос проходит тот же сценарий поиска по базе знаний и ответа;
- озвучка ответа: в виджете — кнопка «прослушать» у каждого ответа, в Telegram — голосовое сообщение вместе с текстом;
- числа, время, даты и телефоны перед озвучкой переводятся в слова;
- при ошибке распознавания или озвучки диалог продолжается текстом;
- распознавание и синтез выполняются на сервере организации локальными моделями, записи не передаются внешним сервисам.
3.4. Заявки
- сбор сути обращения и номера телефона с проверкой номера;
- сохранение заявки и уведомление оператора в мессенджере;
- список заявок в панели администратора.
3.5. Рассылка по списку из Excel
- загрузка файла .xlsx со столбцами «Канал», «Тип», «Получатель», «Текст»;
- проверка файла до отправки: неизвестный канал, пустой получатель или текст, повторы, превышение длины — с номерами строк;
- просмотр первых строк и пробная отправка на указанный адрес;
- отправка в групповые чаты и пользователям MAX и Telegram с паузой между сообщениями и повторами при неудаче;
- защита от повторной отправки: после сбоя или перезапуска досылаются только неотправленные строки;
- отчёт по каждой строке (статус, время, ошибка) в файле CSV.
3.6. Панель администратора
- показатели: пользователи по каналам, заявки, сообщения, объём базы знаний, динамика по дням, источники переходов;
- переписка с пользователями и ответ оператора в канал пользователя;
- рассылка сообщений пользователям, давшим согласие, в разрешённые каналы;
- настройка текстов (приветствие, согласие, контакты, ответ «нет сведений») и инструкции ассистенту.
4. Данные
Хранятся в СУБД PostgreSQL: пользователи (канал, идентификатор, имя, дата согласия), состояние диалога, переписка, заявки, документы и фрагменты базы знаний, настройки. Интерфейс — на русском языке.
5. Требования к среде
- сервер под управлением ОС на базе Linux с Docker либо Python 3.11 и PostgreSQL 15;
- 1 ядро процессора, 1 ГБ оперативной памяти, 5 ГБ диска — для нагрузки до нескольких тысяч диалогов в сутки;
- с голосовым режимом — 2 ядра, 4 ГБ оперативной памяти и дополнительно 2 ГБ диска под речевые модели;
- доступ в сеть к сервису языковой модели GigaChat и к API используемых мессенджеров;
- внешний адрес с TLS-сертификатом — для приёма событий мессенджеров и работы виджета.