Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎥 VideoMind AI : YouTube Knowledge Base & RAG Assistant

VideoMind AI is a full-stack AI-powered research assistant that transforms any YouTube video into an interactive, searchable knowledge base.

Simply paste a YouTube URL and VideoMind AI automatically:

  • 🎬 Extracts video transcripts
  • 🧠 Generates semantic vector embeddings using FAISS
  • 💬 Lets users chat with the video using Retrieval-Augmented Generation (RAG)
  • 📚 Shows source citations for every AI response
  • ⚡ Built with FastAPI, LangChain, OpenAI, React, Vite and TailwindCSS

🚨 Deployment Notice

The application is fully functional and can be run locally.

This repository does not include a live public deployment because of YouTube's anti-bot protection, not because of any limitation in the application itself.

When deployed on public cloud platforms such as Render, Vercel, Railway, or similar providers, YouTube frequently blocks requests originating from datacenter IP addresses.

Typical errors include:

  • Sign in to confirm you're not a bot
  • This request has been blocked
  • Use cookies for authentication
  • IP temporarily blocked
  • Rate limited by YouTube

This is a well-known operational challenge for applications that fetch YouTube content from server-side environments.

To run this application reliably for public users, production deployments typically require one or more of the following:

  • Residential or rotating proxy infrastructure
  • Authenticated YouTube cookies
  • Trusted IP addresses
  • Proxy rotation
  • Continuous monitoring and maintenance

These services introduce recurring infrastructure costs, which are outside the scope of this portfolio project.

For that reason, I intentionally chose to keep this project as a fully functional local application while open-sourcing the complete codebase.

Everything required to run the project locally is included below.


🎥 Project Walkthrough

A complete walkthrough of the application is available below.

📹 Demo Video

Screen.Recording.2026-08-07.at.7.36.53.PM.mov

The demo covers:

  • Project Overview
  • FAISS Vector Index Creation
  • RAG Pipeline
  • Semantic Search
  • Chat Interface
  • Source Citations
  • Local Setup
  • Production Deployment Considerations

🏗️ Project Architecture

VideoMindAI/
├── app/
│   ├── main.py
│   ├── config.py
│   ├── schemas.py
│   ├── routers/
│   │   └── video.py
│   └── services/
│       ├── youtube_service.py
│       └── rag_service.py
│
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   ├── services/
│   │   ├── App.jsx
│   │   └── main.jsx
│   ├── package.json
│   ├── vite.config.js
│   └── tailwind.config.js
│
├── requirements.txt
├── .env.example
├── README.md
└── ...

🚀 Features

  • 🎥 YouTube Transcript Extraction
  • 🧠 Retrieval-Augmented Generation (RAG)
  • 🔍 Semantic Search using FAISS
  • 🤖 OpenAI LLM Integration
  • 📚 Source Citation Support
  • ⚡ FastAPI Backend
  • ⚛️ React + Vite Frontend
  • 🎨 TailwindCSS UI
  • 📄 Transcript Search
  • 📊 Chunk Statistics
  • 💬 Conversational AI Interface
  • 🔄 REST APIs
  • 📦 Modular Architecture

🚀 Running Locally

1. Backend

source venv/bin/activate

pip install -r requirements.txt

cp .env.example .env

Add your OpenAI API key:

OPENAI_API_KEY=your_key
EMBEDDING_MODEL=text-embedding-3-small
LLM_MODEL=gpt-4o-mini

Run:

uvicorn app.main:app --reload --port 8000

Backend

http://localhost:8000

Swagger

http://localhost:8000/docs

2. Frontend

cd frontend

npm install

npm run dev

Frontend

http://localhost:3000

🧪 Testing

Open

http://localhost:3000

Paste any YouTube URL.

Examples:

https://www.youtube.com/watch?v=oX7OduG1YmI

https://www.youtube.com/watch?v=0sOvCWFmrtA

https://www.youtube.com/watch?v=ySus5ZS0b94

Click

Analyze Video

The backend will:

  • Extract transcript
  • Generate embeddings
  • Create FAISS index
  • Enable conversational RAG chat

💬 Example Questions

  • Summarize this video.
  • What are the key takeaways?
  • Explain this topic like I'm a beginner.
  • List all important concepts.
  • Give me action items.
  • What libraries are mentioned?
  • Explain the architecture.

⚙️ Tech Stack

Frontend

  • React
  • Vite
  • TailwindCSS
  • Axios
  • TanStack Query

Backend

  • FastAPI
  • LangChain
  • OpenAI
  • FAISS
  • yt-dlp
  • Python

🚧 Production Considerations

If you intend to deploy this project publicly, configure one of the following:

  • YTDLP_PROXY
  • YTDLP_COOKIES_FILE
  • YTDLP_COOKIES_BROWSER
  • YTDLP_COOKIES_CONTENT

A residential proxy is generally the most reliable long-term solution.


🛡️ License

MIT License


❤️ Author

Built with ❤️ by Shashank

FastAPI • LangChain • OpenAI • FAISS • React • Vite • TailwindCSS

About

An AI-powered YouTube Chat Assistant that transforms any YouTube video into a searchable knowledge base. Paste a video URL, automatically extract transcripts, build semantic embeddings with RAG, and chat with the video's content in real time using FastAPI, LangChain, FAISS, OpenAI, and React.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages