# 3.7 - Dify 案例：客服对话记录分析

---

## 本案例概要

### 使用的节点

| 节点名称                | 类型 / 能力         | 作用                                                                                                                         |
| ----------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Excel 转 JSON**       | 文档解析 / 格式转换 | 将上传的 xlsx 转为结构化数据，输出 `text`（对话列表的 JSON 字符串）及 `json`。                                               |
| **将 ROWS 处理为 LIST** | 代码节点            | 对 `text` 做转义处理后 `json.loads`，得到字典列表 `result`，供迭代节点遍历。                                                 |
| **迭代**                | 循环                | 对 `result` 中每条对话记录执行内部子流程（提取、情感分析、问题分类、总结、聚合）。                                           |
| **提取 ID 和 MSG**      | 代码节点            | 从当前迭代的 `row` 中取出 `msg_id`、`history_message`，输出为 `id`、`msg`。                                                  |
| **情感分析**            | 大模型 + 结构化输出 | 根据对话内容判断用户情绪等级（非常负向/负向/正常/正向/非常正向），输出 `rank` 与 `reason`。                                  |
| **问题分类**            | 大模型 + 结构化输出 | 将对话归类为产品问题、服务问题、体验问题及具体标签（如质量缺陷、响应慢投诉等），输出 `product`/`content`/`experience` 数组。 |
| **聚合分析结果**        | 代码节点            | 将问题分类、内容总结、情感分析结果与 `msg_id`、`msg` 合并为统一的 `result` 结构。                                            |

### 技术要点

- **Workflow 与文件输入**：本案例使用 Dify Workflow（非 Chatflow），开始节点配置为接收 `input_file`（xlsx），用户上传客服对话数据后一次性执行全流程并输出分析列表。
- **Excel → JSON → 列表**：先通过「Excel 转 JSON」得到 `text`（含 `msg_id`、`history_message` 的 JSON 字符串），再经代码节点处理转义并解析为字典列表，供迭代使用。
- **迭代内多任务并行**：每条对话在迭代内依次经过「提取 ID 和 MSG」→「情感分析」「问题分类」「内容总结」三个大模型节点（可并行）→「聚合分析结果」代码节点，将情感、分类、总结与原始 id/msg 合并为一条分析结果。
- **大模型与结构化输出**：情感分析、问题分类均开启结构化输出，情感分析输出 `rank`、`reason`，问题分类输出 `product`/`content`/`experience` 数组，便于下游代码节点稳定解析。
- **代码节点**：两处——① 将 ROWS 处理为 LIST：`text` 转义后 `json.loads` 得到 `result`；② 聚合分析结果：将 `problems`、`summary`、`senti_analysis`、`msg_id`、`msg` 组装为单条 `result`，迭代结束后由结束节点汇总为完整列表。

### 工作流程概览

```
开始(input_file: xlsx)
    ↓
Excel 转 JSON → text（对话列表 JSON 字符串）、json
    ↓
将 ROWS 处理为 LIST(代码：text 转义 + json.loads) → result（字典列表）
    ↓
迭代(result)：对每条 row →
    ↓
    提取 ID 和 MSG(代码) → id, msg
    ↓
    情感分析(大模型：msg) → rank, reason
    问题分类(大模型：msg) → product, content, experience
    内容总结(大模型：msg) → summary(text)
    ↓
    聚合分析结果(代码) → result{ content, experience, product, msg_id, msg, summary, rank, reason }
    ↓
结束：输出所有迭代 result 组成的列表
```

---

## 1、配置及单节点测试

### 1.1 创建工作流

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-1-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-1-2.png)

1.1.1 工作流概览如下：

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-1-3.jpeg)

### 1.2 开始

#### 1.2.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-2.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-3.png)

#### 1.2.2 测试

##### 1.输入

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-4.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-5.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-6.png)

我们的客服数据存储在资料目录下的`客服对话数据.xlsx`文件中

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-7.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-8.png)

输入如下所示

```json
{
  "input_file": {
    "dify_model_identity": "__dify__file__",
    "extension": ".xlsx",
    "filename": "客服对话数据.xlsx",
    "id": null,
    "mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "related_id": "ccad50a9-c310-41ec-8185-d8493020b205",
    "remote_url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372048&nonce=fbd4baa29a314637d131dbd3e360c89a&sign=FXSt6eRADm9XTDjm--8LguDTNeFCg4hPpy1zNkn7xCA%3D",
    "size": 11915,
    "tenant_id": "37b50949-93f9-41aa-8b8e-0f6791bc6deb",
    "transfer_method": "local_file",
    "type": "document",
    "url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372109&nonce=4ef66c1976a6a0dd1d2fd98f93f857fc&sign=ytAcXma6yqt-9gPflNxdZ_ud5jAUDfb95wfLCGR-0pg%3D"
  },
  "sys.app_id": "6649f3a9-36b1-4444-ae3d-6985260fef8e",
  "sys.files": [],
  "sys.user_id": "51b0ee4a-06cc-478d-a205-5e61fe58aee7",
  "sys.workflow_id": "66d643a1-37b4-449a-83ac-4e93de0c4a21",
  "sys.workflow_run_id": "6997e278-a03e-44a9-b989-b5ac3eaeca11"
}
```

##### 2.输出

输出如下所示

