【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培训对话的完整链路

相关推荐
呆呆敲代码的小Y1 小时前
CC-Switch使用教程,包含ClaudeCode、Codex具体示例 【持续更新】
人工智能·ai·agent·cc-switch
芝士爱知识a1 小时前
智胜未来:以AlphaGBM为核心的AI量化分析软件深度评测与行业洞察报告
人工智能·量化分析·ai量化·alphagbm·量化分析软件·ai量化工具·ai量化软件
IT_陈寒2 小时前
Redis客户端连接池不关闭的后果,程序直接崩给我看
前端·人工智能·后端
青软青之LIMS2 小时前
告别“纸质牢笼”:国产LIMS系统如何重塑实验室数字竞争力?
人工智能
波动几何2 小时前
技能改造方法skill-refactor
人工智能
喜欢踢足球的老罗2 小时前
产品方案:从已有 CRM AI 系统切入 WhatsApp Chrome 插件赛道
前端·人工智能·chrome
时空无限2 小时前
claude code 在macos 安装
人工智能·claude code
想你依然心痛2 小时前
Diffusion Policy实战:让机械臂学会推方块——从论文复现到真机部署
人工智能·机器人·具身智能
睡个好觉(努力提升自己版)2 小时前
2026_TIP_image_Restoration(最新方法)
人工智能·深度学习·机器学习