mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-10 05:42:12 +02:00
Adds a sparse keyword retrieval path beside the existing vector path in document-RAG, fused by weighted Reciprocal Rank Fusion on chunk_id, behind --retrieval-mode (vector | keyword | hybrid, default vector). The keyword index is a new pluggable service (KeywordIndexService / KeywordIndexClientSpec); the first backend is SQLite FTS5, consuming Chunk messages off the ingestion stream and answering BM25 queries from one process, since the index is a single local file. Query text is sanitized into per-term quoted phrases (raw text is not valid FTS5 syntax), which also makes dotted clause numbers and error codes exact-match without a trigram index. Indexes are scoped per (workspace, collection) and dropped on collection deletion. The keyword-index client spec is only registered when the sparse path is enabled, so existing flow definitions without keyword-index queues are untouched; with retrieval_mode=vector the retrieval path is unchanged. In hybrid mode a keyword-path failure degrades to vector-only. |
||
|---|---|---|
| .. | ||
| test_structured_diag | ||
| test_document_rag.py | ||
| test_document_rag_diversity_selection.py | ||
| test_document_rag_hybrid.py | ||
| test_document_rag_provenance_integration.py | ||
| test_document_rag_rerank.py | ||
| test_document_rag_reranker_wiring.py | ||
| test_document_rag_service.py | ||
| test_graph_rag.py | ||
| test_graph_rag_direction_aware_text.py | ||
| test_graph_rag_explain_forwarding.py | ||
| test_graph_rag_provenance_integration.py | ||
| test_graph_rag_service.py | ||
| test_nlp_query.py | ||
| test_structured_query.py | ||