2.7 KiB
2.7 KiB
MVP Demo Runbook
This demo proves the MVP flow from user question to persisted diagnosis trace.
For interview use, start with:
interview-walkthrough.mdfor the talk tracktrace-inspection-checklist.mdfor fields to inspectscripts/run-payment-timeout-demo.ps1for the runnable local demorequests/payment-timeout-chat.jsonfor the fixed request payload
Prerequisites
- MySQL, Redis, Milvus/Zilliz, and LLM/embedding configuration are available through the current project configuration.
- Security and secret cleanup are intentionally out of scope for this MVP slice.
- The
mvp-demoprofile enables mock Prometheus and CLS providers so log and metric tools can return repeatable evidence.
Start
mvn spring-boot:run "-Dspring-boot.run.profiles=mvp-demo"
The service listens on:
http://localhost:9900
1. Run Chat Diagnosis
Fast path:
powershell -ExecutionPolicy Bypass -File mvp/demo/scripts/run-payment-timeout-demo.ps1
This writes:
mvp/demo/output/chat-response.json
mvp/demo/output/trace-response.json
mvp/demo/output/feedback-response.json
Manual path:
$sessionId = "mvp-demo-payment-timeout-001"
$body = @{
Id = $sessionId
Question = "支付接口最近出现超时,请结合知识库、日志和指标判断可能原因,并给出修复建议。"
} | ConvertTo-Json
Invoke-RestMethod `
-Method Post `
-Uri "http://localhost:9900/api/chat" `
-ContentType "application/json" `
-Body $body
Expected result:
data.successistrue.data.sessionIdequalsmvp-demo-payment-timeout-001.data.answercontains a diagnosis answer.
2. Query Trace
Invoke-RestMethod `
-Method Get `
-Uri "http://localhost:9900/api/diagnosis/$sessionId/trace"
Expected result:
codeis200.data.session.sessionIdequals the chat session id.data.stepscontains planner/executor/verifier records for complex questions.data.toolInvocationscontains evidence tool calls such aslookup_knowledge,query_logs, orquery_metrics.data.session.selfEvaluationcontains verifier or rule evaluation when available.
3. Submit Feedback
$feedback = @{
sessionId = $sessionId
feedback = "useful"
} | ConvertTo-Json
Invoke-RestMethod `
-Method Post `
-Uri "http://localhost:9900/api/feedback" `
-ContentType "application/json" `
-Body $feedback
Expected result:
successistrue.- A later trace query shows
data.session.feedbackasuseful.
Demo Story
The important interview story is:
one session id
-> user question
-> multi-agent execution
-> evidence tools
-> verifier/self-evaluation
-> final answer
-> feedback
-> trace API for replay and audit