AutoFAQ.ai – умный Help Desk для роботизации поддержки клиентов и сотрудников с помощью вопросно-ответных и диалоговых систем на основе технологий искусственного интеллекта. Платформа внедрена в Райффайзен банке, Альфа банке, Мегафоне, Черкизово, ЮниПро, PwC и Дикси. Обрабатывает более 5 000 000 запросов клиентов в месяц, в т.ч. SkyEng, 585 золотой, Почта банк, КРОК, МВидео (поддержка розничной сети и HR). С 1 июля 2019 года обеспечивает роботизацию поддержки "1С" через партнерство с компанией "1С-Коннект".
AutoFAQ.ai - это проприетарная разработка без использования лицензируемого ПО третьих лиц, на основе ПО с открытым кодом и собственных разработок. В основе находится микросервисная архитектура с оркестрацией на Docker и Linux.
Система хранения данных реализована на основе: Postgresql, Elasticsearch и Redis.
Фронт и бэкенд разработан с использованием следующих технологий: JVM, Scala, AKKA, React.js, Angular, jQuery, Bootstrap, Python, Git.
Используемые среды и фреймворки: asyncio, aiohttp, sqlalchemy, gunicorn, flask, scikit-learn, scipy, nltk, marisa_trie, fasttext, gensim, aiohttp-sentry, jamspell, cython, pytorch и pytorch-lightning
В системе присутствуют следующие NLP модули:
Spellchecker
Lemmatizer & POS tagger
Word Embedder
Synonyms Dictionary
Classifier - ядро, которое использует все предыдущие модули. Этот модуль проводит классификацию запроса или находит ответ на запрос. В системе есть как модели для работы с малым количеством данных, так и модели, основанные на технологиях глубокого обучения нейронных сетей для большого количества данных.
Модели, их комбинация и гиперпараметры подбираются автоматически (auto ML) под каждый датасет и Заказчика.
Возможности интеграции
Система имеет встроенный язык создания диалоговых сценариев (DSL), который позволяет осуществлять интеграции с внешними системами, получение и отправку информации в ходе диалогов.
Система предоставляет API как для подключения внешних каналов коммуникации (например, мобильного приложения или внешних чат ботов), так и для работы напрямую с базами знаний и классификаторами на основе машинного обучения.
Документация доступна по ссылке
Внутренняя микросервисная архитектура AutoFAQ (укрупненно)
Сайзинг решения
Минимальные технические требования к системе приведены ниже, с их учетом и с учетом одновременной работы до 100 операторов в системе, AutoFAQ готов обработать следующее количество диалогов:
| Максимальная нагрузка, диалогов суммарно по всем каналам | |
| всего (операторы + бот) | в т.ч на операторов |
В час | 2000 | 1200 |
В день | 50 000 | 20 000 |
В месяц | 1 000 000 | 600 000 |
При превышении нагрузки на 30%-50% работоспособность системы сохраняется, но увеличивается время отклика при работе с интерфейсом.
При превышении нагрузки на 50% и более рекомендуется установка дополнительного аналогичного набора серверов и балансировщика нагрузки.
Минимальные технические требования
Возможно реализовать резервирование AutoFAQ за счет балансировщика нагрузки в целях повыщения надежности работы системы. Подробное архитектурное описание решения высокой доступности разрабатывается отдельно под Заказчика.
Продуктивный сервер AutoFAQ (2 шт):
Процессор - не слабее чем CPU E5-2686 v4 @ 2.30GHz (4 ядра 8 потоков),
Оперативная память - не менее чем 32Gb RAM,
Хранилище - SSD диск, объем 400 GB.
Тестовый сервер:
Процессор - не слабее чем CPU E5-2686 v4 @ 2.30GHz (4 ядра 8 потоков),
Оперативная память - не менее чем 16Gb RAM,
Хранилище - HDD диск, объем 100 GB.
Требования к ПО:
ОС Linux основанные на дистрибутивах Debian или Redhat - Ubuntu 18 или Linux CentOS 7, RHEL 7 и выше.
База данных (включена в поставку): СУБД PostgreSQL.
Требования к развертыванию
ОС
Возможна работа на любой ОС где есть docker runtime.
Необходим терминальный доступ с правами администратора на предоставленные сервера.
Для работы необходимы пакеты python3 python3-pip docker docker-compose либо доступ к корпоративным либо публичным репозиториям для их установки в ОС:
Загрузка дистрибутива
Для скачивания дистрибутива и обновлений необходим доступ к адресам
DNS
Нужно выпустить SSL сертификаты и две DNS записи для Appserver IP.
Примеры DNS имен:
Интеграции
Для рассылки приглашений, уведомлений и смены паролей необходима учетная запись системы в корпоративном SMTP email server.
Первоначальное развертывание
Руководство администратора по развертыванию и настройке доступно по запросу для партнеров и клиентов в виде готовых скриптов и шаблонов конфигураций в репозитории https://gitlab.com/deephacklab/descent
yum install -y python3 python3-pip docker pip3 install -y docker-compose # https://gitlab.com/deephacklab/descent/blob/master/docker-compose.yml docker login -u login -p secret docker.autofaq.ai docker-compose -f docker-compose.yml up -d
Обновления
Обновления поставляются как новые версии микросервисов в виде образов из репозитория docker registry https://docker.autofaq.ai. Репозиторий открыт для клиентов, некоторые клиенты сами обновляют систему. Механизм скачивания встроен в ядро docker (транспорт - защищенное соединение - HTTPS GET)
Процесс обновлений прост:
Обновление номера версий компонент в файле переменных для
docker-compose.yml
(https://gitlab.com/deephacklab/descent/blob/master/.env )Скачивание и установка обновлений из репозитория
docker.autofaq.ai
docker login -u clientuser -p secret docker.autofaq.ai docker-compose -f docker-compose.yml pull docker-compose -f docker-compose.yml up -d