Разработать чат-бот для контакт-центра (только с релевантным опытом)

Цена договорная
26 сентября 2023, 11:45 • 5 откликов • 89 просмотров
Ниже описаны основные пункты технического задания:
1. Требования к фронтенду
2. Требования к админке
3. Требования к API
4. ...

Требования к фронтенду:
  1. Чат-бот виджет, который нужно разместить на главной страничке компании с возможностью задавать цвета подходящие бренду компании.
  2. По фреймворку - желательно VueJS, но не обязательно, можно на чистом JS.
  3. Основное описание:
    1. При открытии главной страницы должен появляться js-скрипт, открываться виджет с сообщением: “{{шаблонное_сообщение_приветствия}}” (сообщения запрашиваются с API).
    2. При вводе сообщения пользователя - виджет должен предложить пользователю авторизоваться, чтобы продолжить (ввести имейл, либо номер телефона и имя).
    3. После ввода данных для авторизации - должен идти запрос на бэк для генерации айдишника сессии, если у фронта нет в Локал сторейдж айдишника сессии, если есть айди сессии, то подгружаться история, если айди тот же, что в бд на бэке.
    4. Также после авторизации подключается к вебсокету либо отправляет с периодичностью пинг-сообщение, чтобы бэк понимал, что пользователь “онлайн”.
Требования к админке:

  1. Фронтенд для отображения сессий пользователей, с историей и возможностью отвечать на сообщения пользователей “онлайн”.
  2. Фреймворк - VueJS, Vuetify (быстро пилить, легко поддерживать).
  3. Общение с бэкендом по API.
  4. Требования к функционалу:
    1. Отображения сессий пользователей
    2. Отображение историей сообщений и возможностью отвечать на сообщения пользователей “онлайн”.
    3. Возможность конфигурировать шаблонные сообщения для виджета.
Требования к API:

  1. API - для общения внешних сервисов с бэкендом (главный внешний сервис - чат-бот виджет).
  2. Язык Python, асинхронные фреймворки (FastAPI напр).
  3. Решение должно быть масштабируемым* (описание ниже).
  4. Основные требования к функционалу:
    1. Авторизация для виджета (матч по номеру телефона или почте и найди сессии, если передан, если нет, то генерация нового)
    2. Авторизация для пользователей админ панели (менеджеров).
    3. Вывод статистики по запросам из виджетов.
    4. Вывод сессий и истории сообщений.
    5. Отображение “онлайн” сессий.
    6. Интеграция с “AI помощником”** (описан ниже).
Требования к AI помощнику:

  1. Сервис написанный нашей командой, который умеет делать запросы в БД и выдавать осмысленную информацию.
  2. Язык Python.
  3. Общение с этим сервисом через RabbitMQ.
  4. Обертка нашего функционала в отдельный сервис, который принимает сообщения из очереди и отправляет их обратно.
Общее требование к решению:

  1. К решению должно быть инструкция к локальному запуску, описаны все переменные окружения.
  2. Решение должно быть упаковано в Docker-контейнеры, должен быть подготовлен docker-compose файл для запуска.
  3. Не обязательно, но будет лучше, если будут UML-диаграммы последовательностей для общего понимания процессов.
  4. Возможность масштабирования бэкенд-сервисов путем увеличения воркеров gunicorn\uvicorn.