param( [string]$Cases = "eval\rag-retrieval\cases\golden-cases.json", [string]$Fixtures = "eval\rag-retrieval\fixtures", [string]$RetrievedAt = "", [string]$KbScope = "rag-eval", [string]$VectorStoreMode = "spring", [switch]$SkipEval ) $ErrorActionPreference = "Stop" $mavenArgs = @( "-q", "-Dtest=RagLookupSnapshotGeneratorTest", "-Drag.snapshot.enabled=true", "-Drag.snapshot.cases=$Cases", "-Drag.snapshot.fixtures=$Fixtures", "-Dretrieval.kb-scope=$KbScope", "-Dretrieval.vector-store.mode=$VectorStoreMode" ) if ($RetrievedAt -ne "") { $mavenArgs += "-Drag.snapshot.retrievedAt=$RetrievedAt" } $mavenArgs += "test" Write-Host "Generating RAG lookupResult fixtures from real LookupKnowledgeTool..." & mvn @mavenArgs if (-not $SkipEval) { Write-Host "Running offline RAG retrieval baseline..." & python scripts\eval_rag_retrieval.py --cases $Cases --fixtures $Fixtures }