```json
{
  "input_file": {
    "dify_model_identity": "__dify__file__",
    "extension": ".xlsx",
    "filename": "客服对话数据.xlsx",
    "id": null,
    "mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "related_id": "ccad50a9-c310-41ec-8185-d8493020b205",
    "remote_url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372048&nonce=fbd4baa29a314637d131dbd3e360c89a&sign=FXSt6eRADm9XTDjm--8LguDTNeFCg4hPpy1zNkn7xCA%3D",
    "size": 11915,
    "tenant_id": "37b50949-93f9-41aa-8b8e-0f6791bc6deb",
    "transfer_method": "local_file",
    "type": "document",
    "url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372109&nonce=45651be4b4bb38ccf485fc452e9871c3&sign=p8qPQv6poPwHHW8ZwioHDqvHvAJ3OTMhTIaapjblwwQ%3D"
  },
  "sys.app_id": "6649f3a9-36b1-4444-ae3d-6985260fef8e",
  "sys.files": [],
  "sys.user_id": "51b0ee4a-06cc-478d-a205-5e61fe58aee7",
  "sys.workflow_id": "66d643a1-37b4-449a-83ac-4e93de0c4a21",
  "sys.workflow_run_id": "6997e278-a03e-44a9-b989-b5ac3eaeca11"
}
```

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-2-9.png)

### 1.3 Excel 转 JSON

#### 1.3.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-2.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-3.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-4.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-5.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-6.png)

#### 1.3.2 测试

**注意**：在 Dify 中，上游节点运行成功后，其输出会缓存下来，下游节点单独运行时，上游输出会自动作为下游输入，不必手动填写。

点击运行按钮

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-7.png)

直接获得运行结果

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-8.png)

##### 1.输入

```json
{
  "file": {
    "dify_model_identity": "__dify__file__",
    "extension": ".xlsx",
    "filename": "客服对话数据.xlsx",
    "id": null,
    "mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "related_id": "ccad50a9-c310-41ec-8185-d8493020b205",
    "remote_url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372048&nonce=fbd4baa29a314637d131dbd3e360c89a&sign=FXSt6eRADm9XTDjm--8LguDTNeFCg4hPpy1zNkn7xCA%3D",
    "size": 11915,
    "tenant_id": "37b50949-93f9-41aa-8b8e-0f6791bc6deb",
    "transfer_method": "local_file",
    "type": "document",
    "url": "https://upload.dify.ai/files/ccad50a9-c310-41ec-8185-d8493020b205/file-preview?timestamp=1763372407&nonce=a0bf816703c1c984f7071c74ea9e32c7&sign=l98wvuIveAyBdaNuCZIWdGEk0WMmDA6JzBf8zxVMmFw%3D"
  }
}
```

##### 2.输出

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

##### 3.缓存管理

###### 1.查看缓存

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-9.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-10.png)

变量的缓存以所属节点为单位组织。

###### 2.删除缓存

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-3-11.png)

点击具体的变量，右侧会展示其缓存值，点击缓存右侧的图标即可删除。

### 1.4 将 ROWS 处理为 LIST

#### 1.4.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-4-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-4-2.png)

代码内容如下：

```python
import json

def main(text: str):
    print(f"{text = }")
    text = text.replace('\\\"', '"')
    arr = json.loads(text)
    return {
        "result": arr
    }
```

#### 1.4.2 测试

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-4-3.png)

##### 1.输入

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

##### 2.输出

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

该节点的输出是一个字典列表。

### 1.5 迭代

#### 1.5.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-5-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-5-2.png)

**注意**：输出变量需要在内部节点配置完成后才能设置。

#### 1.5.2 测试

迭代节点单独测试会报错

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-5-3.png)

推测为 Dify 的 bug，不再单独测试，在全流程测试中查看各结点输入输出。

### 1.6 提取 ID 和 MSG

#### 1.6.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-6-1.png)

代码如下：

```python
def main(row: dict):
    return {
        "id": row['msg_id'],
        "msg": row['history_message']
    }
```

迭代数据是元素为字典的列表，每个元素都是包含`id`和`msg`两个字段的字典。当前节点的作用是将两个子字段提取出来。

#### 1.6.2 测试

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-6-2.png)

**需要注意**，迭代的每个 item 是一个 dict 类型的对象，而测试单个节点时，接收的变量会被转换为字符串，无法直接传递对象，因此无法单独测试。将所有迭代内部节点配置完成后统一测试。

### 1.7 情感分析

#### 1.7.1 配置

创建大模型节点

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-1.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-2.png)

系统提示词如下：

```
# 角色
你是一名出色的用户情绪分析大师，擅长从对话历史中精准分析出用户的情绪状态。

## 技能
### 技能 1: 分析情绪等级
1. 仔细研读对话历史。
2. 将用户的情绪准确划分为5个等级。
-非常负向
-负向
-正常
-正向
-非常正向
3. 清晰阐述划分到此等级的依据。
===回复示例===
   - rank：[具体等级]
   - reason：[详细说明从对话历史中判断出该情绪等级的理由]
===示例结束===

## 限制:
- 只专注于分析用户在对话历史中的情绪状态，拒绝回答与情绪分析无关的话题。
- 所输出的内容必须按照给定的格式进行组织，不能偏离框架要求。
```

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-3.png)

打开结构化输出选项，那么大模型会按照指定的 JSON 格式输出。

配置结构化输出 JSON 的字段

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-4.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-5.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-6.png)

最终输出配置如下：

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-7-7.png)

### 1.8 问题分类

#### 1.8.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-8-1.png)

系统提示词如下：

