docs: comprehensive documentation for NotebookLM-RAG integration
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:
111
README.md
111
README.md
@@ -31,6 +31,9 @@ Questo repository contiene **due sistemi AI complementari**:
|
||||
|
||||
## Panoramica
|
||||
|
||||
### Integrazione
|
||||
- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG
|
||||
|
||||
### NotebookLM Agent
|
||||
|
||||
Interfaccia API e webhook per **Google NotebookLM** che permette:
|
||||
@@ -51,10 +54,45 @@ Sistema **Retrieval-Augmented Generation** standalone con:
|
||||
|
||||
**Ideale per:** Knowledge management, Document analysis, Research assistant
|
||||
|
||||
---
|
||||
|
||||
## Integrazione NotebookLM + RAG
|
||||
|
||||
Ora puoi sincronizzare i tuoi notebook di NotebookLM nel sistema RAG di DocuMente, permettendo di:
|
||||
|
||||
- **Effettuare ricerche semantiche** sui contenuti dei tuoi notebook
|
||||
- **Combinare documenti locali e notebook** nelle stesse query
|
||||
- **Usare tutti i provider LLM** disponibili per interrogare i notebook
|
||||
- **Filtrare per notebook specifici** durante le ricerche
|
||||
|
||||
### Architettura
|
||||
|
||||
```
|
||||
NotebookLM → NotebookLMIndexerService → Qdrant Vector Store
|
||||
↓
|
||||
RAGService (query con filtri)
|
||||
↓
|
||||
Multi-Provider LLM Response
|
||||
```
|
||||
|
||||
### Come funziona
|
||||
|
||||
1. **Sincronizzazione**: I contenuti dei notebook vengono estratti, divisi in chunks e indicizzati in Qdrant
|
||||
2. **Metadati**: Ogni chunk mantiene informazioni sul notebook e la fonte di origine
|
||||
3. **Ricerca**: Le query RAG possono filtrare per notebook_id specifici
|
||||
4. **Risposta**: Il LLM riceve contesto dai notebook selezionati
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Componenti
|
||||
|
||||
### Integrazione
|
||||
- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG
|
||||
|
||||
### NotebookLM Agent
|
||||
|
||||
```
|
||||
@@ -101,16 +139,46 @@ src/agentic_rag/
|
||||
│ ├── documents.py # Upload documenti
|
||||
│ ├── query.py # Query RAG
|
||||
│ ├── chat.py # Chat conversazionale
|
||||
│ └── providers.py # Gestione provider LLM
|
||||
│ ├── providers.py # Gestione provider LLM
|
||||
│ └── notebooklm_sync.py # [NUOVO] Sync NotebookLM
|
||||
├── services/ # Business logic
|
||||
│ ├── rag_service.py # Core RAG logic
|
||||
│ ├── vector_store.py # Qdrant integration
|
||||
│ └── document_service.py
|
||||
│ ├── document_service.py
|
||||
│ └── notebooklm_indexer.py # [NUOVO] Indexing service
|
||||
└── core/ # Configurazioni
|
||||
├── config.py # Multi-provider config
|
||||
└── llm_factory.py # LLM factory pattern
|
||||
```
|
||||
|
||||
**Endpoint API NotebookLM Integration:**
|
||||
- `POST /api/v1/notebooklm/sync/{notebook_id}` - Sincronizza un notebook da NotebookLM
|
||||
- `GET /api/v1/notebooklm/indexed` - Lista notebook sincronizzati
|
||||
- `DELETE /api/v1/notebooklm/sync/{notebook_id}` - Rimuovi sincronizzazione
|
||||
- `GET /api/v1/notebooklm/sync/{notebook_id}/status` - Verifica stato sincronizzazione
|
||||
- `POST /api/v1/query/notebooks` - Query solo sui notebook
|
||||
|
||||
**Query con filtri notebook:**
|
||||
```bash
|
||||
# Ricerca in notebook specifici
|
||||
POST /api/v1/query
|
||||
{
|
||||
"question": "Quali sono i punti chiave?",
|
||||
"notebook_ids": ["uuid-1", "uuid-2"],
|
||||
"include_documents": true # Include anche documenti locali
|
||||
}
|
||||
|
||||
# Ricerca solo nei notebook
|
||||
POST /api/v1/query/notebooks
|
||||
{
|
||||
"question": "Trova informazioni su...",
|
||||
"notebook_ids": ["uuid-1"],
|
||||
"k": 10
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Provider LLM Supportati:**
|
||||
|
||||
| Provider | Modelli Principali | Stato |
|
||||
@@ -217,6 +285,9 @@ DEBUG=false
|
||||
|
||||
## Avvio
|
||||
|
||||
### Integrazione
|
||||
- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG
|
||||
|
||||
### NotebookLM Agent
|
||||
|
||||
```bash
|
||||
@@ -292,6 +363,39 @@ curl -X POST http://localhost:8000/api/v1/query \
|
||||
"provider": "openai",
|
||||
"model": "gpt-4o-mini"
|
||||
}'
|
||||
|
||||
|
||||
### Integrazione NotebookLM + RAG
|
||||
|
||||
**Sincronizzare un notebook:**
|
||||
```bash
|
||||
# Sincronizza un notebook da NotebookLM al vector store
|
||||
curl -X POST http://localhost:8000/api/v1/notebooklm/sync/{notebook_id}
|
||||
|
||||
# Lista notebook sincronizzati
|
||||
curl http://localhost:8000/api/v1/notebooklm/indexed
|
||||
|
||||
# Rimuovi sincronizzazione
|
||||
curl -X DELETE http://localhost:8000/api/v1/notebooklm/sync/{notebook_id}
|
||||
```
|
||||
|
||||
**Query sui notebook:**
|
||||
```bash
|
||||
# Query solo sui notebook (senza documenti locali)
|
||||
curl -X POST http://localhost:8000/api/v1/query/notebooks -H "Content-Type: application/json" -d '{
|
||||
"question": "Quali sono le conclusioni principali?",
|
||||
"notebook_ids": ["uuid-del-notebook"],
|
||||
"k": 10,
|
||||
"provider": "openai"
|
||||
}'
|
||||
|
||||
# Query mista (documenti + notebook)
|
||||
curl -X POST http://localhost:8000/api/v1/query -H "Content-Type: application/json" -d '{
|
||||
"question": "Confronta le informazioni tra i documenti e i notebook",
|
||||
"notebook_ids": ["uuid-1", "uuid-2"],
|
||||
"include_documents": true,
|
||||
"provider": "anthropic"
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
@@ -351,6 +455,9 @@ documente/
|
||||
|
||||
## Documentazione
|
||||
|
||||
### Integrazione
|
||||
- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG
|
||||
|
||||
### NotebookLM Agent
|
||||
- [SKILL.md](./SKILL.md) - Skill definition per agenti AI
|
||||
- [prd.md](./prd.md) - Product Requirements Document
|
||||
|
||||
Reference in New Issue
Block a user