【学习记录】智能客服小桃(进度更新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
相关推荐
智感子1 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
人工智能技术咨询.4 小时前
具身智能中的世界模型训练
人工智能
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-10-06
人工智能·深度学习·神经网络·搜索引擎·百度
AOI小白新手上路4 小时前
AOI 缺陷检测复现实操指南:Anomalib + MVTec AD(glass)与 YOLOv8 + NEU-DET 两条路线
人工智能·深度学习·yolo
阳光九叶草LXGZXJ4 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
怕浪猫5 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
henrylin99995 小时前
RD-AGENT 第一讲 · AI 因子工厂是怎么运转的
人工智能
高洁015 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记5 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
Devlive 开源社区5 小时前
AuthX 正式更名 GrantForge:我们重新做了一遍权限管理系统
大数据·人工智能·架构