news 2026/5/1 10:44:55

【langchain框架—组合链】利用组合链完成客服优先等级的划分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【langchain框架—组合链】利用组合链完成客服优先等级的划分

组合链作用

组合链是能够让模型按照不同的链路顺序执行,有点像工作流的概念,工作过程可以通过以下形式展示出来:
输入-> [链1] -> [链2] -> … -> 最终输出

用到的函数

from langchain_classic.chains import SequentialChain

客服优先级划分代码实现

# 组合链 将多个链的重要组件按照顺序执行: 输入-> [链1] -> [链2] -> ... -> 最终输出fromlangchain_classic.chainsimportSequentialChain,LLMChainfromlangchain_classic.promptsimportPromptTemplatefromlangchain_core.runnablesimportRunnableParallel,RunnableLambdadefclassify_name(output):return{"classify_result":output.content}defurgency_name(output):return{"urgency_result":output.content}defextraction_name(output):return{"extract_result":output.content}print("🚀 客服工单处理系统流水线")print("="*60)classification_chain=LLMChain(llm=llm,prompt=PromptTemplate.from_template("已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:{input}分配到合适的一个标签,请直接输出标签结果"),output_key='classify_result',verbose=True)urgency_chain=LLMChain(llm=llm,prompt=PromptTemplate.from_template("请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:{classify_result}"),output_key='urgency_result',verbose=True)extraction_chain=LLMChain(llm=llm,prompt=PromptTemplate.from_template("请提取用户的问题描述,总结用户核心的问题。用户问题为{input},请总结核心问题"),output_key='extract_result',verbose=True)custom_service_pipeline=SequentialChain(chains=[classification_chain,urgency_chain,extraction_chain],input_variables=['input'],output_variables=['classify_result','urgency_result','extract_result'],verbose=True)customer_issues=["我的订单 #12345 还没发货,已经过了承诺的3天发货时间了,我很着急!","昨天刚买的手机屏幕有裂痕,我要退货退款!","你们的APP闪退问题什么时候能修复?已经持续一周了","我想咨询一下VIP会员的特权有哪些?","客服电话一直打不通,有没有其他联系方式?"]fori,issueinenumerate(customer_issues,1):print(f"\n{'='*60}")print(f"处理工单 #{i}:")print(f"问题:{issue}")print(f"{'-'*60}")result=custom_service_pipeline({"input":issue})print(f"📋 分类:{result['classify_result']}")print(f"🚨 紧急程度:{result['urgency_result']}")print(f"📝 提取信息:{result['extract_result']}")print(f"{'='*60}")print("\n✅ 所有工单处理完成!")

输出结果可视化

