LLM + RAG
CPU-only β’ Privacy-First β’ Offline-Capable β’ LLM Powered
Convert long YouTube videos, lectures, and meetings into structured knowledge β locally.
Deep-Dive Video Note Taker (Lite) is a local AI system that converts long videos into:
- π Structured notes
- β±οΈ Key timestamps
- β Action items
- π§ RAG-based Q&A with citations
No cloud upload required. Everything runs locally using:
- whisper.cpp
- sentence-transformers
- ChromaDB
- Ollama (LLM)
flowchart LR
A[Video Input] --> B[Audio Extraction]
B --> C[Speech-to-Text]
C --> D[Chunk + Embed]
D --> E[Vector DB]
E --> F[LLM Notes Generator]
E --> G[RAG Q&A]
- YouTube URL
- Local video file
- Batch processing
- Structured summary
- Multi-level notes
- Timestamped highlights
- Action item extraction
- Export to Markdown / JSON / Obsidian / Notion
- Semantic chunking
- Embedding-based retrieval
- RAG pipeline
- Citation-backed answers
pip install poetry
poetry installollama pull llama3.1:8bpoetry run notetaker process "https://www.youtube.com/watch?v=VIDEO_ID"poetry run notetaker query VIDEO_ID "What were the main insights?"Start server:
poetry run notetaker serveOpen:
- Web UI β http://localhost:8000
- Health β http://localhost:8000/health
POST /api/process
POST /api/process/upload
GET /api/status/{job_id}
GET /api/notes/{video_id}
GET /api/transcript/{video_id}
POST /api/query/{video_id}
GET /api/library
GET /api/export/{video_id}?format=json|markdown|obsidian|notion
DELETE /api/video/{video_id}whisper.cpp
sentence-transformers
ChromaDB
Ollama (llama3.1:8b)
User config:
~/.notetaker/config.yaml
Environment variables:
NOTETAKER_OLLAMA_BASE_URL
NOTETAKER_OLLAMA_MODEL
NOTETAKER_WHISPER_MODEL
NOTETAKER_DATA_DIR
NOTETAKER_NOTION_API_KEY
- JSON
- Markdown
- Obsidian (YAML + callouts)
- Notion blocks JSON
docker compose up --buildApp β http://localhost:8000 Ollama β http://localhost:11434
No. Everything runs locally.
Yes β fully offline if Ollama + models are installed.
Yes β semantic retrieval via ChromaDB.
- βSummarize the lecture in 5 bullet pointsβ
- βList action items from 00:20β00:40β
- βWhere was regression discussed?β
Run tests:
poetry run pytest -vLint:
poetry run ruff check .PRs welcome.
- Fork
- Create branch
- Add tests
- Open PR
MIT