全频道元数据指南 | Woztell 聊天机器人优化

全频道元数据

全频道元数据 是一个可以应用于频道中所有树的JSON对象。此元数据可以是数据源ID、高级功能的API路径,甚至是基本的问候响应。您可以在“树设置”的“频道”中编辑元数据。

您可以利用全频道元数据来提高 可重用性 并减少树构建的频道 部署时间。例如,在将 FAQ树构建 部署到新频道时,您可以保持完全相同的树构建,只需更改新频道元数据设置中的数据源ID即可。

预期结果​

在下面的示例中,用户在Facebook Messenger和WhatsApp的 全频道元数据 中应用了不同的 数据源ID。您可以明显看到内容略有不同,但对话流程相同。

Facebook 5级FAQ聊天机器人
Facebook 5级FAQ聊天机器人
WhatsApp 5级FAQ聊天机器人
相同的FAQ聊天机器人构建部署于Facebook和WhatsApp
Facebook数据源
Facebook数据源
WhatsApp数据源
Facebook和WhatsApp使用不同的数据源

实操指南​

  1. 您应决定在不同频道中要更改聊天机器人的哪一部分构建内容。

  2. 定位该聊天机器人的部分,并相应地应用 this.channel.metadata。例如,如果您想为不同频道使用不同的数据源,您可以找到并 替换所有 原始数据源ID为 this.channel.metadata.faqDataSourceId 在 collectionName中。

示例预操作

return new Promise(async (resolve, reject) => {
console.log("in Save Category 1 answers")
let result = await this.fetchDataFromDataSource({
channel: this.channel,
collectionName: this.channel.metadata.faqDataSourceId,
filter: {}
})
console.log("result", result)
result = this.lodash.uniqBy(result, "类别 1")
console.log("result", result)
result = this.lodash.reject(result, { "类别 1": "" })
console.log("result", result)

result = this.lodash.sortBy(result, "类别 1 优先级")

this.member.botMeta.tempData.currentAnswers = result.map(obj => obj["类别 1"])
this.member.botMeta.tempData.listLength = result.length

resolve({
member: this.member,
})
Copy
  1. 前往指定频道,并在“全频道元数据”的“树设置”中添加元数据JSON对象。
全频道元数据
全频道元数据

下面是一个 FAQ数据源 的示例元数据对象:

{
"this.channel.metadata.faqDataSourceId": "5ea26a9d54dasd3dasd2_faq_level_5",
}
Copy
  • 对于metadata.后面的文本,您可以根据您的使用场景指定任何名称。
  • 对于"this.channel.metadata.faqDataSourceId"后面的字符串,您可以输入实际数据(例如数据源ID或API路径),以应用于特定频道。