Spaces:
Runtime error
Runtime error
A newer version of the Streamlit SDK is available:
1.45.0
metadata
title: Audio and Video Content Analyzer
emoji: π₯
colorFrom: blue
colorTo: green
sdk: streamlit
python_version: '3.8'
sdk_version: 1.27.2
app_file: app.py
pinned: false
Summarize Audio and Video with Semantic Retrieval, Chatbot, and LLM
Description
This project is an all-in-one solution for audio and video content analysis:
- Summarization: Generates concise summaries using advanced Natural Language Processing, powered by HuggingFace Transformers.
- Semantic Retrieval: Enables you to find specific words, phrases, or segments, thanks to Whisper Timestamped by Linto.
- Chatbot Interface: Features a chatbot that can answer queries about the audio or video content, leveraging Language Models for Machines (LLM).
The project is built using Python and integrates various libraries including Whisper Timestamped, HuggingFace Transformers, and Streamlit for a seamless user experience.
Project Structure
.
βββ Dockerfile # Dockerfile for setting up the environment
βββ LICENSE # License file
βββ README.md # This README file
βββ YoutubeAudios # Directory containing YouTube audio files
βββ _requirements.txt # Requirements file
βββ app.py # Streamlit application file
βββ config.py # Configuration file
βββ keyword_retriever # Module for keyword retrieval
β βββ keyword_retreiver.py # Keyword retriever script
βββ logger.py # Logging utility
βββ notebooks # Jupyter notebooks for development and testing
βββ pdf_test.py # PDF testing script
βββ query_service # Query service module
β βββ query_engine.py # Query engine script
βββ requirements.txt # Requirements file
βββ resource_loader # Resource loader module
β βββ json_loader.py # JSON loader script
β βββ linkedin_loader.py # LinkedIn loader script
β βββ uploaded_video_loader.py # Uploaded video loader script
β βββ video_loader_interface.py# Video loader interface script
β βββ youtube_loader.py # YouTube loader script
βββ summarization_service # Summarization service module
β βββ summarizer.py # Summarizer script
βββ transcription_service # Transcription service module
β βββ transcriber.py # Transcriber script
βββ utils.py # Utility functions
Prerequisites
- Python 3.8+
- Docker (optional)
Built With
- Llama_index Framework for LLM application
- Whisper Timestamped - For semantic retrieval and timestamping
- HuggingFace Transformers - For summarization and NLP
- Streamlit - For the web interface
Setup and Installation
Setup and Installation
There are two methods to get the project up and running:
Method 1: Using Docker
- Clone the repository.
- Navigate to the project directory.
- Build the Docker image:
docker build -t summarizer .
- Run the Docker container:
docker run -p 8501:8501 summarizer
- Open your web browser and go to
http://localhost:8501
.
Method 2: Using Python Environment
- Clone the repository.
- Navigate to the project directory.
- Install the requirements:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
- Open your web browser and go to
http://localhost:8501
.
Using Python Environment
- Clone the repository.
- Navigate to the project directory.
- Install the requirements:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
Usage
- Open the Streamlit app in your web browser.
- Follow the instructions on the screen to upload or specify your audio/video content.
- Click "Submit" to generate a summary, perform semantic retrieval, or interact with the chatbot.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.