Этот проект представляет собой Telegram-бота, который предоставляет пользователям краткие обзоры и комментарии к спортивным матчам в режиме реального времени. Бот автоматически загружает видео матча, транскрибирует аудио, генерирует сводку событий и поддерживает общение с пользователем, предоставляя ему детальную информацию о ходе игры.
- Автоматическая загрузка видео: Загружает видео спортивного матча из интернета по запросу пользователя.
- Транскрибация аудио: Использует модель GigaAM STT PFNTV для преобразования аудио из видео в текст, что позволяет анализировать и комментировать матч.
- Генерация сводки матча: Генерирует краткое описание ключевых событий матча с помощью языковой модели (LLM).
- Интерактивное обсуждение: Позволяет пользователям вести диалог с ботом, обсуждая конкретные моменты и задавая вопросы о матче. Бот дает ответы с учетом контекста.
- Контекстная осведомленность: Использует Retrieval-Augmented Generation (RAG) для извлечения и учета контекста, позволяя боту использовать релевантную информацию во время общения с пользователем.
Бот работает на базе нескольких компонентов:
- Языковая модель (LLM): Модель Gemma используется для генерации кратких и точных описаний и ответов, делая комментарии понятными и увлекательными.
- Транскрибация (GigaAM STT PFNTV): Распознавание речи помогает боту преобразовывать аудио комментарии из видео в текст для дальнейшего анализа и генерации комментариев.
- Очередь сообщений (RabbitMQ): Обеспечивает эффективную асинхронную обработку задач, таких как загрузка видео, транскрибация и генерация сводок, что позволяет добиться масштабируемости и надежности.
- Взаимодействие с пользователем через Telegram: Пользователи отправляют запрос на комментарий к матчу через интерфейс Telegram-бота.
- Загрузка видео: Бот скачивает видео матча из внешнего источника в зависимости от запроса.
- Преобразование речи в текст: Аудио из загруженного видео транскрибируется с использованием модели GigaAM STT PFNTV.
- Генерация сводки: Текст транскрипции передается модели Gemma LLM, которая создает краткий, удобочитаемый обзор основных событий матча.
- Интерактивный чат: Благодаря RAG бот сохраняет контекст на протяжении всего взаимодействия с пользователем, что позволяет давать детализированные ответы и обсуждать конкретные моменты матча.
- Python 3.8+
- RabbitMQ Server
- GigaAM STT PFNTV для распознавания речи
- Gemma LLM для обработки языка