File size: 1,126 Bytes
08a579a
8593064
08a579a
8593064
 
08a579a
 
e4881ef
08a579a
 
b0d1e07
8593064
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
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.