Техническое описание платформы AutoFAQ Xplain
Общее описание системы
AutoFAQ — омниканальная платформа для интеллектуальной автоматизации поддержки клиентов и сотрудников, созданная на базе передовых технологий искусственного интеллекта. Разработанная командой выпускников МФТИ (резидент Сколково, аккредитованная IT-компания №6316), платформа входит в Реестр отечественного ПО под номером 7394 и обладает самым точным в мире интеллектуальным ядром для распознавания текста на небольших объемах данных.
Платформа успешно внедрена в более чем 50 организациях различных отраслей. Среди клиентов — МегаФон, МТС, Ростелеком, Альфа-Банк, Газпромбанк, М.Видео-Эльдорадо, РУСАЛ, система «Честный знак», SkyEng, Почта Банк, КРОК, PwC, Черкизово, ЮниПро, ВКонтакте, Фонд «Сколково» и другие ведущие российские компании. Общий объем обработки составляет свыше 5 миллионов запросов клиентов ежемесячно с достижением автоматизации до 87% обращений без участия операторов.
Платформа включает встроенный RPA-модуль и собственный DSL-язык для создания диалоговых сценариев.
Поддерживает интеграцию с внешними системами через REST, SOAP и SQL-запросы, включая возможность использования JavaScript для обработки данных.
Продуктовая линейка AutoFAQ Xplain:
Xplain (генеративный AI-ассистент) - модуль на базе генеративных нейросетей для работы с неструктурированными данными. Позволяет генерировать ответы на основе корпоративных документов за 5-10 секунд.
Xplain AI Copilot - персональный ИИ-ассистент операторов контакт-центра, экономящий до 20 часов в месяц на поиск информации и увеличивающий производительность операторов на 30%.
Xplain Sales - цифровой продавец-консультант для повышения конверсии в онлайн-продажах на 23% через персонализированные консультации в режиме 24/7.
Classify — интеллектуальный классификатор обращений, работающий по смыслу, а не по ключевым словам, с точностью до 98%.
Отличия Xplain от базовой платформы AutoFAQ:
Характеристика | AutoFAQ | AutoFAQ Xplain |
Метод ответа | Поиск готового ответа в базе знаний | Генерация нового ответа нейросетью на основе корпоративных данных |
Скорость ответа | ~1 секунда | от 5–10 секунд |
Требования к данным | Нужны примеры вопросов-ответов | Достаточно корпоративных документов в неструктурированном виде |
Объяснимость | Ответ из проверенной базы знаний | Ответ с ссылками на документы-источники |
Архитектура
Диаграмма модулей и компонентов, включая микросервисы:
Архитектурные принципы:
Микросервисная архитектура с оркестрацией на Docker и Linux
Проприетарная разработка без использования лицензируемого ПО третьих лиц
Открытое ПО на основе собственных разработок и ПО с открытым кодом
Масштабируемость: до 10 миллионов запросов к базам знаний в день
Отказоустойчивость: Kubernetes, Docker Swarm, 2 сервера / ВМ с балансировщиком (сервер в горячем резерве)
Rootless режим: поддерживается для Docker и Podman
Время отклика интеллектуального ядра: до 100 мс для AutoFAQ и до 5 секунд для Xplain
Развертывание: облачное и on-premise
Хранение данных:
postgresql — SQL СУБД для структурированных данных
redis — NoSQL СУБД, кэш и шина сообщений
elasticsearch — хранение логов и аналитики
clickhouse — колоночная СУБД для Big Data
nats — NATS JetStream, брокер сообщений
zookeeper — координатор для кластера ClickHouse
Файловые хранилища:
/opt/autofaq/nginx — файлы SSL сертификатов, и расширения конфигурации nginx
/opt/autofaq/postgresql — PostgreSQL data
/opt/autofaq/elasticsearch — Elasticsearch data
/opt/autofaq/redis — Redis data
/opt/autofaq/nats — NATS data
/opt/autofaq/bot-platform/storage — хранилище файлов из диалогов
/opt/autofaq/bot-platform/logs — логи
/opt/autofaq/account/doc_attachments — файловые вложения к документам БЗ
/opt/autofaq/account/snapshots — снимки БЗ для версионирования
/opt/autofaq/conductor — снимки опубликованных БЗ
/opt/autofaq/models — модели опубликованных БЗ
/opt/autofaq/porter — отчеты
Мониторинг и диагностика:
Предоставляются шаблоны, настройки и консультации для интеграции продукта AutoFAQ и Xplain с системами корпоративного мониторинга.
Модули и компоненты
В основе находится микросервисная архитектура с использованием Docker контейнеризации для оркестрации Kubernetes, Docker Swarm, Docker Compose.
Ingress TLS termination и маршрутизация входящего HTTP трафика на nginx server.
Хранение данных основано на Postgresql, Elasticsearch, Redis.
Для хранения файлов пользователей используется файловая система (mounted docker volume).
Контейнеры коммуникационной платформы:
bot-platform-nginx-router - точка входа для HTTP(S) трафика и маршрутизации входящих запросов (Web UI, REST API, асинхронные callback-webhooks для внешних каналов)
bot-platform-front - Web UI frontend приложения, включающая в себя рабочее место оператора, инструменты администраторов БЗ, аналитика отчетности, Web Widget и другой функционал платформы.
bot-platform-back - центральный backend, который реализует основную продуктовую бизнес-логику и взаимодействия всех ключевых компонентов платформы
bot-platform-porter - сервис для выгрузки истории запросов и рассылки писем (* в ближайших релизах его функция выгрузки истории запросов будет передана новому report-service)
report-service - сервис для формирования отчетов и дашбордов
db-adapter - микросервис для выполнения SQL-запросов к СУБД PostgreSQL, MySQL, MSSQL заказчика из диалоговых и интеграционных сценариев.
адаптеры каналов коммуникации:
bot-platform-email-adapter (электронная почта)
bot-platform-widget-adapter (веб-чат)
bot-platform-express-adapter (Express messenger)
bot-platform-vk-adapter (ВКонтакте)
адаптеры для WhatsApp, Slack, MS Teams, Instagram, Skype for Business
Контейнеры баз знаний и NLU:
account - CRUD API к базам знаний на основе PostgreSQL (используется платформой и доступен для внешних интеграций)
observer - управление обучением, публикацией, импортом-экспортом БЗ, наполнение из внешних источников, а также задачами для обучения и обновления кэша моделей.
conductor - обеспечивает QNA API (вопросно-ответное и диалоговое API) к опубликованным БЗ (используется платформой и доступен для внешних интеграций)
engine - сопоставление вектора входящего запроса и векторов документов из опубликованных БЗ (NLU сервис)
embedder, embedder-laser, embedder-use, embedder-e5 - сервисы векторизации текстов
spellchecker - исправление орфографических ошибок
Контейнеры AutoFAQ Xplain:
llm - контейнер с языковой моделью (GPU)
llm-router - маршрутизация запросов к языковой модели
embedder-e5 - векторизация текстов для Xplain
Контейнеры хранилищ данных:
· postgresql - основная реляционная СУБД
· redis - кэш и брокер сообщений
· elasticsearch - поиск и аналитика
· clickhouse - аналитическая СУБД
· nats - брокер сообщений
· zookeeper - координация ClickHouse
Требования для развертывания системы AutoFAQ
Минимальные технические требования:
Сценарий установки | Рекомендуемые требования к ресурсам при нагрузке до 100000 диалогов в месяц или 5000000 запросов к API баз знаний | Точки монтирования файловых томов |
1 ВМ с PostgreSQL и ClickHouse | 8 vCPU, 48 GB RAM, 600 GB SSD | 200 GB /var |
Тестовая среда | 4 vCPU, 48 GB RAM, 200 GB SSD | 100 GB /var |
Требования к программному обеспечению
Операционная система: Linux (гарантируется работа на дистрибутивах Debian и Redhat)
Контейнеризация: docker, docker-compose
postgres версией ≥ 14
clickhouse версией ≥ 24.9.2
redis версией ≥ 6
nats версией ≥ 2.10.14
Дополнительные пакеты: python3, curl
Для тестирования: python3 (опционально)
SSL certificates
Для HTTPS требуется DNS запись для IP сервера приложения и SSL сертификат к нему
В SSL сертификате домен должен быть помимо CN указан также в SAN "DNS names" иначе без SAN браузер Chrome откажется принять SSL сертификаты
Создать SSL CSR и ключ можно на https://certificatetools.com/
SMTP сервер
SMTP интеграция с корпоративным почтовым сервисом используется для подтверждения регистрации, восстановления пароля и рассылки уведомлений пользователям.
Для интеграции требуется учетная запись системы в корпоративном SMTP сервисе.
LDAP/Active Directory (SSO)
Операторы, супервизоры и администраторы системы:
SAML SSO - интеграция с корпоративными системами идентификации для единого входа операторов и администраторов в Web UI платформы
Active Directory + Kerberos - аутентификация в корпоративном домене
Пользователи каналов коммуникации:
LDAP идентификация - автоматическое определение пользователей в корпоративных каналах связи
Keycloak + SAML SSO \ Active Directory + Kerberos для Web Widget - современная система управления идентификацией и бесшовная авторизация пользователей веб-чата через корпоративные учетные записи
Требования для развертывания системы AutoFAQ Xplain
GPU требуется исключительно для модуля генеративного ИИ AutoFAQ Xplain.
Минимальные технические требования:
Сценарий установки | Рекомендуемая конфигурация для нагрузки до 100000 диалогов в месяц |
1 ВМ/сервер с AutoFAQ и модулем Xplain |
- 2x NVIDIA H100 80 GB - 2x NVIDIA RTX PRO 6000 96 GB Blackwell Workstation Edition - 4x NVIDIA L40 48 GB (4 GPU на одной ВМ или по 2 GPU на 2 ВМ) Минимальная конфигурация: |
2 ВМ/сервера | Для AutoFAQ:
Для модуля Xplain:
- 2x NVIDIA H100 80 GB - 2x NVIDIA RTX PRO 6000 96 GB Blackwell Workstation Edition - 4x NVIDIA L40 48 GB (4 GPU на одной ВМ или по 2 GPU на 2 ВМ) Минимальная конфигурация: |
Сетевые требования к GPU-серверу (LLM_HOST):
«1 ВМ/сервер с AutoFAQ и модулем Xplain»: не требуется дополнительных сетевых настроек.
«2 ВМ/сервера: «MAIN_HOST=AutoFAQ \ LLM_HOST=Xplain»: требуется открыть от/до сервера / виртуальной машины / k8s пространства с контейнерами AutoFAQ:
порты TCP 8847, 8848 (протокол HTTP) необходимо открыть на LLM_HOST для доступа из MAIN_HOST (от engine docker service к llm и embedder-e5 docker service);
порт TCP 6379 (REDIS_PORT) необходимо открыть на MAIN_HOST для доступа из LLM_HOST (от embedder-e5 docker service к redis docker service);
в конфигурации docker-compose.yml используются переменные:
LLM_EMBEDDER_PORT=8847
LLM_PORT=8848
LLM_EMBEDDER_HOST=LLM_HOST
Требования к программному обеспечению
Для модуля AutoFAQ Xplain необходимые драйвера и приложения для установки на выделенной машине:
docker версией ≥ 27.3.1
docker-compose версией ≥ 2.22.0
nvidia-drivers — последняя версия для установленной видеокарты, скаченная с https://www.nvidia.com/en-us/drivers/
nvidia-container-toolkit — последний релиз, скаченный с https://github.com/NVIDIA/nvidia-container-toolkit/releases :
libnvidia-container1_${VERSION}_amd64
libnvidia-container-tools_${VERSION}_amd64
nvidia-container-toolkit-base_${VERSION}_amd64
nvidia-container-toolkit_${VERSION}_amd64
python версией ≥ 3.8
Сетевое взаимодействие
Внешние порты:
HTTP 80 — Web UI & API
HTTPS 443 — Web UI & API
Порты администрирования:
HTTP 9200 — Elasticsearch
HTTP 5601 — Kibana UI
TCP 5432 — PostgreSQL
TCP 6379 — Redis
HTTP 8222 — NATS
Внутренние порты AutoFAQ Xplain:
TCP 8847 — embedder-e5 (векторизация текстов)
TCP 8848 — llm (языковая модель)
Требования к сетевой связности для загрузки дистрибутив\обновлений AutoFAQ:
https://docker.autofaq.ai — AutoFAQ
https://artifacts.autofaq.ai — AutoFAQ
https://harbor.autofaq.ai — Xplain
Технологический стек
Языки программирования:
JVM Scala — core-логика, backend
Python — модули машинного обучения, интеграции
JavaScript/TypeScript — frontend и скрипты
Фреймворки и библиотеки:
Backend: jvm\scala
Frontend: react.js, next.js
Python: asyncio, aiohttp, sqlalchemy, gunicorn, flask
ML/NLP: scikit-learn, scipy, nltk, fasttext, gensim, pytorch, tensorflow
Утилиты: marisa_trie, jamspell, cython
Системы хранения данных:
PostgreSQL — основная реляционная СУБД
Redis (KeyDB) — кэш и брокер сообщений
Elasticsearch — полнотекстовый поиск и аналитика
ClickHouse — аналитическая колоночная СУБД
NATS JetStream — брокер сообщений и очереди
Инфраструктура:
Контейнеризация: Docker, Docker Compose
Оркестрация: Kubernetes, Docker Swarm
Веб-сервер: Nginx (TLS termination, маршрутизация)
Операционная система: Linux (Debian, RedHat)
NLP модули:
Исправление опечаток - автоматическая коррекция текста
Лемматизатор - приведение слов к нормальной форме
Векторизатор запросов - семантическое представление
Словарь синонимов - расширение понимания
Классификатор - ядро, которое использует все предыдущие модули. Этот модуль проводит классификацию запроса или находит ответ на запрос. В системе есть как модели для работы с малым количеством данных, так и модели, основанные на технологиях глубокого обучения нейронных сетей для большого количества данных
Генератор ответов - LLM для AutoFAQ Xplain
Интеграционные возможности:
DSL-язык - встроенный язык создания диалоговых сценариев
RPA-модуль - интеграция с внешними системами
REST/SOAP API - интеграция с корпоративными системами
SQL-запросы - прямые запросы к СУБД (PostgreSQL, MySQL, MSSQL)
JavaScript - выполнение кода в сценариях