fix(verify): riconosce URL www. come terminatori validi + doc multi-documento
- _URL_TAIL ora matcha anche www.* (non solo https://) — evita falsi blockers su watermark tipo www.docsity.com - README: documenta --collection / --stems per ingestion, retrieve e rag Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -116,17 +116,23 @@ Prima verifica che Ollama e i modelli siano pronti:
|
||||
Poi genera gli embedding e salva in ChromaDB:
|
||||
|
||||
```bash
|
||||
# Singolo documento
|
||||
# Singolo documento → collection con lo stesso nome
|
||||
.venv/bin/python ingestion/ingest.py --stem <nome>
|
||||
|
||||
# Tutti i documenti in chunks/
|
||||
# Più documenti → un'unica collection condivisa
|
||||
.venv/bin/python ingestion/ingest.py --collection <nome-collection> --stems doc1 doc2 doc3
|
||||
|
||||
# Tutti i documenti in chunks/ → collection separate
|
||||
.venv/bin/python ingestion/ingest.py
|
||||
|
||||
# Rigenera dopo aver cambiato modello o aggiornato i chunk
|
||||
.venv/bin/python ingestion/ingest.py --stem <nome> --force
|
||||
```
|
||||
|
||||
Output in `chroma_db/<nome>/` (ignorata da git).
|
||||
Con `--collection` i chunk di documenti diversi vengono uniti in una singola
|
||||
collection. Il metadato `source` identifica il documento di provenienza di ogni chunk.
|
||||
|
||||
Output in `chroma_db/` (ignorata da git).
|
||||
|
||||
---
|
||||
|
||||
@@ -184,8 +190,12 @@ Utile per verificare che i chunk giusti vengano recuperati prima di diagnosticar
|
||||
risposte sbagliate:
|
||||
|
||||
```bash
|
||||
# Singolo documento
|
||||
.venv/bin/python retrieve.py --stem <nome>
|
||||
|
||||
# Collection multi-documento
|
||||
.venv/bin/python retrieve.py --collection <nome-collection>
|
||||
|
||||
# Modifica il numero di chunk restituiti
|
||||
.venv/bin/python retrieve.py --stem <nome> --top-k 10
|
||||
```
|
||||
@@ -205,7 +215,11 @@ Nel loop interattivo:
|
||||
Risponde a domande in linguaggio naturale usando i chunk indicizzati in ChromaDB:
|
||||
|
||||
```bash
|
||||
# Singolo documento
|
||||
.venv/bin/python rag.py --stem <nome>
|
||||
|
||||
# Collection multi-documento
|
||||
.venv/bin/python rag.py --collection <nome-collection>
|
||||
```
|
||||
|
||||
Nel loop interattivo:
|
||||
@@ -213,7 +227,7 @@ Nel loop interattivo:
|
||||
| Comando | Effetto |
|
||||
|---------|---------|
|
||||
| `<domanda>` | Risposta generata dal LLM con contesto dai chunk |
|
||||
| `<domanda> -v` | Risposta + chunk recuperati con score di similarità |
|
||||
| `<domanda> -v` | Risposta + chunk recuperati con score di similarità e documento sorgente |
|
||||
| `exit` | Termina |
|
||||
|
||||
---
|
||||
|
||||
@@ -38,7 +38,7 @@ PUNCT_END = re.compile(
|
||||
r"|:$" # introduzione a lista o formula
|
||||
)
|
||||
_HEX_END = re.compile(r"[0-9a-fA-F]{8,}$")
|
||||
_URL_TAIL = re.compile(r"https?://\S+(\s+\S+){0,3}$") # URL con fino a 3 token extra
|
||||
_URL_TAIL = re.compile(r"(https?://|www\.)\S+(\s+\S+){0,3}$") # URL con fino a 3 token extra
|
||||
_MATH_SYMS = re.compile(r"[∈∑≤≥≠∀∃∫√∞∂±×÷→←↔⊂⊃⊆⊇∩∪·°]")
|
||||
_ROMAN_END = re.compile(r"\b(I{1,3}|IV|VI{0,3}|IX|XI{0,2}|XIV|XV|XVI{0,2}|XIX|XX{0,2})$")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user