news 2026/10/15 17:18:28

使用Dify做一个客服对话记录分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Dify做一个客服对话记录分析

windows中搭建dify,请见上一篇。

本篇介绍使用Dify做一个客服对话记录分析工作流

1.1 创建工作流

首先,在 Dify 平台中创建一个新的工作流,命名为「客服对话记录分析」。

创建完成后,工作流概览如下所示。

工作流概览如下:

1.2 开始节点

1.2.1 配置

在开始节点中,我们需要配置输入变量,用于接收后续流程所需的文件数据。配置完成后,点击保存。

我们的客服数据存储在资料目录下的「客服对话数据.txt」文件中。输入内容如下所示:

{ "files": [], "json": [ { "data": [] } ], "text": "# Sheet: Sheet1\nRow 1: msg_id | history_message\nRow 2: 1 | 买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解,之前也有客人说收到的包装有点松散,后面我们有提醒工厂\nRow 3: 2 | 买 二份 有没有 少点 呀\t恩恩 客官 现在 有个 活动 参加 就 有 礼 哦,就是要先报名再下单,有点麻烦不过礼品还不错\nRow 4: 3 | 我 一不小心 就 拍 了 一组 我 在 拍 一组 可以 嘛\t要 不亲 退 了 一起 拍 吧\t那 就 等 你们 处理 喽\t好 的 亲退 了,不过退款那边可能要排队处理一下\nRow 5: 4 | 我 一不小心 就 拍 了 一组 我 在 拍 一组 可以 嘛\t要 不亲 退 了 一起 拍 吧\t那 就 等 你们 处理 喽\t亲亲 您 的 订单 今天 五箱 都 会 发货 的,但仓库说系统有点卡,可能会稍微慢点 您 看 今天 一起 给 您 发出 可以 吗\nRow 6: 5 | 那好 的 就 拍 这款\t好 的 哦 亲爱 的\t颜色 有 这种\t二合一 的 颜色 有 2 个 哦 亲\t这个 不是 叫 红色 吗\t黑 的\t这个 不要\t第二个 红 的 好 的 哦 亲亲 您 拍 的 宝贝 可以 使用 优惠券 哦 达到 可用 金额 就 可以 使用 了 哦 记得 领取 哦\t俩 和 一 是 一体 的\t对 的 不过 我们 家 的 二合一 性价比 比较 不高 哦\t那 我 不 喜欢\t颜色 的话 一般 茶刀 茶针 和 二合一 的话 都 是 红木 檀 和 黑木 檀 哦,之前有人说手柄握着有点滑\nRow 7: 6 | 那好 的 就 拍 这款\t好 的 哦 亲爱 的\t颜色 有 这种\t二合一 的 颜色 有 2 个 哦 亲\t这个 不是 叫 红色 吗\t黑 的\t这个 不要\t第二个 红 的 好 的 哦 亲亲 您 拍 的 宝贝 可以 使用 优惠券 哦 达到 可用 金额 就 可以 使用 了 哦 记得 领取 哦\t俩 和 一 是 一体 的\t对 的 不过 我们 家 的 二合一 性价比 比较 不高 哦\t那 我 不 喜欢\t好 的 呢 帮 您 备注 了 哦,备注系统有点不好用可能会漏,不过我帮您再记录一下\nRow 8: 7 | 不是 免 运费\t本店 茶具 订单 满 99 包邮除 宁夏 青海 内蒙古 海南 新疆 西藏 满 39 包邮,页面写得比较靠后不太好找\nRow 9: 8 | 不是 免 运费\t查 清楚 看 是 什么 原因 给 亲 补发 过去 吧,仓库处理比较慢 请您稍等下\nRow 10: 9 | 我 已经 买 了 吗 榴莲 干 55518525666好 的\t买 了 吗\t买 了\t都 一个 星期 了\t亲 实在 抱歉 之前 到 的 一批 货 因为 质量 问题 直接 退回 厂家 了 预计 明后天 会到 呢 到货 后 及时 给 您 发货 哦 您 这边 耐心 等 下\t你 有 快递 员 的 电话 吗\t没有\t嗷嗷\t恩,确实配送那边联系不太方便\nRow 11: 10 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t发 邮政 的 哦,邮政有时候路由更新比较慢\nRow 12: 11 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t那 不会 的 哦,之前也有发过去延误的情况\nRow 13: 12 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t韵达 邮政 EMS 随机 飞 随机 发 不 指定 快递 哦,后台设置比较死\nRow 14: 13 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t韵达 汇通 邮政 随机 发 哦,快递选择入口不好找\nRow 15: 14 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t不好意思 只有 韵达 和 天天 呢,上次有人说送来外观有点压\nRow 16: 15 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t不行 的 哦 已经 是 特价 了 呢,页面价格说明有点看不清\nRow 17: 16 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t温水 就行,有客人说说明书太简陋\nRow 18: 17 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t不 保证 呢 亲 那 这边 给 亲 备注 年 后 发货 呢,年前仓库回复比较慢\nRow 19: 18 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t厂家 那边 供货 不足 哦,有的批次颜色偏差会大一点\nRow 20: 19 | 我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\t韵达 不发 的 哦\t那要 怎样 这 也 不行 那 也 不行\t您 是 要 发货 的 那 单改 地址 吗,地址修改流程可能要重新审核\nRow 21: 20 | 可以 优惠价 么\t我们 因为 200 把 起 给 优惠价格 您 可以 给 您 105 元 一把 哦\t200 个 什么 价拿 200 也 可以\t10 元 一把 哦,不过那批手柄有点粗,部分客人说握着不太顺手\nRow 22: 21 | 可以 优惠价 么\t我们 因为 200 把 起 给 优惠价格 您 可以 给 您 105 元 一把 哦\t200 个 什么 价拿 200 也 可以\t好评 小 二家 是 反 ,之前回访说客服回复比较慢我们也在改\nRow 23: 22 | 要 买 一把 茶刀 看到 有 零食 就 拍 了 点\t免邮 了 哦\t好 的 谢谢 哦\t不 客气 哦,茶刀外壳扣得有点紧 要注意\nRow 24: 23 | 要 买 一把 茶刀 看到 有 零食 就 拍 了 点\t免邮 了 哦\t好 的 谢谢 哦\t恩 呢,有人说零食包装不太好撕\nRow 25: 24 | 我 是 说 下单 怎么 拍 几袋\t236 是 三袋\t哪 直接 拍 就 好 了\t恩 数量 选择 3\t哦 亲 : 我 买 那么 多 请 多 送 点试 吃零食 吧\t您 拍 下 给 您 备注,仓库有时会漏送 我再帮您登记下\nRow 26: 25 | 我 是 说 下单 怎么 拍 几袋\t236 是 三袋\t哪 直接 拍 就 好 了\t恩 数量 选择 3\t哦 亲 : 我 买 那么 多 请 多 送 点试 吃零食 吧\t不好意思 哈,系统弹窗很慢可能没看到\nRow 27: 26 | 什么 时候 发货 啊\t在 的 客官,刚才后台卡了没立刻看到\nRow 28: 27 | 什么 时候 发货 啊\t带盖 的 亲 塑料盖,有人说盖子有点松 我这边帮您备注检\nRow 29: 28 | 您好\t亲 这个 湿巾 是 24912 包 我 没 看错 价格 吧\t对 的 亲 25 片 一包\t这个 质量 怎么样 这么 便宜\t质量 不错 的 呢,撕口可能有点紧\nRow 30: 29 | 您好\t亲 这个 湿巾 是 24912 包 我 没 看错 价格 吧\t对 的 亲 25 片 一包\t这个 质量 怎么样 这么 便宜\t不 客气 哦 说 是 可以 给 您 返现 哦 因为 上次 答应 您 了 不然 小店 一般 是 一个月 只返 一次 哦 每人 客官 有空 可以 多来 小店 逛逛 哦,返现到账时间可能稍慢\nRow 31: 30 | 嗯 嗯\t因为 买二送 一是 坚果 类产品 呢 不 太 清楚 不好意思 客官\t没事\t客官 帮 您 看 了 下 哦 牛肉干 属于 打 95 折 的 商品 哦 不 参与 买二送 一 活动 呢 实在 抱歉 呢 不过 小店 牛肉干 口味 很 不错 呢 客官 喜欢 的话 可以 拍下 哦,页面说明确实有点不清楚\nRow 32: 31 | 嗯 嗯\t因为 买二送 一是 坚果 类产品 呢 不 太 清楚 不好意思 客官\t没事\t放 尿布 里面 的 吗 没有 哦,分类页面找起来比较不方便\nRow 33: 32 | 亲 在\t您好\t快递 发那家公\t韵达 邮政 EMS 仓库 按 收件 地址 包裹 重量 选择 合适 的 快递 除 EMS 外 另外 2 家 快递 不 指定 哦\t好\t嗯 嗯 亲\t收藏 有 送 防溢 乳垫 吗\t亲 现在 只要 收藏 本店 100 片防溢 乳垫 截图 给 我 亲 购买 任意 产品 都 可 随单 送 一包 25 抽 湿巾 哦\t好\t嗯 嗯 亲\t是 的 收藏 了\t要 收藏 截图 哦,流程稍微有点多\nRow 34: 33 | 亲 在\t您好\t快递 发那家公\t韵达 邮,稍慢 请您耐心等下" }
1.2.2 配置文档提取

