type
status
date
slug
summary
tags
category
icon
password
文章目录
- * Coze 识别用户意图
Coze 识别用户意图
本文将通过 LLM 节点、Condition 节点和插件节点构建一个用于识别用户意图的工作流。
效果示例
本文构建的示例工作流概览如下。

在该工作流中:
- 使用 LLM 节点将用户输入数据分为 **1(天气)** 、**2(新闻)** 、**3(其他)** 三种类型。
- 使用 Condition 节点判断用户输入数据的类型,并分支处理。
- 如果数据类型为 **1** ,会将数据流转至 LLM 节点和获取天气工具节点,获取地区天气。
- 如果数据类型为 **2** ,会将数据流转至获取新闻工具节点,获取新闻。
- 如果数据类型为 **3** ,则不做处理直接返回。
下图展示了示例工作流添加到 Bot 之后,Bot 带来的用户任务处理能力。当用户输入内容后,Bot 会调用示例工作流处理任务,并向用户返回处理结果。

步骤一:构建工作流
- 在页面顶部进入**工作流** 页面,并单击**创建工作流** 。
- 本文示例配置如下:
- **工作流名称** :输入 weather_news_workflow
- **工作流描述** :输入 识别用户意图并获取相关信息(仅获取天气、新闻相关)
- 在工作流的编辑页面,按如下图所示的顺序,依次添加 LLM 节点、Condition 节点、插件节点,并进行连接。
- 你可以在编辑页面左侧的**基础节点** 列表内,添加 LLM 节点、Condition 节点。
- 你可以在编辑页面左侧的插件列表内,搜索并添加 get_current_weather 工具节点(用于查询天气)、getToutiaoNews 工具节点(用于获取新闻)。
- 
- 连接各节点后,依次为节点配置输入输出参数。
- 本示例中各节点配置的参数信息如下表所示。
| **节点** | **参数配置** |
| --------- | ------------------------------------------------------------ |
| Start | 新增 input 输入参数,选择 **String** 类型。 |
| LLM | 选择 LLM 节点的**单次**模式。示例配置如下:Temperature:输入 0.7。输入参数:名称 **query**,并在**变量值**区域选择**引用 Start > input**。提示词:使用以下示例 Markdown 信息,表示将用户输入的数据传入 LLM 进行处理。**## 分析**分析以下使用 ```括起来的文本:```{{query}}```## 返回- 如果文本与天气有关,则返回1 - 如果文本与新闻有关,则返回2 - 否则返回3输出值:名称 **intent**,类型选择 **String**。 |
| Condition | 第一个 Condition 节点。从该节点开始,工作流将分为两个分支。示例配置如下:分支一:**如果**区域的判断条件设置为 **LLM > intent 取值包含 1** ,并连接至第二个 LLM 节点(LLM_1)。该分支用于获取天气数据。分支二:**否则**区域无需设置参数,连接至第二个 Condition 节点即可。该分支用于做下一步的判断。 |
- 分支一用于获取天气数据,节点配置如下表。
| **节点** | **参数配置** |
| ------------------- | ------------------------------------------------------------ |
| LLM_1 | 选择 LLM 节点的**单次**模式。示例配置如下:Temperature:输入 0.7。输入参数:名称 **query**,并在**变量值**区域选择**引用 Start > input**。提示词:使用以下示例 Markdown 信息,表示将用户输入的数据传入 LLM 进行处理。**## 返回**从{{query}}中提取地理位置信息,并转换为对应的经纬度(十进制数值)。- 纬度参数:{{lat}}- 经度参数:{{lon}}输出值:新增 lat,类型选择 **String**。新增 lon,类型选择 **String**。 |
| get_current_weather | 获取指定地区天气。选择节点内的**单次**模式,并需要配置以下输入参数:设置 lat 参数,在**参数值**区域选择**引用 LLM_1 > lat**。设置 lon 参数,在**参数值**区域选择**引用 LLM_1 > lon**。 |
| End | 在 End 节点的输入参数中,新增一个名为 weatherForecasts 参数,并在**参数值**区域选择**引用 get_current_weather > weather**。该参数用于返回天气信息。 |
- 分支二用于进行下一步判断,判断是获取新闻,还是直接流转至 End 节点。
| **节点** | **参数配置** |
| -------------- | ------------------------------------------------------------ |
| Condition | 第二个 Condition 节点,用于判断是继续获取新闻,还是直接流转至 End 节点。**如果**区域的判断条件设置为 **LLM > intent 取值包含 2** ,并连接至 getToutiaoNews 节点。该分支用于获取新闻。**否则**区域无需设置参数,连接至 End 节点即可。 |
| getToutiaoNews | 搜索新闻。选择节点内的**单次**模式,并需要配置输入参数 **q** 的**参数值**为**引用 Start > input**。 |
| End | 在 End 节点的输入参数中,新增以下参数,参数名称 intent,**参数值**选择**引用 LLM > intent**。该参数用于返回用户意图。参数名称 newsItems,**参数值**选择**引用 getToutiaoNews > news**。该参数用于返回新闻内容。 |
- 配置完成后,单击页面右上角的**试运行** ,测试工作流。
- 例如,输入 杭州天气 进行测试,待所有节点都运行成功(节点会展示绿色边框)后,查看指定节点的运行结果。测试完天气之后,按同样的方法测试新闻和其他内容即可。
- 测试工作流无问题后,单击页面右上角的**发布** 。
- 成功发布后,在工作流列表中可以查看到该工作流。
步骤二:在 Bot 添加工作流并测试
- 前往当前团队的 **Bots** 页面,创建或进入指定 Bot。
- 在 Bot 编排页面,找到**技能** 区域的**工作流** ,在右侧单击加号图标。
- 在对话框左侧单击**我创建的** ,找到自建的 **weather_news_workflow** 工作流,并在右侧单击**添加** 。
- 
- 在 Bot 的**人设与回复逻辑** 内,声明 Bot 使用 **weather_news_workflow** 工作流处理任务。
- 编写后,你可以单击**优化** ,让 AI 帮助你生成结构化的回复逻辑。
- 在 Bot 的右侧**预览与调试** 区域,输入内容预览 Bot 实现的效果。
- 例如输入 杭州天气。
- 
- 作者:Maynor
- 链接:https://maynor1024.live/article/2dd1f390-6aa9-816b-a469-e750203e577a
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
