Dialog流会话的生存期是多少



我正在开发一个聊天机器人,用户需要在几天后继续聊天。因此,我计划存储会话ID,以确保用户可以从他离开的地方启动会话表单。有什么解决方案吗?

根据对话流文档,上下文的生存期为20分钟。这间接地意味着会话具有相同的生存期。但当我尝试这个时,我觉得这还不到20分钟。这更像是10-20分钟。只存储会话ID没有帮助。您必须保存收到的响应的上下文,并在下次将其与请求一起发送。

所以我也在聊天机器人中尝试过,这是我所做的,我将对话流响应上下文存储在数据库中,并在30分钟后将存储在数据库的最后一个上下文与请求一起发送给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;
});

最新更新