如何在DialogFlow中使用Class Token
DialogFlow Class Token 使用说明及Inline Editor操作指南
Class Token 核心用途与基础使用方法
Class Token 是DialogFlow用于给意图/自定义实体打分类标签的专用标记,核心作用是强化模型对同类别意图的特征识别,减少相似意图的误匹配概率,常规使用流程如下:
- 进入DialogFlow控制台的对应Agent,在「意图分组」或「自定义实体」模块创建你需要的分类组,生成对应
cls_开头的Class Token值 - 在训练用的用户表述样本中,对应位置插入生成的Class Token,标注清楚样本所属的分类特征
- 提交模型重新训练,训练完成后即可生效,后续用户输入匹配时模型会自动识别对应分类特征,返回对应的Class Token标识
Fulfillment Inline Editor 操作说明
你完全可以在Fulfillment的Inline Editor中处理Class Token相关的运行时逻辑,目前支持两类常见操作:
1. 读取模型返回的Class Token值
你可以直接从webhook请求体的queryResult字段中提取识别到的Class Token,用于后续业务分支判断,Node.js示例代码如下:
const { WebhookClient } = require('dialogflow-fulfillment'); const functions = require('firebase-functions'); exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => { const agent = new WebhookClient({ request: req, response: res }); // 提取识别结果中的Class Token const matchedClassToken = req.body.queryResult.classToken; if (matchedClassToken === 'cls_after_sales') { // 处理售后类请求逻辑 } else if (matchedClassToken === 'cls_pre_sales') { // 处理售前咨询逻辑 } });
2. 动态注入Class Token到上下文
你可以在webhook响应中把Class Token写入输出上下文,用于后续多轮会话的分类特征传递,示例代码如下:
agent.setContext({ name: 'user-class-mark', lifespanCount: 3, parameters: { classToken: 'cls_after_sales' } });
注意:Inline Editor仅支持运行时的Class Token读写,如果你需要新增、修改、删除Class Token的基础配置,只能在DialogFlow控制台操作,无法通过Inline Editor完成。
内容的提问来源于stack exchange,提问作者user222708
相关产品推荐
相关产品推荐

