YouTube RAG Scraper
🎯 Tổng quan dự án
🏗️ Kiến trúc Pipeline
┌─────────────────┐
│ 🎬 YouTube │ ← Channel / Playlist / Video URL
│ Input │
└────────┬────────┘
▼
┌─────────────────┐
│ main.py │ ← CLI Orchestrator (điều phối chính)
│ CLI Orchestrator│
└────────┬────────┘
├──────────────────┐
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ metadata.py │ │ transcripts.py │
│ YouTube Data API│ │ yt-dlp Engine │
│ v3 │ │ │
└────────┬────────┘ └────────┬────────┘
│ │
▼ ▼
Video IDs + VTT → Plain Text
Metadata │
└──────────┬──────────┘
▼
┌─────────────────┐
│ utils.py │
│ Data Pipeline │
│ (Làm sạch & │
│ Chunking) │
└────────┬────────┘
├──────────────────┐
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ JSON/JSONL/CSV │ │ RAG Chunks │
│ /Parquet │ │ │
└────────┬────────┘ └────────┬────────┘
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ 📁 Dataset │ │ knowledge_base.py│
│ Files │ │Embedding Generator│
└─────────────────┘ └────────┬────────┘
▼
┌─────────────────┐
│ sentence- │
│ transformers │
│ all-MiniLM-L6-v2│
└────────┬────────┘
▼
┌─────────────────┐
│ 384-dim vectors │
└────────┬────────┘
▼
┌─────────────────┐
│ 🟨 FAISS │
│ Index │
└────────┬────────┘
▼
┌─────────────────┐
│ search.py │
│ Semantic Search │
└────────┬────────┘
▼
┌─────────────────┐
│ 🔍 Natural │
│ Language Query │
│ (Top-K Results)│
└─────────────────┘🔧 Các thành phần chính
Component
Công nghệ
Chức năng
📊 Output cuối cùng
🚀 Use Cases điển hình
🤔 Câu hỏi kỹ thuật thú vị
Câu hỏi
Lựa chọn
Trade-off
💡 Điểm mạnh của pipeline
📈 So sánh với các giải pháp khác
Đặc điểm
youtube-rag-scraper
Youtube-comment-RAG
Apify Transcript Extractor
🔗 Tài nguyên liên quan
Last updated