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

目录

一、系统架构

二、简单框架代码

[2.1 意图识别【判官】](#2.1 意图识别【判官】)

[2.2 咨询模式【打工1号】](#2.2 咨询模式【打工1号】)

[2.3 投诉通道【打工2号】](#2.3 投诉通道【打工2号】)

[2.4 闲聊时光【打工3号】](#2.4 闲聊时光【打工3号】)

[2.5 逻辑路由【委派任务】](#2.5 逻辑路由【委派任务】)

[2.6 用户输入](#2.6 用户输入)


一、系统架构

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

二、简单框架代码

2.1 意图识别【判官】

python 复制代码
"""
小桃根据用户输入判断用户诉求
引入大模型对用户输入进行分析,划分为三类:
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号】

python 复制代码
"""
小桃认为用户希望与她闲聊
引入大模型与用户进行聊天
"""
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

# 1.初始化大语言模型
from intent_recognize import llm_if

def 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 逻辑路由【委派任务】

python 复制代码
from chat import chat

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

2.6 用户输入

python 复制代码
from intent_recognize import intent
from route import route

def 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()

三、当前进度演示

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

进程已结束,退出代码为 0
相关推荐
PaperData7 分钟前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
政安晨8 分钟前
政安晨【OpenClaw与Hermes指南】AI Coding Agent行为约束之道:Karpathy CLAUDE.md技能体系深度解读
人工智能·ai coding·karpathy·agent行为约束之道·karpathy claude·技能体系解读·agent技能
ZYH_Core8 分钟前
DeepSeek V4 实战测评
人工智能·ai·ai编程
70asunflower16 分钟前
从Token到芯片:AI推理时代的效率竞争与市场逻辑
人工智能
xrgs_shz20 分钟前
MATLAB 纹理特征提取:一文读懂 graycomatrix 与 graycoprops
人工智能·计算机视觉·matlab
BlockChain88824 分钟前
AI+区块链深度探索:算法与账本的共生时代
人工智能·算法·区块链
生成论实验室34 分钟前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第一章 源:不可言说的生成之源
人工智能·科技·算法·生活·创业创新
jinglong.zha39 分钟前
AI萌宠短剧实战:从0孵化动物IP,用AI制作爆款短视频
人工智能·ai·音视频·网赚教程·萌宠
AI医影跨模态组学44 分钟前
如何将CT影像语义特征与肝癌术后辅助TACE获益相关的免疫抑制性肿瘤微环境建立关联,并进一步解释其与预后、PA-TACE治疗响应的机制联系
人工智能·深度学习·论文·医学·医学影像·影像组学
嵌入式-老费1 小时前
瑞芯微soc的学习和应用(题外话之esp32开发)
学习