Skip to content

Latest commit

Β 

History

History
145 lines (108 loc) Β· 4.84 KB

File metadata and controls

145 lines (108 loc) Β· 4.84 KB

🎬 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