Skip to content

Krishiv1611/SummarizeYou

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 SummarizeYou — YouTube RAG Chatbot

🧠 An AI-powered YouTube assistant that summarizes, answers questions, and chats with any video — directly from YouTube!

License Python FastAPI LangChain


🚀 Overview

SummarizeYou is a sophisticated Chrome Extension and Backend system that allows you to have a conversation with any YouTube video. It uses RAG (Retrieval-Augmented Generation) to fetch video transcripts, understand the context, and provide accurate answers to your questions.

Whether it's a 3-hour lecture or a quick tutorial, SummarizeYou helps you extract key insights in seconds.


✨ Key Features

  • 🎥 Chat with Any Video: Ask questions and get instant answers based on the video content.
  • 🌍 Multi-Language Support: Works with videos having English or Hindi captions (auto-generated included!).
  • 🧠 Advanced RAG Pipeline: Uses LangChain and ChromaDB to retrieve the most relevant parts of the transcript (up to 20 chunks!) for accurate context.
  • ⚡ Blazing Fast AI: Powered by Groq (Llama 3.3 70B) for near-instant responses.
  • 🎨 Classy UI: A premium, glassmorphic Chrome Extension design with smooth animations and a dark mode aesthetic.
  • 💾 Persistent Chat History: Your conversations are saved locally, so you never lose context when switching tabs.

🏗️ Tech Stack

🧩 Backend

  • Framework: FastAPI
  • LLM: Llama 3.3 70B (via Groq API)
  • Embeddings: HuggingFace (all-MiniLM-L6-v2)
  • Vector Store: ChromaDB
  • Orchestration: LangChain
  • Transcripts: youtube-transcript-api

🌐 Frontend

  • Type: Chrome Extension (Manifest V3)
  • Styling: Custom CSS with Glassmorphism & Animations
  • Font: 'Outfit' (Google Fonts)
  • State Management: Chrome Storage API

🛠️ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/Krishiv1611/SummarizeYou.git
cd SummarizeYou

2️⃣ Backend Setup

Navigate to the backend folder and set up the Python environment.

cd backend
python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
# source venv/bin/activate

pip install -r requirements.txt

Configure Environment Variables: Create a .env file in the backend/ directory:

GROQ_API_KEY=your_groq_api_key_here
HUGGINGFACEHUB_API_TOKEN=your_huggingface_token_here
MODEL_NAME=llama-3.3-70b-versatile

Run the Server:

uvicorn main:app --reload

The server will start at http://127.0.0.1:8000

3️⃣ Frontend Setup (Chrome Extension)

  1. Open Google Chrome and go to chrome://extensions/.
  2. Toggle Developer mode (top right corner).
  3. Click Load unpacked.
  4. Select the frontend/ folder from this repository.
  5. Pin the SummarizeYou icon 🎬 to your toolbar.

💡 How to Use

  1. Open YouTube: Navigate to any YouTube video you want to analyze.
  2. Click the Extension: Click the SummarizeYou icon in your toolbar.
  3. Start Chatting:
    • The extension automatically detects the video URL.
    • Type a question like "Summarize this video" or "What are the key takeaways?".
    • The AI will process the transcript (English or Hindi) and answer instantly.
  4. Context Aware: The chatbot remembers your conversation context for that specific video.

📂 Project Structure

SummarizeYou/
├── backend/
│   ├── main.py              # FastAPI entry point
│   ├── config.py            # Configuration & Env vars
│   ├── routes/              # API Endpoints (Chat, YouTube)
│   ├── utils/               # RAG logic, Embeddings, Transcript fetching
│   ├── data/                # Local storage for Transcripts & Vector DB
│   └── requirements.txt     # Python dependencies
│
├── frontend/
│   ├── manifest.json        # Extension configuration
│   ├── popup.html           # Extension UI
│   ├── popup.js             # Logic & API communication
│   ├── styles.css           # Glassmorphic styling
│   └── icons/               # App icons
│
└── README.md                # Documentation

🔒 Privacy & Security

  • Local Data: Transcripts and vector embeddings are stored locally on your machine in the backend/data/ directory.
  • API Keys: Your API keys are stored in .env and are never committed to version control.
  • No External Tracking: The extension only communicates with your local backend server.

📜 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute!


Made with ❤️ by Krishiv Arora

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published