SummarizeAV / README.md
aazizisoufiane
format scripts
a9a8aac

A newer version of the Streamlit SDK is available: 1.45.0

Upgrade
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:

  1. Summarization: Generates concise summaries using advanced Natural Language Processing, powered by HuggingFace Transformers.
  2. Semantic Retrieval: Enables you to find specific words, phrases, or segments, thanks to Whisper Timestamped by Linto.
  3. 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

Setup and Installation

Setup and Installation

There are two methods to get the project up and running:

Method 1: Using Docker

  1. Clone the repository.
  2. Navigate to the project directory.
  3. Build the Docker image:
    docker build -t summarizer .
    
  4. Run the Docker container:
    docker run -p 8501:8501 summarizer
    
  5. Open your web browser and go to http://localhost:8501.

Method 2: Using Python Environment

  1. Clone the repository.
  2. Navigate to the project directory.
  3. Install the requirements:
    pip install -r requirements.txt
    
  4. Run the Streamlit app:
    streamlit run app.py
    
  5. Open your web browser and go to http://localhost:8501.

Using Python Environment

  1. Clone the repository.
  2. Navigate to the project directory.
  3. Install the requirements:
    pip install -r requirements.txt
    
  4. Run the Streamlit app:
    streamlit run app.py
    

Usage

  1. Open the Streamlit app in your web browser.
  2. Follow the instructions on the screen to upload or specify your audio/video content.
  3. 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.