处理工单#1:问题: 我的订单#12345 还没发货,已经过了承诺的3天发货时间了,我很着急!------------------------------------------------------------/www/learning_langchain/./langchain_leaning1.py:102: LangChainDeprecationWarning: The method `Chain.__call__` was deprecated in langchain-classic 0.1.0 and will be removed in 1.0.Use `invoke` instead.result = custom_service_pipeline({"input": issue})> Entering new SequentialChain chain...> Entering new LLMChain chain...Prompt after formatting: 已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:我的订单#12345 还没发货,已经过了承诺的3天发货时间了,我很着急!分配到合适的一个标签,请直接输出标签结果> Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:订单问题 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请提取用户的问题描述,总结用户核心的问题。用户问题为我的订单#12345 还没发货,已经过了承诺的3天发货时间了,我很着急!,请总结核心问题> Finished chain.> Finished chain.📋 分类: 订单问题 🚨 紧急程度: 高级 📝 提取信息: 用户的核心问题是:订单#12345超过了承诺的3天发货时间还未发货,用户对此感到着急。============================================================ ============================================================ 处理工单#2:问题: 昨天刚买的手机屏幕有裂痕,我要退货退款!------------------------------------------------------------> Entering new SequentialChain chain...> Entering new LLMChain chain...Prompt after formatting: 已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:昨天刚买的手机屏幕有裂痕,我要退货退款!分配到合适的一个标签,请直接输出标签结果 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:产品质量 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请提取用户的问题描述,总结用户核心的问题。用户问题为昨天刚买的手机屏幕有裂痕,我要退货退款!,请总结核心问题 > Finished chain.> Finished chain.📋 分类: 产品质量 🚨 紧急程度: 高级 📝 提取信息: 用户的核心问题是:新购买的手机屏幕出现裂痕,要求退货退款。 ============================================================ ============================================================ 处理工单#3:问题: 你们的APP闪退问题什么时候能修复?已经持续一周了------------------------------------------------------------> Entering new SequentialChain chain...> Entering new LLMChain chain...Prompt after formatting: 已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:你们的APP闪退问题什么时候能修复?已经持续一周了分配到合适的一个标签,请直接输出标签结果 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:技术问题 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请提取用户的问题描述,总结用户核心的问题。用户问题为你们的APP闪退问题什么时候能修复?已经持续一周了,请总结核心问题 > Finished chain.> Finished chain.📋 分类: 技术问题 🚨 紧急程度: 中级 📝 提取信息: 用户的核心问题是:你们的APP存在闪退问题,这种情况已经持续了一周时间,用户希望知道这个问题什么时候能够得到修复。 ============================================================ ============================================================ 处理工单#4:问题: 我想咨询一下VIP会员的特权有哪些?------------------------------------------------------------> Entering new SequentialChain chain...> Entering new LLMChain chain...Prompt after formatting: 已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:我想咨询一下VIP会员的特权有哪些?分配到合适的一个标签,请直接输出标签结果 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:咨询问题 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请提取用户的问题描述,总结用户核心的问题。用户问题为我想咨询一下VIP会员的特权有哪些?,请总结核心问题 > Finished chain.> Finished chain.📋 分类: 咨询问题 🚨 紧急程度: 低级 📝 提取信息: 用户的核心问题是:VIP会员有哪些特权? ============================================================ ============================================================ 处理工单#5:问题: 客服电话一直打不通,有没有其他联系方式?------------------------------------------------------------> Entering new SequentialChain chain...> Entering new LLMChain chain...Prompt after formatting: 已知现有的分类标签有[订单问题,产品质量,技术问题,咨询问题,客服渠道]这5个标签,现在你需要将用户的问题:客服电话一直打不通,有没有其他联系方式?分配到合适的一个标签,请直接输出标签结果 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请根据当前标签划分紧急程度,高级包括订单问题,产品质量;中级包括技术问题和客服渠道;低级包括咨询问题,请直接输出高级/中级/低级中的某一个级别即可,现在标签为:客服渠道 > Finished chain.> Entering new LLMChain chain...Prompt after formatting: 请提取用户的问题描述,总结用户核心的问题。用户问题为客服电话一直打不通,有没有其他联系方式?,请总结核心问题 > Finished chain.> Finished chain.📋 分类: 客服渠道 🚨 紧急程度: 中级 📝 提取信息: 用户的核心问题是:客服电话无法接通,询问是否有其他联系方式。 ============================================================ ✅ 所有工单处理完成!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:50:30

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效 【免费下载链接】wsa_pacman A GUI package manager and package installer for Windows Subsystem for Android (WSA) 项目地址: https://gitcode.com/gh_mirrors/ws/wsa_pacman 你可能想知道&#…

作者头像 李华
网站建设 2026/5/1 7:51:53

10分钟精通Obsidian日历插件:提升效率的终极指南

10分钟精通Obsidian日历插件:提升效率的终极指南 【免费下载链接】obsidian-full-calendar Keep events and manage your calendar alongside all your other notes in your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-full-calendar…

作者头像 李华
网站建设 2026/5/1 9:11:15

Potree三维点云可视化:从入门到精通的终极指南

在当今数字化时代,三维点云数据的可视化需求日益增长,无论是地理测绘、文物研究还是建筑设计,都需要高效的工具来处理和展示海量点云数据。Potree作为基于WebGL的开源点云渲染器,以其卓越的性能和丰富的功能,成为点云可…

作者头像 李华
网站建设 2026/5/1 6:56:31

打破论文写作的“隐形成本”:书匠策AI如何将你的创作时间还给思考

面对屏幕上文献管理、格式调整、逻辑校验的无数弹窗,一位青年研究员终于意识到,自己70%的时间没有花在真正的“研究”上。深夜的实验室里,研究生王明正盯着屏幕上同时打开的12个窗口:一个是知网文献管理器,一个是EndNo…

作者头像 李华
网站建设 2026/5/1 8:13:42

java springboot基于微信小程序的宿舍报修维修系统故障申报(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus微信小程序介绍系统测试 四、代码参考 源码获取 目的 摘要:传统宿舍报修流程繁琐、信息传递不及时,本文提出基于Ja…

作者头像 李华
网站建设 2026/4/23 11:20:06

尚学堂李腾飞UML视频讲得怎样?优缺点深度分析

市面上流传着一套由尚学堂李腾飞老师主讲的UML培训视频。这套视频教程在相关学习者中有一定知名度,主要面向希望系统掌握统一建模语言(UML)的软件工程师和计算机专业学生。今天,我将从一个有过实际学习经验的软件从业者角度&#…

作者头像 李华