gpt4 book ai didi

javascript - 在 Dialogflow v2 中使用 Node.js Webhook 自定义快速回复

转载 作者:行者123 更新时间:2023-12-03 01:09:54 26 4
gpt4 key购买 nike

我的用例以更好地理解问题

我正在开发一个聊天机器人,为 worker 解决假设的装配线上的问题提供支持。机器人与用户打招呼后,会建议他使用徽章号码进行身份验证。然后,如果用户接受机器人的提示,机器人会询问他需要支持列表中的哪个组件。
每个 worker 只能管理装配线组件集的一个子集。我的目标是只向用户展示他有资格管理的部分。 enter image description here

...但真正的问题在这里

我的问题是关于通过 Node.js webhook 设置快速回复。在这里你可以看到

我使用 QuickReplies 的 webhook(简化)

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {QuickReplies}= require('dialogflow-fulfillment');
const https=require('https');


exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

function getAllowedParts(agent){
/* deleted all unuseful details*/
agent.add(new QuickReplies(['A','B','C']);
} //close getAllowedParts


let intentMap = new Map();
intentMap.set('UserIntro', getAllowedParts);
agent.handleRequest(intentMap);

});

但它不起作用,在控制台中打印

TypeError: QuickReplies is not a constructor

我遵循了我发现的here我使用了 https://github.com/dialogflow/dialogflow-fulfillment-nodejs/blob/master/docs/WebhookClient.md#WebhookClient+handleRequest 处的 WebhookClient 函数.

真正的问题是我无法理解在 Dialogflow v2 中使用 Node.js webhook 添加非默认快速回复的正确过程是什么。我还查看了rich messages documentantion ,但它发现它在这个主题上非常缺乏。任何帮助将不胜感激,谢谢

最佳答案

您应该会在 Dialogflow 控制台的默认 index.js 文件中看到注释掉的快速回复示例。

 agent.add(new Suggestion(`Quick Reply`));
agent.add(new Suggestion(`Suggestion`));

您还可以从 Github repo 看到还有其他可用的快速回复方法:

let suggestion = new Suggestion('reply to be overwritten');
suggestion.setReply('reply overwritten');

关于javascript - 在 Dialogflow v2 中使用 Node.js Webhook 自定义快速回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com