gpt4 book ai didi

javascript - Dialogflow api 调用有效,但聊天机器人关闭

转载 作者:行者123 更新时间:2023-11-30 14:24:12 25 4
gpt4 key购买 nike

在 Dialogflow 中,我使用免费版 (V2) 和 Firebase 的 blaze 计划。我有一个适用于“测试”一词的 Intent。当我在模拟器中输入“测试”时,聊天机器人给出无响应并离开聊天。它应该调用我的 API 并检索信息。

奇怪的是,有一个 console.log 打印出正文并从 API 返回 JSON。所以这意味着 API 调用工作正常,但机器人中的某处仍然存在错误。

我发现了这个问题:Dialogflow v2 error “MalformedResponse 'final_response' must be set”

它看起来很像我的问题,但我似乎无法弄清楚我应该改变什么才能使我的工作正常进行。

提前感谢您的宝贵时间。

实现:

function testcommand(agent) {
callNPApi().then((output) => {
agent.add(output);
}).catch(() => {
agent.add("That went wrong!");
});
}

function callNPApi() {
return new Promise((resolve, reject) => {
request2(url, function (error, response2, body){
//The substring is too ensure it doesnt crash for the character limit yet
body = body.substring(1,10);
console.log('Api errors: ' + JSON.stringify(error));
console.log('Api body: ' + JSON.stringify(body));

if (error) {
reject();
}
resolve('api call returned: ');
});
});
}

控制台中的响应:

{
"responseMetadata": {
"status": {
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [
{
"@type": "type.googleapis.com/google.protobuf.Value",
"value": "{\"id\":\"bca7bd81-58f1-40e7-a5d5-e36b60986b66\",\"timestamp\":\"2018-09-06T12:45:26.718Z\",\"lang\":\"nl\",\"result\":{},\"alternateResult\":{},\"status\":{\"code\":200,\"errorType\":\"success\"},\"sessionId\":\"ABwppHFav_2zx7FWHNQn7d0uw8B_I06cY91SKfn1eJnVNFa3q_Y6CrE_OAJPV-ajaZXl7o2ZHfdlVAZwXw\"}"
}
]
}
}
}

控制台报错:

MalformedResponse
'final_response' must be set.

最佳答案

是的,这是同样的问题。

问题是您从 callNPApi() 返回一个 Promise,但是您的事件处理程序(我假设是 testcommand())不是' t 也返回一个 Promise。如果您在处理程序中的任何位置执行异步调用,则必须使用 Promise,如果您使用 Promise,则还必须从处理程序返回该 Promise。

在您的情况下,这应该是一个简单的更改。只需将“返回”添加到您的处理程序。所以它可能看起来像这样

function testcommand(agent) {
return callNPApi().then((output) => {
agent.add(output);
}).catch(() => {
agent.add("That went wrong!");
});
}

关于javascript - Dialogflow api 调用有效,但聊天机器人关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52204908/

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