```
# 角色：对话记录内容分析专家
你是一名客服对话记录分析专家

## 目标：
你可以获取对话记录，进行内容分类的打标分析，然后进行输出


## 工作流：
1.  你可以根据对话记录进行分问题的分类分析
- 产品问题：质量缺陷、功能投诉等
- 服务问题：响应慢投诉、解决效率差等
- 体验问题：流程复杂度投诉等
2. 请根据第一步的判断的问题类型，进一步判断此分类下的具体标签，比如质量缺陷、产品投诉等；如果判断输出的内容标签没有相关，则不输出此分类

## 输出格式：
  {
    "product": ["质量缺陷", "功能投诉", "使用不便", "设计缺陷"]
  },
  {
    "content": ["响应慢投诉", "解决效率差", "客服态度差", "流程繁琐"]
  },
  {
    "experience ": ["流程复杂度投诉", "界面交互不友好", "等待时间长"]
  }

## 限制：
- 请严格按格式输出
```

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-8-2.png)

开启结构化输出

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-8-3.png)

### 1.9 内容总结

#### 1.9.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-9-1.png)

输出无法修改，不必打开结构化输出选项

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-9-2.png)

总结内容会保存在 text 字段中。

### 1.10 聚合分析结果

#### 1.10.1 配置

这是个代码节点

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-10-1.png)

代码如下：

```python

def main(problems: dict, summary: str, senti_analysis: dict, msg_id: str, msg: str):
    return {
        "result": {
            "content": problems['content'],
            "experience": problems['experience'],
            "product": problems['product'],
            "msg_id": msg_id,
            "msg": msg,
            "summary": summary,
            "rank": senti_analysis['rank'],
            "reason": senti_analysis['reason']
        }
    }
```

### 1.11 结束

#### 1.11.1 配置

![客服对话记录分析案例操作截图](../../images/3.7/3.7-1-11-1.png)

---

## 2、全流程测试

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-1-1.png)

### 2.1 输入

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-1-2.png)

### 2.2 输出

