【Agent智能体】38ChitChatHandler实现
·
章节三十八:ChitChatHandler实现
ChitChatHandler:负责处理闲聊类请求。
整体流程:
第一步:DialogueEngine 进入 chitchat 轨道,调用 ChitchatHandler.handle(state)。
第二步:读取 pending_turn.input_message(当前用户消息)。
第三步:读取 state.recent_turns(最近对话历史)。
第四步:ChitchatResponder.respond 调用大模型生成回复。
第五步:返回 BotMessage。
核心对象:
| 对象 | 作用 |
|---|---|
| ChitchatHandler | 闲聊轨道入口 |
| ChitchatResponder | 调用 LLM 生成闲聊回复 |
| chitchat/response | 闲聊提示词模板 |
2. ChitChatHandler
ChitchatHandler 是闲聊轨道的入口。
# 功能说明:ChitchatHandler 闲聊处理器
# 接收 DialogueState,提取用户消息和最近历史
# 调用 ChitchatResponder 生成回复
3. ChitChatResponder
ChitchatResponder 负责调用 LLM 生成闲聊回复。
处理流程:
第一步:收到 user_message 和 recent_turns。
第二步:构建 history(格式化最近对话历史)。
第三步:组装 prompt、llm、output_parser(LangChain 链式调用)。
第四步:调用 LLM 生成回复。
第五步:返回 BotMessage。
# 功能说明:ChitchatResponder 闲聊回复生成器
# 1. 格式化用户消息和对话历史
# 2. 加载 chitchat_respond 提示词模板(Jinja2 格式)
# 3. 组装 LangChain 调用链:prompt | llm | StrOutputParser
# 4. 异步调用大模型生成回复
# 5. 包装为 BotMessage 返回
调用 LLM 的提示词要点:
- 角色:中文电商客服助手,语气自然、友好、简洁
- 如果用户打招呼,自然回一句中文问候
- 如果用户问你是谁,说明自己是"Atguigu 电商助手"
- 如果用户问的是基于最近对话的简单社交问题,直接自然回答
- 不要主动切回业务办理,除非用户明确提出电商诉求
涉及变量:
| 变量 | 来源 |
|---|---|
| history | 最近对话历史 |
| user_message | 当前用户消息 |
更多推荐

所有评论(0)