Приложение для оценки соответствия продаж скрипту с использованием видеопотока. Анализируется видео и проверяются определенные действия продавца в соответствии с заданным скриптом. Результаты анализа возвращаются в виде отчета.
GitHub: https://github.com/EgorLozh/FPA_NLP
Для настройки приложения используйте файл .env
с переменными окружения:
REBBIT_USER=rmuser
REBBIT_PASSWORD=rmpassword
REBBIT_HOST=rabbitmq
REBBIT_PORT=15672
AMQP_PORT=5672
REBBIT_CONSUME_QUEUE=consume_queue
REBBIT_PUBLISH_QUEUE=publish_queue
Для запуска и управления приложением доступны следующие основные команды Makefile:
make all # запустит оба контейнера (приложение и брокер сообщений).
make app # запустит только контейнер с приложением.
make down # остановит и удалит все контейнеры.
Приложение ожидает входное сообщение в брокере в следующем формате:
{
"type": "request",
"data": {
"id": "12345",
"video": {
"url": "https://drive.google.com/file/d/1FrI5WEzdrp-tZom3xWmJJ2SDdSMTZMt2/view?usp=sharing"
},
"actions": [
{
"text": "Продавец поздоровался",
"weight": 10
},
{
"text": "продавец смог продать акции",
"weight": 50
},
{
"text": "продавец был вежливым",
"weight": 30
},
{
"text": "продавец попрощался",
"weight": 10
}
]
}
}
Сервис возвращает сообщение в брокер в следующем формате:
{
"type": "report",
"data": {
"request_id": "12345",
"total_score": 50,
"actions": [
{
"text": "Продавец поздоровался",
"weight": 10,
"check": false
},
{
"text": "продавец смог продать акции",
"weight": 50,
"check": true
},
{
"text": "продавец был вежливым",
"weight": 30,
"check": false
},
{
"text": "продавец попрощался",
"weight": 10,
"check": false
}
]
}
}