对话流程会话的生命周期是多长?

时间:2018-12-11 05:09:45

标签: dialogflow

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

2 个答案:

答案 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将无济于事。您将必须保存收到的响应的上下文,并在下次发送请求时将其发送。