Skip to content

Latest commit

 

History

History
158 lines (130 loc) · 5.65 KB

File metadata and controls

158 lines (130 loc) · 5.65 KB

V1 演示路径

三条固定演示链路,覆盖 KnowledgeOps Agent 的全部核心能力。每条链路 3-5 分钟可完成。

链路一:DeepResearch 行业研究

展示能力:AgentWorkflowEngine → ResearchPlannerAgent → 混合检索 → EvidenceJudgeAgent → ReportWriterAgent

演示步骤

# 1. 启动服务
./scripts/demo.sh

# 2. 创建研究任务
curl -X POST http://localhost:8080/ai/research/tasks \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: public" \
  -d '{
    "topic": "2025年AI Agent在企業服務領域的應用趨勢",
    "enableWebSearch": false,
    "enableRagSearch": true,
    "enableGraphSearch": true,
    "maxSearchRounds": 3
  }'

# 3. 查询任务状态与步骤
curl http://localhost:8080/ai/research/tasks/{taskId} \
  -H "X-Tenant-Id: public"

# 4. 获取研究报告
curl http://localhost:8080/ai/research/tasks/{taskId}/report \
  -H "X-Tenant-Id: public"

验证点

检查项 预期结果
任务创建 返回 taskId,status=CREATED→PLANNING→...→DONE
主题拆解 agent_step 中 ResearchPlannerAgent 输出 3-5 个子问题
检索召回 每个子问题触发混合检索(vector + keyword + graph)
证据评分 evidence 数组中每条记录带 relevanceScore/authorityScore/timelinessScore
报告生成 final_output 包含 Executive Summary、Key Findings、Detailed Analysis
事件溯源 GET /tasks/{taskId}/events 返回完整 STATE_CHANGED/STEP_STARTED/STEP_COMPLETED 序列

链路二:智能客服(通过 tianji-ai-agent)

展示能力:tianji RouteAgent(结构化 JSON 意图识别)→ 9 种子 Agent → Tool Calling → KnowledgeOpsClient(RAG/记忆/图谱)→ SSE 全链路事件

演示步骤

# 1. 启动 tianji(dev-demo 模式)
cd tianji-ai-agent
bash scripts/quick-start-mac.sh

# 2. 打开 http://localhost:5173

# 3. 依次输入以下问题:
场景 输入 预期路由 预期事件
课程推荐 "我零基础,想 3 个月入门 Java 后端,帮我推荐课程" ROUTE→RECOMMEND ROUTE(1004)→DATA(1001)→PARAM(1003)→STOP(1002)
课程咨询 "1589905661084430337 这门课适合谁,价格多少" ROUTE→CONSULT ROUTE→DATA→PARAM(courseInfo)→STOP
预下单 "我要购买课程 1589905661084430337,帮我生成确认订单" ROUTE→BUY ROUTE→DATA→PARAM(prePlaceOrder)→STOP
知识问答 "Java 中 Redis 缓存穿透是什么" ROUTE→KNOWLEDGE ROUTE→DATA→STOP
转人工 "我要投诉课程质量问题" ROUTE→COMPLAINT 或 HUMAN_HANDOFF ROUTE→DATA→STOP

验证点

检查项 预期结果
路由 JSON RouteAgent 返回 {"intent":"BUY","confidence":0.91,"nextAgent":"BUY",...}
卡片渲染 前端展示课程卡片、订单卡片、引用来源
SSE 事件序列 ROUTE→DATA→PARAM→STOP 完整链路
记忆命中 第二轮对话时 MEMORY 事件出现

链路三:知识库问答(混合检索 + 引用溯源)

展示能力:PDF 上传 → 异步入库 → VectorRetriever + KeywordRetriever + GraphRetriever → EvidenceJudgeService → CitationService

演示步骤

# 1. 上传 PDF 到知识库
curl -X POST http://localhost:8080/ai/pdf/upload/demo-chat-1 \
  -H "X-Tenant-Id: public" \
  -F "file=@docs/assets/sample.pdf"

# 2. 等待入库完成(查询 ingestion job 状态)
curl http://localhost:8080/ingestion/jobs?chatId=demo-chat-1 \
  -H "X-Tenant-Id: public"

# 3. 混合检索问答
curl -X POST http://localhost:8080/ai/rag/search \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: public" \
  -d '{
    "prompt": "文档中提到的核心概念是什么",
    "chatId": "demo-chat-1"
  }'

# 4. 通过工作流接口(带 trace)
curl -X POST http://localhost:8080/ai/workflow/react/chat \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: public" \
  -d '{
    "prompt": "文档中提到的核心概念是什么",
    "chatId": "demo-chat-1",
    "modelProfile": "balanced"
  }'

返回结构示例

{
  "answer": "根據文檔分析,核心概念包括...",
  "citations": [
    {"index": 1, "sourceType": "vector", "title": "sample.pdf", "confidence": 0.92}
  ],
  "evidence": [
    {
      "sourceType": "vector",
      "title": "sample.pdf",
      "chunkId": "chunk-3",
      "score": 0.86,
      "relevanceScore": 0.92,
      "authorityScore": 0.75,
      "timelinessScore": 0.70,
      "reason": "向量语义匹配,相关度92%,权威度75%,时效度70%"
    }
  ],
  "traceId": "trace-a1b2c3d4",
  "memoryUsed": []
}

验证点

检查项 预期结果
PDF 上传 返回 jobId,状态 pending→running→success
向量检索 VectorRetriever 返回 topK 文档,score>0.45
关键词检索 KeywordRetriever 返回标题/内容关键词匹配结果
图谱检索 GraphRetriever 返回 kg_entity 匹配实体和一跳邻居
融合去重 HybridRetrievalService 合并四路结果并去重
证据评分 每条 evidence 带三维评分和中文理由
引用溯源 citations 数组带 index/sourceType/chunkId/confidence
工作流追踪 agent_task→agent_step→agent_event 完整链路可查

异常场景验证

场景 预期行为
知识库无匹配 answer="没有在当前知识库中检索到可用内容",pipelineOutcome=empty
模型超时 Resilience4j TimeLimiter 触发,返回降级回答
工具调用失败 observation 中 status=error,不阻断流程
用户中断生成 SSE stream 在 STOP 事件后正常关闭
重复提交 ingestion 幂等键去重,不重复入库