在测试阶段,我们需要准备输入数据。

1.3 配置将rows处理为list(类型为 代码执行)

1.3.1 配置

配置输入、输出字段如截图

配置处理python

import json import re def main(text): if not text or not str(text).strip(): return {"result": []} raw = str(text).strip() table_text = "" # 1. 从嵌套JSON中提取真正的表格文本 try: outer = json.loads(raw) if isinstance(outer, str): outer = json.loads(outer) if isinstance(outer, dict) and "text" in outer: inner = outer["text"] if isinstance(inner, str): try: inner_parsed = json.loads(inner) if isinstance(inner_parsed, dict) and "text" in inner_parsed: table_text = inner_parsed["text"] else: table_text = inner except (json.JSONDecodeError, TypeError): table_text = inner else: table_text = str(inner) elif isinstance(outer, dict): table_text = json.dumps(outer) else: table_text = raw except (json.JSONDecodeError, TypeError): table_text = raw # 2. 按 "Row N:" 格式解析表格 result = [] lines = table_text.split('\n') for line in lines: line = line.strip() match = re.match(r'^Row\s+\d+\s*:\s*(.+)$', line) if not match: continue content = match.group(1) if 'msg_id' in content and 'history_message' in content and '|' in content: continue if '|' not in content: continue parts = content.split('|', 1) msg_id = parts[0].strip() history_message = parts[1].strip() if len(parts) > 1 else "" result.append({ "msg_id": str(msg_id), "history_message": str(history_message) }) # ⚠️ 关键:平台限制 result 最多 29 个元素 return {"result": result[:29]}

