Ever wished you could ask a long YouTube lecture a question or get a quick summary of a tutorial without scrubbing through the timeline? This project transforms YouTube videos into interactive conversational partners.
Simply provide a video URL and start asking questions. Get answers that are sourced directly from the video's content, ensuring accuracy and relevance.
This application uses a Retrieval-Augmented Generation (RAG) architecture to let you chat with the content of any YouTube video. It was built as a hands-on exploration to master the core components of modern AI systems: from ingesting documents and creating vector embeddings to performing similarity searches and prompting LLMs with grounded, contextual information. The goal was to build a system that relies on a specific knowledge base (the video) rather than just its pre-trained data.
This project is built with a modern, efficient tech stack:
-
π§ Core Logic:
- Architecture: Retrieval-Augmented Generation (RAG)
- LLM & Embeddings: Google Gemini API & Google Embeddings
-
βοΈ Backend Engine:
- Framework: FastAPI
- Server: Uvicorn
-
π₯οΈ User Interface:
- Framework: Streamlit
-
π Knowledge Base:
- Vector Store: FAISS (Facebook AI Similarity Search)
- β Seamless Content Ingestion: Just drop a YouTube URL to get started.
- β Conversational Q&A: Ask questions in natural language.
- β Grounded Answers: Responses are based only on the video's content, preventing off-topic answers.
- β On-the-Fly Processing: Process videos and start chatting almost instantly.
βοΈ Important: This project is designed for Python versions 3.8 to 3.13. We recommend using python3.13 for best compatibility.
git clone https://github.com/Bhr-007/Talk-to-tube.gitcd Talk-to-tube- Generate an API Key π Here.
- Add it to your .env file:
echo 'GOOGLE_API_KEY="[YOUR-API-KEY-HERE]"' >> .envpip install -r requirements.txtuvicorn backend.main:app --reloadstreamlit run frontend/streamlit_app.py