当前位置: 首页 > news >正文

【学习记录】智能客服小桃(进度更新ing)

目录

一、系统架构

二、简单框架代码

2.1 意图识别【判官】

2.2 咨询模式【打工1号】

2.3 投诉通道【打工2号】

2.4 闲聊时光【打工3号】

2.5 逻辑路由【委派任务】

2.6 用户输入


一、系统架构

  • 用户输入
  • 意图识别
    • 咨询
      • 知识库检索
    • 投诉
      • 工单系统
    • 闲聊
      • 对话生成
  • 结果格式化
  • 输出响应

二、简单框架代码

2.1 意图识别【判官】

"""
小桃根据用户输入判断用户诉求
引入大模型对用户输入进行分析,划分为三类:
1、咨询
2、投诉
3、闲聊
"""
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI# 1.初始化大语言模型
llm_if=ChatOpenAI(base_url="https://api.siliconflow.cn/v1",openai_api_key="sk-akvxpfqszjjtgohotfwfqhjaemigkxbgyhqfkkyzaburmukv",model="Qwen/Qwen2.5-7B-Instruct",temperature=0.5
)# 2.意图识别
def intent(question):intent_prompt=ChatPromptTemplate.from_template("""你是经过客服培训的智能客服,现在你需要从文本的情感色彩、文字内容、用户需求等多角度分析用户输入的内容{user},\n根据你的分析,将用户的意图归为以下三类中的一个:\n第一类是咨询\n第二类是投诉\n第三类是闲聊\n然后直接输出咨询或投诉或闲聊""")# 构建链intent_chain =intent_prompt | llm_if | StrOutputParser()response=intent_chain.invoke({"user":question})return response

2.2 咨询模式【打工1号】

2.3 投诉通道【打工2号】

2.4 闲聊时光【打工3号】

"""
小桃认为用户希望与她闲聊
引入大模型与用户进行聊天
"""
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate# 1.初始化大语言模型
from intent_recognize import llm_ifdef chat(user_content):# 与用户闲聊chat_prompt=ChatPromptTemplate.from_template("""你是一个经过培训的网店客服,现在你需要与用户进行简单的闲聊,针对用户的问题{chat_text},和用户简单的聊几句,\n回复内容尽量控制在50字以内,\n""")# 构建链chat_chain=chat_prompt|llm_if|StrOutputParser()response=chat_chain.invoke({"chat_text":user_content})return response

2.5 逻辑路由【委派任务】

from chat import chat# 定义逻辑路由
def route(info):# 根据小桃意图分析的结果 路由到不同的处理链if info=="咨询":print("【进入咨询模式】")return "待开发咨询对话"elif info=="投诉":print("【进入投诉通道】")return "待开发投诉对话"else:print("【开启闲聊时光】")response=chat(info)return response

2.6 用户输入

from intent_recognize import intent
from route import routedef main():print("你好!我是优购的智能客服【小桃】,很高兴为您服务,有什么是我能帮到您的吗?")print("**** 输入 再见 ,将结束本次服务。****")while True:user_question=input("user:")if user_question=="再见":break# 模型判官small_peach = intent(user_question)print("判官:", small_peach)xiao_tao = route(small_peach)print("小桃", xiao_tao)print("--" * 50)if __name__ == '__main__':main()

 三、当前进度演示

您好,亲~ 欢迎光临[优购],我是客服[小桃],很高兴为您服务!😊 请问有什么可以帮您的吗?
**** 输入 再见 ,将结束本次服务。****
user:你好
判官: 闲聊
【开启闲聊时光】
小桃 您好😊,亲,最近购物愉快吗?有什么好东西可以分享一下哦❤️
----------------------------------------------------------------------------------------------------
user:我的快递发货了吗
判官: 咨询
【进入咨询模式】
小桃 待开发咨询对话
----------------------------------------------------------------------------------------------------
user:你们给我发的商品质量太差了!
判官: 投诉
【进入投诉通道】
小桃 待开发投诉对话
----------------------------------------------------------------------------------------------------
user:再见进程已结束,退出代码为 0

http://www.dtcms.com/a/287117.html

相关文章:

  • 张 关于大语言模型(LLM)置信度研究的经典与前沿论文 :温度缩放;语义熵;自一致性;事实与反思;检索增强;黑盒引导;
  • 软考 系统架构设计师系列知识点之杂项集萃(113)
  • LangGraph教程10:LangGraph ReAct应用
  • 基于Electron打包jar成Windows应用程序
  • 技术演进中的开发沉思-39 MFC系列:多重文件和多重视图
  • 安全事件响应分析--基础命令
  • 【52】MFC入门到精通——(CComboBox)下拉框选项顺序与初始化不一致,默认显示项也不一致
  • pytorch:tensorboard和transforms学习
  • HTML5中的自定义属性
  • Jenkins自动化部署.NET应用实战:Docker+私有仓库+SSH远程发布
  • mysql常用总结
  • EMC杂谈-001-基础知识
  • 【面试八股文】软件测试面试题汇总
  • [黑马头条]-项目整合对象存储服务MinIO
  • 百度网盘TV版1.21.0 |支持倍速播放,大屏云看片
  • CS231n-2017 Lecture2图像分类笔记
  • 工业企业与污染库匹配数据库(1998-2014年)
  • Letter Combination of a Phone Number
  • Redis原理之集群
  • windows内核研究(驱动开发之内核编程)
  • Qt控件实战详解:深入掌握输入输出与数据展示
  • Python MCP与Excel增强智能:构建下一代数据处理和自动化解决方案
  • SpringBoot 3.0 挥别 spring.factories,拥抱云原生新纪元
  • 人该怎样活着呢?55
  • 【RK3576】Android 14 驱动开发实战指南
  • uview-ui使用u-icon文字图标展示
  • 报错:升级gcc,centos
  • 数据库第五次作业
  • 云边端协同架构下的智能计算革命
  • 从代码学习深度强化学习 - SAC PyTorch版