feat: add spring ai retrieval sidecar

This commit is contained in:
aruo
2026-07-05 03:22:03 +08:00
parent 5197712719
commit b9ec07de57
21 changed files with 944 additions and 0 deletions
@@ -0,0 +1,27 @@
## Why
The current RAG retrieval path talks to Milvus through the raw Java SDK, so framework-level retrieval behavior cannot be compared safely. Before replacing the main path, we need a Spring AI VectorStore sidecar that can run the same golden cases and expose differences without affecting `lookup_knowledge`.
## What Changes
- Add a disabled-by-default Spring AI VectorStore sidecar retrieval path.
- Keep the current `VectorSearchService` as the production path for Chat and AIOps.
- Add an adapter/reporting surface that can run golden retrieval cases against both current and sidecar paths.
- Record comparable fields: result id/source, title, breadcrumb, score/distance, category, and metadata.
- Document incompatibilities between the current Milvus schema and Spring AI VectorStore behavior.
- No breaking changes.
## Capabilities
### New Capabilities
- None.
### Modified Capabilities
- `rag-knowledge-retrieval`: Add requirements for sidecar Spring AI retrieval comparison while preserving the explicit `lookup_knowledge` tool boundary.
- `rag-retrieval-evaluation`: Add requirements for comparing baseline retrieval with the sidecar retriever on the golden case set.
## Impact
- Affects retrieval service wiring, configuration, and evaluation scripts.
- May add Spring AI VectorStore dependency/configuration if the current dependency set does not already expose it.
- Does not change document upload, chunking, Milvus collection schema, Agent prompts, AIOps diagnosis flow, or the default `lookup_knowledge` runtime path.