YouTube GraphRAG — Ingest playlists, build a knowledge graph, and query with natural language.
backend/— FastAPI Python API (ingest, query, stats)frontend/— React web UI
Copy .env.example to .env and fill in your credentials (Neo4j Aura, OpenAI, etc.).
cd backend
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e .Test Neo4j connection:
cd backend && python test_neo4j_connection.pyRun the API:
cd backend && uvicorn main:app --reload --host 0.0.0.0 --port 8000CLI (optional):
cd backend && python cli.py ingest "https://youtube.com/playlist?list=..."
cd backend && python cli.py query "What did they say about X?" --mode hybrid
cd backend && python cli.py statscd frontend
npm install
npm run devOpen http://localhost:5173. The dev server proxies /api to the backend.
- Ingest — Paste a YouTube playlist URL and click Ingest. Videos are transcribed, chunked, and stored in Neo4j with embeddings.
- Query — Ask questions in natural language. Choose hybrid (default), semantic, or graph mode.
- Stats — View playlists, videos, and chunks in the database.
- Backend:
uvicorn main:app --host 0.0.0.0 --port 8000 - Frontend:
npm run buildthen serve thedist/folder. SetVITE_API_URLto your backend URL.