https://github.com/sayed-ashfaq/youtuberag-app
A powerful GenAI application that summarizes YouTube videos and answers questions based on video content using LLMs, embeddings, and semantic search. Built using LangChain, Gemini Pro, ChromaDB, and deployed with Flask.
https://github.com/sayed-ashfaq/youtuberag-app
Last synced: 11 months ago
JSON representation
A powerful GenAI application that summarizes YouTube videos and answers questions based on video content using LLMs, embeddings, and semantic search. Built using LangChain, Gemini Pro, ChromaDB, and deployed with Flask.
- Host: GitHub
- URL: https://github.com/sayed-ashfaq/youtuberag-app
- Owner: sayed-ashfaq
- Created: 2025-07-06T10:47:02.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-06T12:08:15.000Z (about 1 year ago)
- Last Synced: 2025-08-17T06:34:22.378Z (12 months ago)
- Language: Python
- Homepage:
- Size: 573 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐บ YouTube Summarizer & QnA using GenAI (RAG Pipeline)
A powerful GenAI application that **summarizes YouTube videos** and answers questions based on video content using **LLMs, embeddings, and semantic search**. Built using **LangChain**, **Gemini Pro**, **ChromaDB**, and deployed with **Flask**.
---
## ๐ Features
- ๐ **YouTube Transcript Extraction** โ Automatically pulls transcripts from any YouTube video.
- ๐ง **RAG Pipeline (Retrieval-Augmented Generation)** โ Uses vector search + LLMs to provide accurate, context-aware answers.
- ๐งพ **Summarization + Q&A** โ Ask any question about the video or request a summary.
- ๐พ **Persistent Memory** โ Stores vectorized chunks in ChromaDB using unique hashes.
- ๐ **Flask REST API** โ Backend ready for integration into web apps or platforms.
---
## ๐ง How It Works
1. **Load Transcript** from a YouTube video using `YoutubeLoader`.
2. **Split Transcript** into chunks using `RecursiveCharacterTextSplitter`.
3. **Generate Embeddings** using `GoogleGenerativeAIEmbeddings`.
4. **Store & Search** chunks using `Chroma` vector database.
5. **Query** through a `RetrievalQA` or `RetrievalChain` powered by Gemini Pro and LangChain.
6. **Respond** in a friendly tone customized for young learners using prompt templates.
---
## ๐งช Example Usage
```bash
python app.py