Files

31 lines
1.5 KiB
Markdown

## Why
The current `lookup_knowledge` implementation treats a unique L0 keyword hit as high confidence and skips L1 semantic retrieval. That makes L0 too authoritative for the RAG refactor target: L0 should provide domain/entity hints, metadata-filter intent, and explainability while final evidence still comes from the retrieval pipeline.
## What Changes
- Change L0 from final retrieval decision maker to domain/entity hint provider.
- Add structured L0 hint output that includes matched keywords, domains, entities, and matched titles.
- Make `lookup_knowledge` run L1 semantic retrieval by default even when L0 has a unique hit.
- Use L0 domain hints to pass category metadata filters into L1 when a single clear domain is detected.
- Persist L0 hint details in `tool_invocation.retrieval_details`.
- Keep `lookup_knowledge` as the explicit Agent tool entry point.
- No Spring AI VectorStore migration in this change.
## Capabilities
### New Capabilities
- `rag-knowledge-retrieval`: Defines runtime behavior for the explicit RAG knowledge retrieval tool, including L0 hinting and L1 retrieval cooperation.
### Modified Capabilities
- None.
## Impact
- Affects `KnowledgeIndexService`, `LookupKnowledgeTool`, and `ToolInvocationRecorder`.
- May affect retrieval latency because L1 is no longer skipped for unique L0 hits.
- Improves traceability by recording L0 matched keywords/entities/domains in retrieval details.
- Does not change document upload, chunking, Milvus schema, or Agent flow.