```json
"{\n  \"output\": [\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"1\",\n      \"msg\": \"买 二份 有没有 少点 呀\\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂\",\n      \"summary\": \"顾客要求买两份优惠，商家表示已是最低价，并提及改进包装问题。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户使用'有没有少点呀'表达了希望获得更多折扣的诉求，结合语气词'呀'显示出对当前价格的不满和期待更优惠的价格，整体情绪偏向负面。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"2\",\n      \"msg\": \"买 二份 有没有 少点 呀\\t恩恩 客官 现在 有个 活动 参加 就 有 礼 哦，就是要先报名再下单，有点麻烦不过礼品还不错\",\n      \"summary\": \"顾客询问优惠，客服推荐活动需报名，礼品不错但流程稍麻烦。\",\n      \"rank\": \"正向\",\n      \"reason\": \"用户使用'呀'等语气词表达轻松询问，并表现出对优惠活动的兴趣，整体语气友好且积极，显示出正向情绪。\"\n    },\n    {\n      \"content\": [\n        \"解决效率差\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"3\",\n      \"msg\": \"我 一不小心 就 拍 了 一组 我 在 拍 一组 可以 嘛\\t要 不亲 退 了 一起 拍 吧\\t那 就 等 你们 处理 喽\\t好 的 亲退 了，不过退款那边可能要排队处理一下\",\n      \"summary\": \"退款申请已提交，需排队处理。\",\n      \"rank\": \"负向\",\n      \"reason\": \"从对话历史中可以看出用户使用了'要不等了'、'那就算了'等表达，语气中透露出无奈和轻微不满，虽然最后表示理解退款需要排队，但整体情绪偏向消极\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"4\",\n      \"msg\": \"我 一不小心 就 拍 了 一组 我 在 拍 一组 可以 嘛\\t要 不亲 退 了 一起 拍 吧\\t那 就 等 你们 处理 喽\\t亲亲 您 的 订单 今天 五箱 都 会 发货 的，但仓库说系统有点卡，可能会稍微慢点 您 看 今天 一起 给 您 发出 可以 吗\",\n      \"summary\": \"订单今天发货，系统卡顿可能延迟。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户表达了不耐烦和轻微不满的情绪，如使用'那 就 等 你们 处理 喽'这种略带消极的表述，暗示对处理进度的不满；同时用户重复询问'可以 嘛'，显示出对服务响应不确定性的焦虑\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"设计缺陷\"\n      ],\n      \"msg_id\": \"5\",\n      \"msg\": \"那好 的 就 拍 这款\\t好 的 哦 亲爱 的\\t颜色 有 这种\\t二合一 的 颜色 有 2 个 哦 亲\\t这个 不是 叫 红色 吗\\t黑 的\\t这个 不要\\t第二个 红 的 好 的 哦 亲亲 您 拍 的 宝贝 可以 使用 优惠券 哦 达到 可用 金额 就 可以 使用 了 哦 记得 领取 哦\\t俩 和 一 是 一体 的\\t对 的 不过 我们 家 的 二合一 性价比 比较 不高 哦\\t那 我 不 喜欢\\t颜色 的话 一般 茶刀 茶针 和 二合一 的话 都 是 红木 檀 和 黑木 檀 哦，之前有人说手柄握着有点滑\",\n      \"summary\": \"顾客选择红色二合一茶具，提醒使用优惠券，手柄可能滑。\",\n      \"rank\": \"正常\",\n      \"reason\": \"从对话历史中可以看出，用户在选择产品颜色和类型时表现出明确的偏好（如选择红色、不喜欢二合一），语气平和，没有强烈的情绪词汇或表达，整体交流属于正常的购物咨询和决策过程。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [],\n      \"product\": [\n        \"设计缺陷\"\n      ],\n      \"msg_id\": \"6\",\n      \"msg\": \"那好 的 就 拍 这款\\t好 的 哦 亲爱 的\\t颜色 有 这种\\t二合一 的 颜色 有 2 个 哦 亲\\t这个 不是 叫 红色 吗\\t黑 的\\t这个 不要\\t第二个 红 的 好 的 哦 亲亲 您 拍 的 宝贝 可以 使用 优惠券 哦 达到 可用 金额 就 可以 使用 了 哦 记得 领取 哦\\t俩 和 一 是 一体 的\\t对 的 不过 我们 家 的 二合一 性价比 比较 不高 哦\\t那 我 不 喜欢\\t好 的 呢 帮 您 备注 了 哦，备注系统有点不好用可能会漏，不过我帮您再记录一下\",\n      \"summary\": \"顾客选择红色二合一产品，使用优惠券，客服备注订单。\",\n      \"rank\": \"负向\",\n      \"reason\": \"从对话历史中可以看出，用户多次表达不满和拒绝：明确表示'这个不要'、'那我不喜欢'，虽然语气相对平和，但整体表现出对产品的负面态度和购买意愿的下降\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"7\",\n      \"msg\": \"不是 免 运费\\t本店 茶具 订单 满 99 包邮除 宁夏 青海 内蒙古 海南 新疆 西藏 满 39 包邮，页面写得比较靠后不太好找\",\n      \"summary\": \"本店茶具满99包邮，部分偏远地区满39包邮。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户指出运费政策信息在页面上位置靠后、不易查找，表达了对信息展示方式的不满，显示出轻微的负面情绪。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\",\n        \"解决效率差\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"8\",\n      \"msg\": \"不是 免 运费\\t查 清楚 看 是 什么 原因 给 亲 补发 过去 吧，仓库处理比较慢 请您稍等下\",\n      \"summary\": \"仓库补发，运费待查，请稍等。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户使用'不是免运费'表达了对运费问题的不满，并通过'查清楚看是什么原因'显示出对当前情况的不信任和质疑，整体语气透露出明显的负面情绪。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\",\n        \"解决效率差\"\n      ],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"9\",\n      \"msg\": \"我 已经 买 了 吗 榴莲 干 55518525666好 的\\t买 了 吗\\t买 了\\t都 一个 星期 了\\t亲 实在 抱歉 之前 到 的 一批 货 因为 质量 问题 直接 退回 厂家 了 预计 明后天 会到 呢 到货 后 及时 给 您 发货 哦 您 这边 耐心 等 下\\t你 有 快递 员 的 电话 吗\\t没有\\t嗷嗷\\t恩，确实配送那边联系不太方便\",\n      \"summary\": \"客户询问榴莲干订单，客服解释因质量问题退货，预计明后天到货并尽快发货，客户询问快递员电话未果。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户多次询问订单状态（'买了吗'），并表达了对延迟的不满（'都一个星期了'），显示出焦急和失望的情绪。虽然语气相对克制，但持续的追问和简短回应（'嗷嗷'、'恩'）表明用户对服务体验不满意。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"10\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t发 邮政 的 哦，邮政有时候路由更新比较慢\",\n      \"summary\": \"建议发邮政，但物流更新可能较慢。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"用户连续使用'不早说'表达不满，'这也不行那也不行'显示出强烈的挫败感和愤怒情绪，整体对话语气充满抱怨和无奈\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\",\n        \"解决效率差\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"11\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t那 不会 的 哦，之前也有发过去延误的情况\",\n      \"summary\": \"快递无法送达，建议更换其他方式。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"用户表达出强烈的失望和不满情绪，使用了'我去不早说'的抱怨语气，以及'这也不行那也不行'的无奈和烦躁表达，整体对话透露出对物流服务的不满和挫折感\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [\n        \"使用不便\"\n      ],\n      \"msg_id\": \"12\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t韵达 邮政 EMS 随机 飞 随机 发 不 指定 快递 哦，后台设置比较死\",\n      \"summary\": \"快递随机发，不支持指定。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"用户表达了强烈的失望和不满情绪，通过'我去不早说'显示对信息延迟的愤怒，'这也不行那也不行'体现了明显的挫败感，整体语气充满抱怨和无奈\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\",\n        \"界面交互不友好\"\n      ],\n      \"product\": [\n        \"使用不便\"\n      ],\n      \"msg_id\": \"13\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t韵达 汇通 邮政 随机 发 哦，快递选择入口不好找\",\n      \"summary\": \"快递选择有限，韵达、汇通、邮政随机发货，用户取件不便。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"从对话历史中可以看出用户使用了强烈的负面表达，如'我去不早说'、'这也不行那也不行'，表现出明显的沮丧和不满情绪。用户对快递服务的选择限制感到极度困扰，语气中透露出强烈的负面情绪。\"\n    },\n    {\n      \"content\": [\n        \"客服态度差\",\n        \"流程繁琐\"\n      ],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"14\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t不好意思 只有 韵达 和 天天 呢，上次有人说送来外观有点压\",\n      \"summary\": \"快递仅韵达和天天可选，上次有压损问题。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"从对话历史中可以看出用户使用了强烈的负面表达，如'我去不早说'、'这也不行那也不行'，表现出明显的愤怒和不满情绪。用户对快递服务限制感到极度失望，语气中透露出强烈的挫败感。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [],\n      \"product\": [\n        \"使用不便\"\n      ],\n      \"msg_id\": \"15\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t不行 的 哦 已经 是 特价 了 呢，页面价格说明有点看不清\",\n      \"summary\": \"快递无法送达，特价商品无法更换。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"从对话历史中可以看出用户多次使用负面表达，如'不早说'、'这也不行那也不行'，表现出明显的沮丧和不满情绪。用户对快递服务和价格问题都感到困扰，语气中透露出强烈的负面情绪。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"设计缺陷\"\n      ],\n      \"msg_id\": \"16\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t温水 就行，有客人说说明书太简陋\",\n      \"summary\": \"用户抱怨快递无法送达，建议用温水替代说明书。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"用户表达了对物流服务的不满（'不早说发韵达能到我家那儿我就能拿到'），随后得知韵达无法送达（'韵达不发的哦'），表现出明显的挫败感和愤怒（'那要怎样这也不行那也不行'），整体语气充满抱怨和无奈，显示出非常负向的情绪状态。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"17\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t不 保证 呢 亲 那 这边 给 亲 备注 年 后 发货 呢，年前仓库回复比较慢\",\n      \"summary\": \"韵达无法发货，年后安排，年前仓库慢。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"从对话历史中可以看出用户多次表达不满和挫折感，如'不早说'、'那要怎样这也不行那也不行'等语句显示出强烈的负面情绪，表明用户对物流服务感到极度失望和愤怒。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"18\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t厂家 那边 供货 不足 哦，有的批次颜色偏差会大一点\",\n      \"summary\": \"物流问题：韵达无法送达，厂家供货不足，颜色有偏差。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"用户表达了强烈的失望和不满情绪，通过'我去不早说'显示对信息延迟的愤怒，'这也不行那也不行'体现了明显的挫败感和无奈，整体语气充满抱怨和负面情绪\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"19\",\n      \"msg\": \"我 去 不 早 说 发韵 达 能 到 我家 那儿 我 就 能 拿到\\t韵达 不发 的 哦\\t那要 怎样 这 也 不行 那 也 不行\\t您 是 要 发货 的 那 单改 地址 吗，地址修改流程可能要重新审核\",\n      \"summary\": \"用户需修改发货地址，但韵达不支持，需重新审核流程。\",\n      \"rank\": \"非常负向\",\n      \"reason\": \"从对话历史中可以看出用户使用了强烈的负面表达，如'我去不早说'表现出懊恼和不满，'这也不行那也不行'显示出明显的挫败感和愤怒情绪，整体语气透露出对物流服务的高度不满和急躁\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"设计缺陷\"\n      ],\n      \"msg_id\": \"20\",\n      \"msg\": \"可以 优惠价 么\\t我们 因为 200 把 起 给 优惠价格 您 可以 给 您 105 元 一把 哦\\t200 个 什么 价拿 200 也 可以\\t10 元 一把 哦，不过那批手柄有点粗，部分客人说握着不太顺手\",\n      \"summary\": \"200个起批，单价10元，手柄较粗。\",\n      \"rank\": \"正常\",\n      \"reason\": \"用户在对话中主要关注价格和产品细节，语气中性且务实，没有表现出明显的积极或消极情绪，只是在正常地进行商业询价和讨论。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"21\",\n      \"msg\": \"可以 优惠价 么\\t我们 因为 200 把 起 给 优惠价格 您 可以 给 您 105 元 一把 哦\\t200 个 什么 价拿 200 也 可以\\t好评 小 二家 是 反 ，之前回访说客服回复比较慢我们也在改\",\n      \"summary\": \"200把起优惠价105元/把，客服改进中。\",\n      \"rank\": \"正常\",\n      \"reason\": \"用户询问价格优惠，表现出正常的购物咨询态度，没有明显的积极或消极情绪表达。虽然提到之前客服回复慢的问题，但语气平和，属于正常的反馈沟通。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"设计缺陷\"\n      ],\n      \"msg_id\": \"22\",\n      \"msg\": \"要 买 一把 茶刀 看到 有 零食 就 拍 了 点\\t免邮 了 哦\\t好 的 谢谢 哦\\t不 客气 哦，茶刀外壳扣得有点紧 要注意\",\n      \"summary\": \"买茶刀，顺带零食，免邮，提醒茶刀外壳紧。\",\n      \"rank\": \"正向\",\n      \"reason\": \"用户在对话中表现出礼貌和感谢（'好 的 谢谢 哦'），虽然提到茶刀外壳有点紧的问题，但整体语气平和友好，没有明显的负面情绪表达。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"包装缺陷\"\n      ],\n      \"msg_id\": \"23\",\n      \"msg\": \"要 买 一把 茶刀 看到 有 零食 就 拍 了 点\\t免邮 了 哦\\t好 的 谢谢 哦\\t恩 呢，有人说零食包装不太好撕\",\n      \"summary\": \"买家买茶刀顺便买零食，卖家提醒免邮，买家感谢，有人反馈零食包装难撕。\",\n      \"rank\": \"正常\",\n      \"reason\": \"从对话历史中可以看出，用户语气平和，使用了'好的谢谢哦'等礼貌用语，虽然提到了零食包装不太好撕的问题，但并未表现出明显的负面情绪，整体情绪状态处于正常范围。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"24\",\n      \"msg\": \"我 是 说 下单 怎么 拍 几袋\\t236 是 三袋\\t哪 直接 拍 就 好 了\\t恩 数量 选择 3\\t哦 亲 : 我 买 那么 多 请 多 送 点试 吃零食 吧\\t您 拍 下 给 您 备注，仓库有时会漏送 我再帮您登记下\",\n      \"summary\": \"用户询问下单方式，客服建议直接拍3袋并承诺备注赠送试吃零食。\",\n      \"rank\": \"正向\",\n      \"reason\": \"用户在对话中表现出购买意愿和积极互动，通过使用'亲'这样的亲切称呼和请求'多送点试吃零食'，显示出友好和期待的情绪状态\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"25\",\n      \"msg\": \"我 是 说 下单 怎么 拍 几袋\\t236 是 三袋\\t哪 直接 拍 就 好 了\\t恩 数量 选择 3\\t哦 亲 : 我 买 那么 多 请 多 送 点试 吃零食 吧\\t不好意思 哈，系统弹窗很慢可能没看到\",\n      \"summary\": \"用户询问如何下单三袋商品，客服建议直接拍三袋，用户请求赠送试吃零食，客服因系统延迟未能及时回应。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户表达了购买多件商品后要求额外赠品的期望（'我买那么多请多送点试吃零食吧'），但客服回应未能满足该请求（'不好意思哈，系统弹窗很慢可能没看到'），这可能导致用户感到失望或不满，情绪偏向负向。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [],\n      \"product\": [],\n      \"msg_id\": \"26\",\n      \"msg\": \"什么 时候 发货 啊\\t在 的 客官，刚才后台卡了没立刻看到\",\n      \"summary\": \"客服回应系统延迟，将尽快发货。\",\n      \"rank\": \"正常\",\n      \"reason\": \"用户询问发货时间，语气直接但未表现出明显情绪波动，属于正常的购物咨询。客服的回应也表明用户没有使用激烈或情绪化的语言。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"27\",\n      \"msg\": \"什么 时候 发货 啊\\t带盖 的 亲 塑料盖，有人说盖子有点松 我这边帮您备注检\",\n      \"summary\": \"已备注检查盖子松紧，尽快安排发货。\",\n      \"rank\": \"正常\",\n      \"reason\": \"用户询问发货时间并提及产品细节（塑料盖可能松动），语气直接但未表现出强烈情绪，属于常规的购物咨询和问题反馈。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"28\",\n      \"msg\": \"您好\\t亲 这个 湿巾 是 24912 包 我 没 看错 价格 吧\\t对 的 亲 25 片 一包\\t这个 质量 怎么样 这么 便宜\\t质量 不错 的 呢，撕口可能有点紧\",\n      \"summary\": \"湿巾25片一包，质量不错，撕口可能稍紧。\",\n      \"rank\": \"负向\",\n      \"reason\": \"用户对湿巾的价格表示惊讶和怀疑（'没看错价格吧'），并因低价对质量产生质疑（'这么便宜'），显示出担忧和不信任的情绪。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [],\n      \"product\": [\n        \"质量缺陷\"\n      ],\n      \"msg_id\": \"29\",\n      \"msg\": \"您好\\t亲 这个 湿巾 是 24912 包 我 没 看错 价格 吧\\t对 的 亲 25 片 一包\\t这个 质量 怎么样 这么 便宜\\t不 客气 哦 说 是 可以 给 您 返现 哦 因为 上次 答应 您 了 不然 小店 一般 是 一个月 只返 一次 哦 每人 客官 有空 可以 多来 小店 逛逛 哦，返现到账时间可能稍慢\",\n      \"summary\": \"湿巾25片一包，价格优惠，返现活动，到账稍慢。\",\n      \"rank\": \"非常正向\",\n      \"reason\": \"从对话历史中可以看出，用户对湿巾的价格表示惊喜（'这么便宜'），并且客服主动提出返现优惠，用户对此没有表现出任何负面情绪。客服的友好态度和额外优惠进一步提升了用户的积极体验，整体对话氛围轻松愉快，表明用户处于非常正向的情绪状态。\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [\n        \"使用不便\"\n      ],\n      \"msg_id\": \"30\",\n      \"msg\": \"嗯 嗯\\t因为 买二送 一是 坚果 类产品 呢 不 太 清楚 不好意思 客官\\t没事\\t客官 帮 您 看 了 下 哦 牛肉干 属于 打 95 折 的 商品 哦 不 参与 买二送 一 活动 呢 实在 抱歉 呢 不过 小店 牛肉干 口味 很 不错 呢 客官 喜欢 的话 可以 拍下 哦，页面说明确实有点不清楚\",\n      \"summary\": \"牛肉干不参与买二送一，仅享95折优惠。\",\n      \"rank\": \"正常\",\n      \"reason\": \"从对话历史可以看出，用户最初对活动规则不太清楚，但客服耐心解释后，用户用'没事'表示理解，整体语气平和，没有表现出明显的负面情绪或积极情绪，处于正常的沟通状态\"\n    },\n    {\n      \"content\": [],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [\n        \"使用不便\"\n      ],\n      \"msg_id\": \"31\",\n      \"msg\": \"嗯 嗯\\t因为 买二送 一是 坚果 类产品 呢 不 太 清楚 不好意思 客官\\t没事\\t放 尿布 里面 的 吗 没有 哦，分类页面找起来比较不方便\",\n      \"summary\": \"坚果买二送一，尿布无货，分类页面不便。\",\n      \"rank\": \"负向\",\n      \"reason\": \"从对话历史中可以看出，用户表达了多个不满：对产品分类不清楚表示歉意，提到分类页面找起来不方便，这些表述都显示出用户在使用过程中遇到了困扰和挫折，整体情绪偏向负面。\"\n    },\n    {\n      \"content\": [\n        \"流程繁琐\"\n      ],\n      \"experience\": [\n        \"流程复杂度投诉\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"32\",\n      \"msg\": \"亲 在\\t您好\\t快递 发那家公\\t韵达 邮政 EMS 仓库 按 收件 地址 包裹 重量 选择 合适 的 快递 除 EMS 外 另外 2 家 快递 不 指定 哦\\t好\\t嗯 嗯 亲\\t收藏 有 送 防溢 乳垫 吗\\t亲 现在 只要 收藏 本店 100 片防溢 乳垫 截图 给 我 亲 购买 任意 产品 都 可 随单 送 一包 25 抽 湿巾 哦\\t好\\t嗯 嗯 亲\\t是 的 收藏 了\\t要 收藏 截图 哦，流程稍微有点多\",\n      \"summary\": \"收藏送防溢乳垫和湿巾，快递默认韵达、邮政，不指定。\",\n      \"rank\": \"正常\",\n      \"reason\": \"从对话历史可以看出，用户主要在进行购物咨询，询问快递公司和赠品信息，语气平和礼貌，使用'亲'、'好'等中性词汇，没有表现出明显的积极或消极情绪，整体交流过程顺畅自然。\"\n    },\n    {\n      \"content\": [\n        \"响应慢投诉\"\n      ],\n      \"experience\": [\n        \"等待时间长\"\n      ],\n      \"product\": [],\n      \"msg_id\": \"33\",\n      \"msg\": \"亲 在\\t您好\\t快递 发那家公\\t韵达 邮，稍慢 请您耐心等下\",\n      \"summary\": \"快递已发韵达，请耐心等待。\",\n      \"rank\": \"正常\",\n      \"reason\": \"用户询问快递公司并被告知使用韵达，语气平和，使用'亲'等亲切称呼，没有表现出明显的不满或积极情绪，属于日常交流的正常状态。\"\n    }\n  ]\n}"
```

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-2-1.png)

