An open API service indexing awesome lists of open source software.

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.

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