--- title: NotebookLM Clone (GPP1) emoji: 📓 colorFrom: blue colorTo: pink sdk: gradio sdk_version: "4.44.1" python_version: "3.10" app_file: app.py pinned: false hf_oauth: true --- # NotebookLM Clone (HF OAuth + Chroma + RAG) ## Overview This project is a simplified clone of Google NotebookLM. Users can create multiple notebooks, upload sources (PDF/PPTX/TXT/URL), chat with their sources using Retrieval-Augmented Generation (RAG) with citations, and generate study artifacts (report, quiz, podcast). ## Features - HF OAuth login (per-user isolation) - Multi-notebook support: create/rename/delete - Ingestion: PDF / PPTX / TXT / URL - Chunking + Embedding (Sentence-Transformers all-MiniLM-L6-v2) - Vector search using ChromaDB (persistent per notebook) - Chat with citations - Artifact generation: - report (.md) - quiz with answer key (.md) - podcast transcript (.md) + audio (.mp3) ## Environment Variables ### Hugging Face Space - DATA_ROOT=/data ## Local Dev 1. Create venv + install dependencies: - pip install -r requirements.txt 2. Run: - python app.py Note: HF OAuth is best tested in a Space.