### 2.3 详情

也可以在详情页查看输入输出，此处的输出是经过格式化的 JSON 字符串

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-3-1.png)

### 2.4 追踪

追踪页可以查看所有节点的运行情况

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-4-1.png)

点击任意位置展开节点详情

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-4-2.png)

### 2.5 查看迭代节点输入输出

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-1.png)

点击下图位置，展开迭代详情

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-2.png)

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-3.png)

点击任意迭代，展开迭代详情

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-4.png)

以`迭代1`为例，内部节点运行全流程如下

#### 2.5.1 提取 ID 和 MSG

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-5.png)

##### 1.输入

```json
{
  "row": {
    "msg_id": "1",
    "history_message": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂"
  }
}
```

##### 2.输出

```json
{
  "id": "1",
  "msg": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂"
}
```

#### 2.5.2 问题分类

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-6.png)

##### 1.数据处理

输入为空，大模型的输入信息展示在数据处理部分

```json
{
  "model_mode": "chat",
  "prompts": [
    {
      "role": "system",
      "text": "# 角色：对话记录内容分析专家\n你是一名客服对话记录分析专家\n\n## 目标：\n你可以获取对话记录，进行内容分类的打标分析，然后进行输出\n\n\n## 工作流：\n1.  你可以根据对话记录进行分问题的分类分析 \n- 产品问题：质量缺陷、功能投诉等\n- 服务问题：响应慢投诉、解决效率差等\n- 体验问题：流程复杂度投诉等\n2. 请根据第一步的判断的问题类型，进一步判断此分类下的具体标签，比如质量缺陷、产品投诉等；如果判断输出的内容标签没有相关，则不输出此分类\n\n## 输出格式：\n  {\n    \"product\": [\"质量缺陷\", \"功能投诉\", \"使用不便\", \"设计缺陷\"]\n  },\n  {\n    \"content\": [\"响应慢投诉\", \"解决效率差\", \"客服态度差\", \"流程繁琐\"]\n  },\n  {\n    \"experience \": [\"流程复杂度投诉\", \"界面交互不友好\", \"等待时间长\"]\n  }\n\n## 限制：\n- 请严格按格式输出",
      "files": []
    },
    {
      "role": "user",
      "text": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂",
      "files": []
    }
  ],
  "usage": {
    "prompt_tokens": 553,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.001106",
    "completion_tokens": 20,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.00016",
    "total_tokens": 573,
    "total_price": "0.001266",
    "currency": "RMB",
    "latency": 1.0580756459385157
  },
  "finish_reason": "stop",
  "model_provider": "langgenius/deepseek/deepseek",
  "model_name": "deepseek-chat"
}
```

