Skip to content

sarkarshrayan2-max/yt_buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YT Buddy

AI-Powered YouTube Learning Assistant

YT Buddy is an end-to-end AI application that transforms YouTube videos into interactive learning experiences. Users can generate intelligent summaries, chat with video content using RAG (Retrieval-Augmented Generation), translate summaries into multiple languages, and export results as PDFs. https://ytbuddy-learnaccordingtoyou.streamlit.app/


Features

Transcript Extraction

  • Extracts transcripts directly from YouTube videos.
  • Handles long-form educational videos and podcasts.

Intelligent Summarization

  • Direct summarization for short videos.

  • Map-Reduce summarization for long videos.

  • Generates:

    • Short Summary
    • Detailed Explanation
    • Key Takeaways
    • Important Concepts
    • Actionable Insights

Smart Chunking

  • Automatically detects transcript length.

  • Switches between:

    • Direct Processing
    • Chunk-Based Processing
  • Uses overlapping chunks to preserve context.

Chat With Video (RAG)

  • Ask questions about video content.

  • Uses:

    • Sentence Transformers
    • FAISS Vector Database
    • Groq LLM
  • Retrieves relevant transcript chunks before generating answers.

Translation Support

Translate summaries and answers into:

  • English
  • Hindi
  • Bengali
  • French
  • Spanish

PDF Export

Export:

  • Video Summary
  • Key Concepts
  • Chat History

Video Metadata

Displays:

  • Video Title
  • Channel Name
  • Publish Date
  • Duration
  • Thumbnail

Cloud Deployment

  • Streamlit Cloud Deployment
  • GitHub Actions CI/CD Pipeline

Architecture

YouTube URL
      ↓
Transcript Extraction
      ↓
Smart Chunking Engine
      ↓

Short Video?
      ↓
Direct Summary

Long Video?
      ↓
Chunking
      ↓
Map-Reduce Summarization

      ↓

FAISS Vector Store
      ↓
Question Answering (RAG)
      ↓
Groq LLM
      ↓
Answer Generation

RAG Pipeline

Transcript
      ↓
Chunking
      ↓
Embeddings
      ↓
FAISS
      ↓
Similarity Search
      ↓
Top-K Relevant Chunks
      ↓
Groq LLM
      ↓
Answer

Tech Stack

Frontend

  • Streamlit

LLM

  • Groq
  • Llama 3.1 8B Instant

NLP

  • Sentence Transformers
  • LangChain

Vector Database

  • FAISS

Data Processing

  • YouTube Transcript API
  • PyTube

PDF Generation

  • FPDF2

Deployment

  • Streamlit Community Cloud
  • GitHub Actions

⚙️ Installation

Clone the repository:

git clone https://github.com/sarkarshrayan2-max/yt_buddy.git
cd yt_buddy

Create a virtual environment:

python -m venv venv

Activate it:

Windows:

venv\Scripts\activate

Linux / Mac:

source venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Environment Variables

Create a .env file:

GROQ_API_KEY=your_groq_api_key

Run Locally

streamlit run app.py

Future Enhancements

  • Playlist Summarization
  • Timestamp-Based Citations
  • Multi-Video Knowledge Base
  • Audio Upload Support
  • User Authentication
  • Persistent Chat Memory
  • Advanced PDF Formatting
  • Support for More Languages

Author

Shrayan Sarkar

B.Tech – Electronics & Computer Science Engineering

Machine Learning & AI Enthusiast

GitHub: https://github.com/sarkarshrayan2-max

LinkedIn: Add your LinkedIn profile here


⭐ If you found this project useful, consider giving it a star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages