diff --git a/README.md b/README.md index 16e44e9..19b071f 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ Questo repository contiene **due sistemi AI complementari**: ## Indice - [Panoramica](#panoramica) +- [Integrazione NotebookLM + RAG](#integrazione-notebooklm--rag) - [Componenti](#componenti) - [Requisiti](#requisiti) - [Installazione](#installazione) @@ -31,9 +32,6 @@ 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: @@ -47,10 +45,11 @@ Interfaccia API e webhook per **Google NotebookLM** che permette: ### DocuMente (Agentic RAG) Sistema **Retrieval-Augmented Generation** standalone con: -- Supporto per 8 provider LLM diversi +- Supporto per 8+ provider LLM (cloud e locali) - Upload e indicizzazione documenti (PDF, DOCX, TXT, MD) - Chat conversazionale con i tuoi documenti - Interfaccia web moderna (React + TypeScript) +- **Integrazione con NotebookLM** - Ricerca semantica sui notebook **Ideale per:** Knowledge management, Document analysis, Research assistant @@ -70,9 +69,9 @@ Ora puoi sincronizzare i tuoi notebook di NotebookLM nel sistema RAG di DocuMent ``` NotebookLM → NotebookLMIndexerService → Qdrant Vector Store ↓ - RAGService (query con filtri) + RAGService (query con filtri) ↓ - Multi-Provider LLM Response + Multi-Provider LLM Response ``` ### Come funziona @@ -82,17 +81,12 @@ NotebookLM → NotebookLMIndexerService → Qdrant Vector Store 3. **Ricerca**: Le query RAG possono filtrare per notebook_id specifici 4. **Risposta**: Il LLM riceve contesto dai notebook selezionati ---- - - +📚 **[Guida Completa Integrazione](./docs/integration.md)** - API, esempi, best practices --- ## Componenti -### Integrazione -- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG - ### NotebookLM Agent ``` @@ -140,12 +134,12 @@ src/agentic_rag/ │ ├── query.py # Query RAG │ ├── chat.py # Chat conversazionale │ ├── providers.py # Gestione provider LLM -│ └── notebooklm_sync.py # [NUOVO] Sync NotebookLM +│ └── notebooklm_sync.py # Sync NotebookLM ├── services/ # Business logic │ ├── rag_service.py # Core RAG logic │ ├── vector_store.py # Qdrant integration │ ├── document_service.py -│ └── notebooklm_indexer.py # [NUOVO] Indexing service +│ └── notebooklm_indexer.py # Indexing service └── core/ # Configurazioni ├── config.py # Multi-provider config └── llm_factory.py # LLM factory pattern @@ -181,16 +175,18 @@ POST /api/v1/query/notebooks **Provider LLM Supportati:** -| Provider | Modelli Principali | Stato | -|----------|-------------------|-------| -| **OpenAI** | GPT-4o, GPT-4, GPT-3.5 | ✅ | -| **Z.AI** | zai-large, zai-medium | ✅ | -| **OpenCode Zen** | zen-1, zen-lite | ✅ | -| **OpenRouter** | Multi-model access | ✅ | -| **Anthropic** | Claude 3.5, Claude 3 | ✅ | -| **Google** | Gemini 1.5 Pro/Flash | ✅ | -| **Mistral** | Mistral Large/Medium | ✅ | -| **Azure** | GPT-4, GPT-4o | ✅ | +| Provider | Tipo | Modelli Principali | +|----------|------|-------------------| +| **OpenAI** | Cloud | GPT-4o, GPT-4, GPT-3.5 | +| **Anthropic** | Cloud | Claude 3.5, Claude 3 | +| **Google** | Cloud | Gemini 1.5 Pro/Flash | +| **Mistral** | Cloud | Mistral Large/Medium | +| **Azure** | Cloud | GPT-4, GPT-4o | +| **Z.AI** | Cloud | zai-large, zai-medium | +| **OpenCode Zen** | Cloud | zen-1, zen-lite | +| **OpenRouter** | Cloud | Multi-model access | +| **Ollama** | 🏠 Locale | llama3.2, mistral, qwen | +| **LM Studio** | 🏠 Locale | Any loaded model | --- @@ -261,6 +257,10 @@ MISTRAL_API_KEY=... AZURE_API_KEY=... AZURE_ENDPOINT=https://your-resource.openai.azure.com +# Local LLM Providers (no API key needed) +OLLAMA_BASE_URL=http://localhost:11434 +LMSTUDIO_BASE_URL=http://localhost:1234 + # Vector Store (Qdrant) QDRANT_HOST=localhost QDRANT_PORT=6333 @@ -285,9 +285,6 @@ DEBUG=false ## Avvio -### Integrazione -- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG - ### NotebookLM Agent ```bash @@ -363,7 +360,9 @@ curl -X POST http://localhost:8000/api/v1/query \ "provider": "openai", "model": "gpt-4o-mini" }' +``` +--- ### Integrazione NotebookLM + RAG @@ -382,7 +381,9 @@ 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 '{ +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, @@ -390,7 +391,9 @@ curl -X POST http://localhost:8000/api/v1/query/notebooks -H "Content-Type: ap }' # Query mista (documenti + notebook) -curl -X POST http://localhost:8000/api/v1/query -H "Content-Type: application/json" -d '{ +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, @@ -455,22 +458,36 @@ documente/ ## Documentazione -### Integrazione -- [docs/integration.md](./docs/integration.md) - Guida integrazione NotebookLM + RAG +### 📚 Guide Principali -### NotebookLM Agent -- [SKILL.md](./SKILL.md) - Skill definition per agenti AI -- [prd.md](./prd.md) - Product Requirements Document -- [AGENTS.md](./AGENTS.md) - Linee guida per sviluppo +| Documento | Descrizione | +|-----------|-------------| +| **[docs/integration.md](./docs/integration.md)** | Guida completa integrazione NotebookLM + RAG - API, esempi, best practices | +| **[docs/README.md](./docs/README.md)** | Panoramica documentazione API e endpoint | -### DocuMente -- [prd-v2.md](./prd-v2.md) - Product Requirements Document -- [frontend-plan.md](./frontend-plan.md) - Piano sviluppo frontend -- [TEST_COVERAGE_REPORT.md](./TEST_COVERAGE_REPORT.md) - Report coverage +### 🤖 NotebookLM Agent -### Generale -- [CONTRIBUTING.md](./CONTRIBUTING.md) - Come contribuire -- [CHANGELOG.md](./CHANGELOG.md) - Cronologia modifiche +| Documento | Descrizione | +|-----------|-------------| +| **[SKILL.md](./SKILL.md)** | Skill definition per agenti AI - API reference completo | +| **[prd.md](./prd.md)** | Product Requirements Document | +| **[AGENTS.md](./AGENTS.md)** | Linee guida per sviluppo | + +### 🧠 DocuMente (Agentic RAG) + +| Documento | Descrizione | +|-----------|-------------| +| **[prd-v2.md](./prd-v2.md)** | Product Requirements Document v2 | +| **[frontend-plan.md](./frontend-plan.md)** | Piano sviluppo frontend | +| **[TEST_COVERAGE_REPORT.md](./TEST_COVERAGE_REPORT.md)** | Report coverage test | + +### 📝 Generale + +| Documento | Descrizione | +|-----------|-------------| +| **[CONTRIBUTING.md](./CONTRIBUTING.md)** | Come contribuire al progetto | +| **[CHANGELOG.md](./CHANGELOG.md)** | Cronologia modifiche e release | +| **[LICENSE](./LICENSE)** | Termini di licenza | ---