##### 2.输出

```json
{
  "text": "{\n  \"product\": [\"质量缺陷\"],\n  \"content\": [],\n  \"experience\": []\n}",
  "reasoning_content": "",
  "usage": {
    "prompt_tokens": 553,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.001106",
    "completion_tokens": 20,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.00016",
    "total_tokens": 573,
    "total_price": "0.001266",
    "currency": "RMB",
    "latency": 1.0580756459385157
  },
  "finish_reason": "stop",
  "structured_output": {
    "product": ["质量缺陷"],
    "content": [],
    "experience": []
  }
}
```

#### 2.5.3 内容总结

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-7.png)

##### 1.数据处理

输入为空，大模型的输入信息展示在数据处理部分

```json
{
  "model_mode": "chat",
  "prompts": [
    {
      "role": "system",
      "text": "你是一名对话总结助手，你可以根据对话信息总结关键信息，总结文案在30个字内",
      "files": []
    },
    {
      "role": "user",
      "text": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂",
      "files": []
    }
  ],
  "usage": {
    "prompt_tokens": 78,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.000156",
    "completion_tokens": 18,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.000144",
    "total_tokens": 96,
    "total_price": "0.0003",
    "currency": "RMB",
    "latency": 0.8928034119307995
  },
  "finish_reason": "stop",
  "model_provider": "langgenius/deepseek/deepseek",
  "model_name": "deepseek-chat"
}
```

