Metadados em todo o Canal: Guia para otimizar chatbots Woztell

Metadados em todo o Canal

Metadados em todo o canal é um objeto JSON que pode ser aplicado a todas as árvores em um Canal. Esses metadados podem ser um ID de fonte de dados, caminho de API para uma função avançada ou até mesmo uma resposta básica de saudação. Você pode editar os metadados em "Configurações da Árvore" de um "Canal".

Você pode utilizar os metadados em todo o canal para melhorar a reusabilidade e reduzir o tempo de implantação de uma construção de árvore. Por exemplo, no cenário em que você está implantando uma construção de árvore FAQ em um novo canal, você pode manter a mesma construção de árvore e simplesmente alterar o ID da fonte de dados nas configurações de metadados do novo canal.

Resultado Esperado

No exemplo a seguir, o usuário aplicou diferentes IDs de fonte de dados nos Metadados em todo o Canal para Facebook Messenger & WhatsApp. Você pode perceber claramente que o conteúdo é ligeiramente diferente, mas o fluxo de conversa é o mesmo.

Facebook Nível 5 FAQ Chatbot
Facebook Nível 5 FAQ Chatbot
WhatsApp Nível 5 FAQ Chatbot
A mesma construção de FAQ chatbot sendo implantada no Facebook & WhatsApp
Fonte de dados com Facebook
Fonte de dados com Facebook
Fonte de dados com WhatsApp
As fontes de dados são diferentes para Facebook & WhatsApp

Praticando

  1. Você deve decidir qual parte da construção do seu chatbot será alterada em diferentes canais.

  2. Localize essa parte da construção do chatbot e aplique this.channel.metadata de forma apropriada. Por exemplo, se você deseja usar uma fonte de dados diferente para um canal diferente, você pode localizar e substituir todas as IDs de fontes de dados originais com this.channel.metadata.faqDataSourceId na collectionName.

Exemplo de Ação Prévia

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, "Categoria 1")
console.log("result", result)
result
= this.lodash.reject(result, { "Categoria 1": "" })
console.log("result", result)

result = this.lodash.sortBy(result, "Categoria 1 Prioridade")

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

resolve({
member: this.member,
})

Copy
  1. Vá até o canal específico e adicione o objeto JSON de metadados em "Metadados em todo o Canal" dentro de "Configurações da Árvore".
Metadados em todo o Canal
Metadados em todo o Canal

Abaixo está um exemplo de objeto de metadados para a fonte de dados FAQ:

{
"this.channel.metadata.faqDataSourceId": "5ea26a9d54dasd3dasd2_faq_level_5",
}
Copy
  • Para o texto após metadata. você pode designar quaisquer nomes para se adequar ao seu caso de uso.
  • Para a string após "this.channel.metadata.faqDataSourceId", você pode inserir o dado real (ex: ID da fonte de dados ou caminho da API) para ser aplicado em um canal específico.