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

相关推荐
AR-26710-10 分钟前
机器学习复习Day8——异常检测
人工智能·python·机器学习·scikit-learn
TAN-90°-15 分钟前
Deep Learning for Computer Vision——Attention and Transformers
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·机器翻译
Profile排查笔记16 分钟前
指纹浏览器手机版怎么选?从本地 App 到云端 Android 的实现方式解析
前端·人工智能·后端·自动化
shiter20 分钟前
舍筏 · 观异 · 破执:中国人的创新审视三问
人工智能·程序人生
Henry-SAP22 分钟前
SAP MRP类型与计划策略配置精髓解析
人工智能·云原生·sap·erp
筑梦geo26 分钟前
天津口碑好的天津GEO获客公司哪家好 - 成本透明度
人工智能·天津口碑好的
DeepIntelli26 分钟前
GEO 团队选型
人工智能·chatgpt
Nontee27 分钟前
腾讯 Hy4 开源:770B 旗舰,和一句“它参与了自己的训练“
人工智能·开源
一切皆是因缘际会32 分钟前
智能革新
人工智能·科技
Csvn37 分钟前
评测集不是“一堆问题”,是“测试资产”——30 条结构化评测集(E02)
人工智能·agent