##### 2.输出

```json
{
  "text": "顾客要求买两份优惠，商家表示已是最低价，并提及改进包装问题。",
  "reasoning_content": "",
  "usage": {
    "prompt_tokens": 78,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.000156",
    "completion_tokens": 18,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.000144",
    "total_tokens": 96,
    "total_price": "0.0003",
    "currency": "RMB",
    "latency": 0.8928034119307995
  },
  "finish_reason": "stop"
}
```

#### 2.5.4 情感分析

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-8.png)

##### 1.数据处理

输入为空，大模型的输入信息展示在数据处理部分

```json
{
  "model_mode": "chat",
  "prompts": [
    {
      "role": "system",
      "text": "# 角色\n你是一名出色的用户情绪分析大师，擅长从对话历史中精准分析出用户的情绪状态。\n\n## 技能\n### 技能 1: 分析情绪等级\n1. 仔细研读对话历史。\n2. 将用户的情绪准确划分为5个等级。\n-非常负向\n-负向\n-正常\n-正向\n-非常正向\n3. 清晰阐述划分到此等级的依据。\n===回复示例===\n   - rank：[具体等级]\n   - reason：[详细说明从对话历史中判断出该情绪等级的理由]\n===示例结束===\n\n## 限制:\n- 只专注于分析用户在对话历史中的情绪状态，拒绝回答与情绪分析无关的话题。\n- 所输出的内容必须按照给定的格式进行组织，不能偏离框架要求。",
      "files": []
    },
    {
      "role": "user",
      "text": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂",
      "files": []
    }
  ],
  "usage": {
    "prompt_tokens": 483,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.000966",
    "completion_tokens": 54,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.000432",
    "total_tokens": 537,
    "total_price": "0.001398",
    "currency": "RMB",
    "latency": 1.5805789940059185
  },
  "finish_reason": "stop",
  "model_provider": "langgenius/deepseek/deepseek",
  "model_name": "deepseek-chat"
}
```

