Redis 如何在聊天机器人中管理上下文/状态?
我正在使用Python、芹菜和MS bot框架开发聊天机器人。我想添加如下小对话框: 用户:你好 用户:给我点薯条 机器人:好的。地址 用户:xyz,州,82288 机器人:明白了。我给你点炸薯条 在这里,在用户给我地址后,我如何临时存储薯条以访问它? 此外,我认为如果用户在2-3分钟内没有响应,那么我的用例忘记订单是什么应该是可以接受的。因此,我还可以为存储的变量设置一个超时 我想用redis。我正在考虑在redis db中存储以下内容:Redis 如何在聊天机器人中管理上下文/状态?,redis,bots,botframework,telegram-bot,facebook-messenger-bot,Redis,Bots,Botframework,Telegram Bot,Facebook Messenger Bot,我正在使用Python、芹菜和MS bot框架开发聊天机器人。我想添加如下小对话框: 用户:你好 用户:给我点薯条 机器人:好的。地址 用户:xyz,州,82288 机器人:明白了。我给你点炸薯条 在这里,在用户给我地址后,我如何临时存储薯条以访问它? 此外,我认为如果用户在2-3分钟内没有响应,那么我的用例忘记订单是什么应该是可以接受的。因此,我还可以为存储的变量设置一个超时 我想用redis。我正在考虑在redis db中存储以下内容: { 'conversationId':['order
{
'conversationId':['orderitem':'fries','address':'state, pincode']
}
基本上是一个key,value对,key=conversationId,value='order,address'
<强> >,这看起来是个不错的选择吗?< /强>
您应该考虑使用在BOT内管理状态。 bot可以管理3种状态数据,即用即用:你应该考虑在BOT内使用管理状态。< /P> bot可以管理3种状态数据,即用即用:
我已经经历过了。第一段本身以以下注释结尾:重要:
Bot State服务仅用于原型设计,而不是设计用于生产环境中的Bot。出于性能和安全考虑,您应该实现自己的机制来管理生产环境中的状态数据。
这里您可以看到一些自定义实现:我已经介绍过了。第一段本身以以下注释结尾:重要:Bot State服务仅用于原型设计,而不是设计用于生产环境中的Bot。出于性能和安全原因,您应该实现自己的机制来管理生产环境中的状态数据。
这里您可以看到一些自定义实现:使用redis是一个不错的选择,但为了更好地实践,请记住以下几点:1。使用json格式保存数据。2.您还应该为redis数据设置一个超时。因此,每当redis超时时,最好将用户数据保存在一个文件中。然后,您可以在用户再次返回时检索它们的状态。这样,你就不会失去用户的状态。使用redis是一个不错的选择,但是为了更好的实践,记住以下几点:1。使用json格式保存数据。2.您还应该为redis数据设置一个超时。因此,每当redis超时时,最好将用户数据保存在一个文件中。然后,您可以在用户再次返回时检索它们的状态。这样,您就永远不会失去用户的状态。