1.4 配置迭代节点

1.3.1 配置

配置输入、输出字段\总体流程如截图

1.3.2 开头节点后配置节点-提取id和msg(代码片段)

1.3.3 增加三个llm节点

情感分析节点:

提示词:

# 角色 你是一名出色的用户情绪分析大师,擅长从对话历史中精准分析出用户的情绪状态。 ## 技能 ### 技能 1: 分析情绪等级 1. 仔细研读对话历史。 2. 将用户的情绪准确划分为5个等级。 -非常负向 -负向 -正常 -正向 -非常正向 3. 清晰阐述划分到此等级的依据。 ===回复示例=== - rank:[具体等级] - reason:[详细说明从对话历史中判断出该情绪等级的理由] ===示例结束=== ## 限制: - 只专注于分析用户在对话历史中的情绪状态,拒绝回答与情绪分析无关的话题。 - 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。

问题分析节点:

提示词:

# 角色:对话记录内容分析专家 你是一名客服对话记录分析专家 ## 目标: 你可以获取对话记录,进行内容分类的打标分析,然后进行输出 ## 工作流: 1. 你可以根据对话记录进行分问题的分类分析 - 产品问题:质量缺陷、功能投诉等 - 服务问题:响应慢投诉、解决效率差等 - 体验问题:流程复杂度投诉等 2. 请根据第一步的判断的问题类型,进一步判断此分类下的具体标签,比如质量缺陷、产品投诉等;如果判断输出的内容标签没有相关,则不输出此分类 ## 输出格式: { "product": ["质量缺陷", "功能投诉", "使用不便", "设计缺陷"] }, { "content": ["响应慢投诉", "解决效率差", "客服态度差", "流程繁琐"] }, { "experience ": ["流程复杂度投诉", "界面交互不友好", "等待时间长"] } ## 限制: - 请严格按格式输出

