docs: comprehensive documentation for NotebookLM-RAG integration
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / lint (push) Has been cancelled

Update documentation to reflect new integration features:

README.md:
- Add 'Integrazione NotebookLM + RAG' section after Overview
- Update DocuMente component section with new endpoints
- Add notebooklm_sync.py and notebooklm_indexer.py to architecture
- Add integration API examples
- Add link to docs/integration.md

SKILL.md:
- Add RAG Integration to Capabilities table
- Update Autonomy Rules with new endpoints
- Add RAG Integration section to Quick Reference
- Add Sprint 2 changelog with integration features
- Update Skill Version to 1.2.0

docs/integration.md (NEW):
- Complete integration guide with architecture diagram
- API reference for all sync and query endpoints
- Usage examples and workflows
- Best practices and troubleshooting
- Performance considerations and limitations
- Roadmap for future features

All documentation now accurately reflects the unified
NotebookLM + RAG agent capabilities.
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-06 18:01:50 +02:00
parent a5029aef20
commit 568489cae4
3 changed files with 628 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ Interfaccia agentica per Google NotebookLM tramite API REST e webhook. Automatiz
| **Generazione** | Audio (podcast), Video, Slide, Infografiche, Quiz, Flashcard, Report, Mappe mentali, Tabelle |
| **Artifacts** | Monitorare stato, scaricare in vari formati |
| **Webhook** | Registrare endpoint, ricevere notifiche eventi |
| **RAG Integration** | Sincronizzare notebook, ricerche semantiche, query multi-notebook |
---
@@ -73,6 +74,10 @@ http://localhost:8000/health
| `GET /api/v1/notebooks/{id}/chat/history` | Read-only |
| `GET /api/v1/notebooks/{id}/artifacts` | Read-only |
| `GET /api/v1/notebooks/{id}/artifacts/{id}/status` | Read-only |
| `GET /api/v1/notebooklm/indexed` | Read-only |
| `GET /api/v1/notebooklm/sync/{id}/status` | Read-only |
| `POST /api/v1/query` | Read-only (ricerca) |
| `POST /api/v1/query/notebooks` | Read-only (ricerca) |
| `GET /health` | Health check |
| `POST /api/v1/webhooks/{id}/test` | Test non distruttivo |
@@ -86,6 +91,8 @@ http://localhost:8000/health
| `POST /api/v1/notebooks/{id}/generate/*` | Lungo, può fallire |
| `GET /api/v1/notebooks/{id}/artifacts/{id}/download` | Scrive filesystem |
| `POST /api/v1/webhooks` | Configura endpoint |
| `POST /api/v1/notebooklm/sync/{id}` | Indicizza dati (tempo/risorse) |
| `DELETE /api/v1/notebooklm/sync/{id}` | Rimuove dati indicizzati |
---
@@ -242,6 +249,46 @@ curl http://localhost:8000/api/v1/notebooks/{id}/artifacts/{artifact_id}/downloa
-o artifact.mp3
```
### RAG Integration
```bash
# Sincronizzare notebook nel vector store
curl -X POST http://localhost:8000/api/v1/notebooklm/sync/{notebook_id} \
-H "X-API-Key: your-key"
# Lista notebook sincronizzati
curl http://localhost:8000/api/v1/notebooklm/indexed \
-H "X-API-Key: your-key"
# Query sui notebook (solo contenuto notebook)
curl -X POST http://localhost:8000/api/v1/query/notebooks \
-H "X-API-Key: your-key" \
-H "Content-Type: application/json" \
-d '{
"question": "Quali sono i punti chiave?",
"notebook_ids": ["uuid-1", "uuid-2"],
"k": 10,
"provider": "openai"
}'
# Query mista (documenti + notebook)
curl -X POST http://localhost:8000/api/v1/query \
-H "X-API-Key: your-key" \
-H "Content-Type: application/json" \
-d '{
"question": "Confronta le informazioni tra documenti e notebook",
"notebook_ids": ["uuid-1"],
"include_documents": true,
"provider": "anthropic"
}'
# Rimuovere sincronizzazione
curl -X DELETE http://localhost:8000/api/v1/notebooklm/sync/{notebook_id} \
-H "X-API-Key: your-key"
```
---
### Webhook Management
```bash
@@ -555,7 +602,7 @@ curl http://localhost:8000/api/v1/notebooks -H "X-API-Key: your-key"
---
**Skill Version:** 1.1.0
**Skill Version:** 1.2.0
**API Version:** v1
**Last Updated:** 2026-04-06
@@ -585,3 +632,38 @@ curl http://localhost:8000/api/v1/notebooks -H "X-API-Key: your-key"
- Chat functionality
- Content generation (audio, video, etc.)
- Webhook system
---
## Changelog Sprint 2
### 2026-04-06 - NotebookLM + RAG Integration
**Implemented:**
-`POST /api/v1/notebooklm/sync/{id}` - Sync notebook to RAG vector store
-`GET /api/v1/notebooklm/indexed` - List synced notebooks
-`DELETE /api/v1/notebooklm/sync/{id}` - Remove notebook from RAG
-`GET /api/v1/notebooklm/sync/{id}/status` - Check sync status
-`POST /api/v1/query/notebooks` - Query only notebook content
- ✅ Enhanced `POST /api/v1/query` - Filter by notebook_ids
**Features:**
- NotebookLMIndexerService for content extraction and indexing
- Vector store integration with Qdrant
- Metadata preservation (notebook_id, source_id, source_title)
- Multi-notebook queries
- Hybrid search (documents + notebooks)
- Support for all LLM providers in notebook queries
- Comprehensive test coverage (428 lines of tests)
**Architecture:**
- Service layer: NotebookLMIndexerService
- API routes: notebooklm_sync.py
- Enhanced RAGService with notebook filtering
- Extended VectorStoreService with filter support
**Documentation:**
- ✅ Updated README.md with integration overview
- ✅ Created docs/integration.md with full guide
- ✅ Updated SKILL.md with new capabilities
- ✅ API examples and best practices