我正在开发一个聊天机器人,几天后用户需要继续聊天。因此,我计划存储会话ID,以确保用户可以在他离开的地方启动会话表单。 有什么解决办法吗?
答案 0 :(得分:1)
所以我也尝试了一个聊天机器人,这是我所做的,我将对话框流响应上下文存储在db中,并在30分钟后将存储在db中的最后一个带有请求的内容发送给dialogflow detectIntent。而且效果很好,而不是使用默认后备。它给出了预期的意图响应。
// request to dialogflow detect intent
const request = {
session: session,
queryInput: {
input
},
context:"last received context from dialogflow" //recent context from db
};
detectIntent(request).then(response=>{
const context = response.context; //response context
db.save(context); // save this in db
return response;
});
答案 1 :(得分:0)
根据dialogflow documentation,上下文的寿命为20分钟。这间接意味着该会话具有相同的生存期。但是,当我尝试此操作时,我感觉不到20分钟。这更像是10-20分钟。仅存储会话ID将无济于事。您将必须保存收到的响应的上下文,并在下次发送请求时将其发送。