You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La ricerca densa (QVAC) fallisce su query con termini tecnici esatti ("SegWit", "UTXO", "P2SH", "Lightning Network") perché gli embedding catturano similarità semantica, non corrispondenza lessicale. BM25 è esattamente ciò che manca: cattura perfettamente i termini esatti. La fusione dei due con Reciprocal Rank Fusion (RRF) è lo standard de facto per l'hybrid search.
File coinvolti
services/ai/app/workers/pipeline.py — costruzione indice BM25 all'ingest
services/ai/app/services/chat_service.py — merge RRF al retrieval
Context
La ricerca densa (QVAC) fallisce su query con termini tecnici esatti ("SegWit", "UTXO", "P2SH", "Lightning Network") perché gli embedding catturano similarità semantica, non corrispondenza lessicale. BM25 è esattamente ciò che manca: cattura perfettamente i termini esatti. La fusione dei due con Reciprocal Rank Fusion (RRF) è lo standard de facto per l'hybrid search.
File coinvolti
services/ai/app/workers/pipeline.py— costruzione indice BM25 all'ingestservices/ai/app/services/chat_service.py— merge RRF al retrievalservices/ai/requirements.txt— aggiungererank_bm25Azioni richieste
Ingestion (
pipeline.py)pip install rank_bm25{workspace_path}/bm25_index.pklRetrieval (
chat_service.py)Fallback
Acceptance criteria
Riferimenti