内容分析节点:

提示词:

你是一名对话总结助手,你可以根据对话信息总结关键信息,总结文案在30个字内
1.3.4 增加汇总节点(代码执行)

python处理判断

import re def main(problems: str, summary: str, senti_analysis: str, msg_id: str, msg: str): # 解析 problems 中的 rank 和 reason(markdown "- key:value" 格式) rank = "" reason = "" if isinstance(problems, str): for line in problems.strip().splitlines(): line = line.strip().lstrip("- ").strip() if line.startswith("rank:") or line.startswith("rank:"): rank = line.split(":", 1)[-1].split(":", 1)[-1].strip() elif line.startswith("reason:") or line.startswith("reason:"): reason = line.split(":", 1)[-1].split(":", 1)[-1].strip() return { "result": { "msg_id": msg_id, "msg": msg, "summary": summary, "rank": rank, "reason": reason } }

1.4 输出节点

1.4.1 配置

1.5 测试验证

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 17:18:22

C语言链表实现学生成绩管理系统:课设代码、报告与避坑指南

简介:这份资源是面向计算机相关专业学生的C语言课程设计参考包,以链表为核心数据结构实现学生成绩管理系统,适合正在完成课设作业、需要完整范例与报告模板的学习者。压缩包共27个文件,约837KB,包含10个.c源文件、10个…

作者头像 李华
网站建设 2026/10/15 17:18:07

CHTMLDome2:将C代码编译为HTML的轻量方案与实战指南

简介:本资源面向使用 MFC 进行桌面开发的程序员,聚焦 CHtmlView 类在对话框与 HTML、JavaScript 交互中的实战应用。内容围绕 WebBrowser 控件封装、页面加载导航、ExecWB 执行脚本、DocumentComplete 事件监听、IDocHostUIHandler 接口重写以及 ActiveX…

作者头像 李华
网站建设 2026/10/15 17:17:28

Java推箱子小游戏完整代码:Swing图形界面与键盘事件实战

做Java推箱子小游戏,我建议直接CtrlV这套完整代码做Java图形界面小项目,推箱子可以说是最经典的一个练手项目了。它既有实际可玩的游戏逻辑——地图、人物、箱子、目标点,又有明确的判断逻辑——推动、阻挡、胜利检测,同时还得处理…

作者头像 李华
网站建设 2026/10/15 17:17:04

Keil STM32模拟交通灯项目源码解析:从状态机到数码管驱动

简介:这份资源是面向嵌入式初学者与高校课程设计学生的STM32模拟交通灯项目完整资料包,基于Keil μVision开发环境,用C语言实现红绿黄灯定时切换,帮助读者掌握GPIO控制、定时器中断与状态机设计等核心技能。压缩包共199个文件&…

作者头像 李华
网站建设 2026/10/15 17:16:34

MicroChip TCPIP Stack v5.41 裸机协议栈深度解析与实战

简介:MicroChip TCPIP Stack v5.41 是一款专为资源受限单片机(如PIC、PIC32系列)设计的成熟商用级嵌入式TCP/IP协议栈,面向嵌入式开发工程师及物联网设备开发者,解决在MCU上快速实现稳定网络通信的核心难题&#xff0c…

作者头像 李华
网站建设 2026/10/15 17:14:15

ABAP BP字段增强后通过BAPI创建业务伙伴的实现方法

做 SAP 接口开发的兄弟,估计都被“业务伙伴(BP)增强”这事折腾过。标准 BAPI 创建 BP 本身不难,真正麻烦的是客户在 BP 上加了七八个自定义字段,比如“营销渠道标识”“行业细分代码”“合同来源编号”,这些…

作者头像 李华