【AI培训中台-对话链路】

陪练对话 sendMessage 完整链路

一、架构总览

陪练对话系统采用 对话生成与目标判定分离 的架构设计,拆分为两个独立 HTTP

分离的设计动机:避免目标达成条件泄露到 AI 回复中,减少 LLM 幻觉风险。

调用时序(前端视角):

html 复制代码
createSession → sendMessage(循环) → judgeGoal(循环, 仅 PROCESS) → checkFinish / stopSession → 查看报告
层级 职责
Controller PracticeSessionController HTTP 入口、参数校验、权限
编排层 PracticeDialogueService 对话主流程编排、RAG、TTS、异步任务
会话层 PracticeSessionService 会话生命周期(创建/终止/完成),不调用 LLM
目标判定 PracticeGoalJudgeService PROCESS 模式的 LLM 目标判定 + Java 硬规则
LLM 封装 PracticeLLMService Prompt 模板组装 + 上下文构建
底层调用 LangChainChatService LangChain4j HTTP 调用、JSON 解析、格式纠正重试

二、sendMessage 主流程(6 步)

  1. Per-Session 互斥锁,- 防止前端并发双发导致同一轮消息被重复写入
  2. 校验绘话状态 + 构建上下文
  3. 幂等检查(10 秒去重窗口),- 若内容完全相同且时间间隔 < 10 秒 → 直接返回该轮已有的 AI 回复
  • 覆盖两种场景:并发双发(同一 round)和串行双发(用户快速重复提交)
  1. 保存学员消息
  2. 调用AI生成回复
  3. 保存AI回复+更新绘话
  4. 组装响应 + TTS
  5. 异步任务 润色+ RAG日志和对比

三、RAG 知识增强

场景 配置开关 查询文本 知识库方向 失败策略
对话 dialogueRagEnabled 学员消息 坐席问 → AI 答 空串,主流程继续
灵感 inspirationRagEnabled AI 最后消息 + 目标 AI 问 → 坐席答 空串
润色 polishRagEnabled AI 消息 + 学员消息 + 目标 AI 问 → 坐席答 空串
评分 复用 inspiration 开关 场景 + 维度 + 学员话术 检索模式 空串

注入方式:RAG 内容通过 Prompt 模板的 {{ragReferenceContent}} 占位符注入 system prompt。

RAG 对比实验:对话 RAG 命中时,异步再调一次无 RAG 的 LLM,将有/无 RAG 的两个回复写入 tra_rag_history,用于评估 RAG 对回复质量的影响。

AI培训对话的完整链路

相关推荐
延凡科技1 分钟前
数字孪生全域智慧园区综合可视化运营平台|延凡科技智园视界解决方案
数据库·人工智能·物联网·数据可视化
GeekArch7 分钟前
第5讲:嵌入式场景二范式决策树:什么情况快写、什么情况严写
人工智能·stm32·单片机·mcu·物联网·决策树·机器学习
MobotStone8 分钟前
AI写的代码看着全对、逻辑也自洽,为什么就是“不是我们想要的”?
人工智能
火山引擎开发者社区9 分钟前
Agent 时代的 Serverless 入口:veFaaS CLI 实战
人工智能
aneasystone本尊12 分钟前
学习 OpenMontage 的工具发现与打分选择器
人工智能
火山引擎开发者社区14 分钟前
Computer Use Agent 新能力上线,开启企业电脑自动化的新范式
人工智能
火山引擎开发者社区7 小时前
VeOps CLI:你的火山引擎可观测排障助手
人工智能
To_OC9 小时前
调用远程MCP,手搓一个能查酒店、自动打开浏览器的 Agent
人工智能·agent·mcp
启雀AI9 小时前
生物医疗行业如何建设合规、安全、可复用的知识库?
人工智能·安全·软件构建·知识图谱·知识库
x-cmd9 小时前
Mac 涨价后,本地 AI 还能千元入门吗?
linux·人工智能·macos·ai·agent·amd·本地ai入门