Сервис облегчает работу службы поддержки Rutube. При получении вопроса от пользователя вопрос классифицируется, формируется ответ, соответствующий базе знаний тех. поддержки Rutube. Предоставляемый ответ соотвествует критериям фактической точности, вежливости, и скорости формирования. Сервис интегрирован с телеграм-ботом, где сотрудник тех.поддержки модерирует предлагаемые ботом ответы. Необходимость осуществлять поиск по базе знаний и формулировать ответы самому для сотрудника отпадает, вследствие чего понижается нагрузка на службу поддержки и улучшается пользовательское взаимодействие с Rutube.
Ссылка на сервис: https://ml.rutube-help-admin.ru/predict
HTTP Request: Body { "question" : "Почему мое видео отображается с низким качеством на RuTube?" }
HTTP Response: Body { "answer" : "Ответ из БЗ", "class_1" : "Классификатор 1 уровня", "class_2" : "Классификатор 2 уровня", }
Помимо модели, мы предлагаем своё виденье её использования в виде совокупности сервисов. Это упростит задачу заказчикам по интеграции предлагаемой ml модели в имеющуюся инфраструктуру тех.поддержки Rutube, предоставив наглядный пример архитектуры решения, включающей интеграцию с телеграм ботом.
Наша ML-модель обрабатывает запрос в несколько этапов:
- Входной вопрос перефразируется 4 раза, чтобы охватить разные формулировки запроса.
- Для каждого перефразированного вопроса с помощью векторной базы данных FAISS извлекаются 2 наиболее подходящих фрагмента (чанка) из базы знаний.
- Все 8 найденных фрагментов сортируются по степени их релевантности к исходному вопросу.
- Полученные фрагменты используются в качестве контекста для генерации ответа через few-shot prompting, где модель учится на небольшом числе примеров.
- Модель синтезирует итоговый ответ в контексте на основе этих реарранжированных фрагментов, что повышает его точность и полноту.
Для запуска сервиса на локальной машине необходимо установить docker (для Windows: 'docker desktop', для Mac и Linux: 'docker').
- Зайдите на сервер, где хотите развернуть приложение, с помощью ssh
- Скачайте репозиторий с помощью $ git clone https://github.com/Auxxxxx/Loft_MISIS-digital_breakthrough_hack_2024
- Перейдите в корневую папку репозитория, в которой лежит файл docker-compose.yml
- Настройте доменные имена на ip вашего сервера, укажите их для сервисов springapi и ml в docker-compose.yml в labels, внутри скобок Host(). Пример: 'Host(
example.domain.com
)' ВАЖНО! имя домена пишется внутри знаков гравис `` вместо знаков одинарных кавычек '' - Запустите в консоли команду $ docker compose up -d
- Spring API будет доступно по указанному домену сразу после запуска, документация к нему находится в /swagger-ui/index.html
- ML сервис будет доступен по указанному домену через 10-15 минут после запуска