我正在开发一个使用Python,芹菜和MS bot框架的聊天机器人。我想补充的小对话框,如下所示:如何在聊天机器人中管理上下文/状态?
用户:您好
网友:给我来薯条。
机器人:好的。地址?
用户:xyz,state,82288
Bot:明白了。我会为你点炸薯条。
在这里,我怎么能暂时存储薯条之后用户才能访问它给我的地址吗?
此外,我觉得应该可以接受我的用例,如果用户在2-3分钟内没有响应,忘记命令是什么。所以,我也可以有一个超时的存储变量。
我想过使用redis。我想存储的东西就像是Redis的分贝以下内容:
{
'conversationId':['orderitem':'fries','address':'state, pincode']
}
基本上是一个键,值对键=的conversationId和值=“的顺序地址”。
那么,这看起来不错吗?
它使用Redis的一个不错的选择,但更好的做法,心里有这些中的用户状态数据:1.使用JSON形成ats保存数据。 2.你也应该有redis数据超时。因此,每当redis超时时,将用户数据保存在文件中是很好的做法。然后,只要用户再次返回,您就可以检索自己的状态。这样,你永远不会放松用户的状态。 – tashakori