##### 2.输出

```json
{
  "text": "{\n  \"rank\": \"负向\",\n  \"reason\": \"用户使用'有没有少点呀'表达了希望获得更多折扣的诉求，结合语气词'呀'显示出对当前价格的不满和期待更优惠的价格，整体情绪偏向负面。\"\n}",
  "reasoning_content": "",
  "usage": {
    "prompt_tokens": 483,
    "prompt_unit_price": "2",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.000966",
    "completion_tokens": 54,
    "completion_unit_price": "8",
    "completion_price_unit": "0.000001",
    "completion_price": "0.000432",
    "total_tokens": 537,
    "total_price": "0.001398",
    "currency": "RMB",
    "latency": 1.5805789940059185
  },
  "finish_reason": "stop",
  "structured_output": {
    "rank": "负向",
    "reason": "用户使用'有没有少点呀'表达了希望获得更多折扣的诉求，结合语气词'呀'显示出对当前价格的不满和期待更优惠的价格，整体情绪偏向负面。"
  }
}
```

#### 2.5.5 聚合分析结果

![客服对话记录分析案例操作截图](../../images/3.7/3.7-2-5-9.png)

##### 1.输入

```json
{
  "problems": {
    "product": ["质量缺陷"],
    "content": [],
    "experience": []
  },
  "summary": "顾客要求买两份优惠，商家表示已是最低价，并提及改进包装问题。",
  "senti_analysis": {
    "rank": "负向",
    "reason": "用户使用'有没有少点呀'表达了希望获得更多折扣的诉求，结合语气词'呀'显示出对当前价格的不满和期待更优惠的价格，整体情绪偏向负面。"
  },
  "msg_id": "1",
  "msg": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂"
}
```

##### 2.输出

```json
{
  "result": {
    "content": [],
    "experience": [],
    "product": ["质量缺陷"],
    "msg_id": "1",
    "msg": "买 二份 有没有 少点 呀\t亲亲 真的 不好意思 我们 已经 是 优惠价 了 呢 小本生意 请亲 谅解，之前也有客人说收到的包装有点松散，后面我们有提醒工厂",
    "summary": "顾客要求买两份优惠，商家表示已是最低价，并提及改进包装问题。",
    "rank": "负向",
    "reason": "用户使用'有没有少点呀'表达了希望获得更多折扣的诉求，结合语气词'呀'显示出对当前价格的不满和期待更优惠的价格，整体情绪偏向负面。"
  }
}
```
