Rewrite documentation to clearly separate the two systems: README.md Changes: - Restructure as two independent systems (NotebookLM Agent vs DocuMente) - Clear separation of requirements: * NotebookLM Agent: NO Qdrant needed * DocuMente RAG: Qdrant REQUIRED - Remove confusing 'dual-system' language - Add FAQ section clarifying common questions - Simplified examples for each system - Clear statement: systems work independently docs/integration.md Changes: - Remove overly complex architecture diagrams - Focus on practical usage only - Simplified to 3 steps: start services → sync → query - Remove redundant API documentation (refer to SKILL.md) - Add clear use cases section - Shorter troubleshooting section docs/README.md Changes: - Minimal structure overview - Clear separation of endpoints by system - Quick links to relevant docs Impact: - 821 lines removed, 259 added - Much clearer for new users - No confusion about Qdrant requirements - Clear distinction between the two systems Closes documentation clarity issue
DocuMente & NotebookLM Agent
Due Sistemi AI - Usali Separatamente o Insieme
Questo repository contiene due sistemi AI indipendenti che puoi usare separatamente o insieme:
🤖 NotebookLM Agent
API REST per gestire Google NotebookLM programmaticamente.
Cosa fa
- Crea e gestisci notebook NotebookLM
- Aggiungi fonti (URL, PDF, YouTube, Drive)
- Chat con le fonti
- Genera contenuti (podcast, video, quiz, flashcard)
- Ricevi notifiche via webhook
Requisiti
- Python 3.10+
- Account Google NotebookLM
Installazione
# Clona e installa
git clone <repository-url>
cd documente
uv venv --python 3.10
source .venv/bin/activate
uv sync
# Autenticazione NotebookLM (prima volta)
notebooklm login
Avvio
uv run fastapi dev src/notebooklm_agent/api/main.py
API disponibile su: http://localhost:8000
Esempio
# Crea notebook
curl -X POST http://localhost:8000/api/v1/notebooks \
-H "Content-Type: application/json" \
-d '{"title": "Ricerca AI"}'
# Aggiungi fonte
curl -X POST http://localhost:8000/api/v1/notebooks/{id}/sources \
-d '{"type": "url", "url": "https://example.com"}'
📚 Documentazione: SKILL.md
🧠 DocuMente (RAG con NotebookLM)
Sistema RAG (Retrieval-Augmented Generation) che permette di:
- Caricare documenti (PDF, DOCX, TXT, MD)
- Sincronizzare notebook da NotebookLM
- Fare ricerche semantiche su entrambi
- Chat con LLM multi-provider
Cosa fa
- Ricerca su documenti: Carica file e fai domande
- Ricerca su notebook: Sincronizza notebook NotebookLM e interrogali
- Ricerca combinata: Cerca sia nei documenti che nei notebook
Requisiti
- Python 3.10+
- Qdrant (vector database)
- Node.js 18+ (per frontend opzionale)
Installazione
# Dipendenze già installate con uv sync sopra
# Avvia Qdrant (richiesto)
docker run -p 6333:6333 qdrant/qdrant
Avvio
# Backend
uv run fastapi dev src/agentic_rag/api/main.py
# Frontend (opzionale)
cd frontend && npm install && npm run dev
Servizi:
- API: http://localhost:8000/api
- Web UI: http://localhost:3000
Esempi
# Carica documento
curl -X POST http://localhost:8000/api/v1/documents \
-F "file=@documento.pdf"
# Sincronizza notebook da NotebookLM
curl -X POST http://localhost:8000/api/v1/notebooklm/sync/{notebook_id}
# Fai una domanda (cerca in documenti + notebook)
curl -X POST http://localhost:8000/api/v1/query \
-H "Content-Type: application/json" \
-d '{
"question": "Trova informazioni su...",
"notebook_ids": ["uuid-notebook"],
"include_documents": true
}'
📚 Documentazione Integrazione: docs/integration.md
🔧 Configurazione
Crea un file .env nella root:
# Per NotebookLM Agent
NOTEBOOKLM_HOME=~/.notebooklm
# Per DocuMente (almeno un provider LLM)
OPENAI_API_KEY=sk-... # o altro provider
# Per ricerche su notebook (opzionale)
OLLAMA_BASE_URL=http://localhost:11434 # se usi Ollama
LMSTUDIO_BASE_URL=http://localhost:1234 # se usi LM Studio
# Qdrant (solo per DocuMente)
QDRANT_HOST=localhost
QDRANT_PORT=6333
📁 Struttura Progetto
documente/
├── src/
│ ├── notebooklm_agent/ # 🤖 Solo NotebookLM
│ │ ├── api/
│ │ └── services/
│ │
│ └── agentic_rag/ # 🧠 RAG + NotebookLM
│ ├── api/
│ ├── services/
│ └── ...
│
├── frontend/ # 🎨 Web UI (solo per RAG)
├── docs/
│ └── integration.md # Guida integrazione
│
└── tests/
📚 Documentazione
| File | Descrizione |
|---|---|
| SKILL.md | Guida completa NotebookLM Agent |
| docs/integration.md | Come integrare NotebookLM con RAG |
| CONTRIBUTING.md | Come contribuire |
❓ FAQ
Q: Devo usare entrambi i sistemi?
A: No! Puoi usare solo NotebookLM Agent, solo DocuMente, o entrambi.
Q: NotebookLM Agent richiede Qdrant?
A: No, funziona standalone senza database.
Q: Posso cercare solo nei notebook senza caricare documenti?
A: Sì, usa DocuMente e sincronizza solo i notebook.
Q: Quali provider LLM supporta DocuMente?
A: OpenAI, Anthropic, Google, Mistral, Azure, Ollama (locale), LM Studio (locale).
Licenza
Proprietà di Luca Sacchi Ricciardi. Tutti i diritti riservati.
Contatto: luca@lucasacchi.net