问题描述
我做了一个聊天机器人。开始对话时,该漫游器会显示消息“选择语言”,并提供了使用两个按钮的选项来选择语言,两个按钮分别显示“英语”和“法语”(我有2种型号:英语和法语)。 >
问题是“如何根据单击的按钮重新加载合适的模型?”
谢谢。
解决方法
由于Rasa启动脚本的性质,很难实施。基本上,他们希望您在服务器启动时启动模型并继续使用它。基线问题是Rasa每种服务仅允许一种模型。即,如果您不对启动脚本的编写方式进行一些重大更改,则它不能同时提供两种语言的服务(我在rasa 1.9之前还没有工作,所以我的答案可能已经过时了-但我对此表示高度怀疑)
因此,我所看到的首选解决方案是为两种语言使用两个单独的机器人实例,并在前端使用语言触发/切换机制将用户消息路由到正确的机器人。
编辑:添加项目结构。
- Front-End : Has a language chooser dropdown menue. FE sends messages to the web server. i.e. www.your.server/chatbot/{language}
- web server: nginx to expose bot APIs: Routes the messages to the correct bots based on the input path (/chatbot/{language}).
---- Bot 1: Language: en
---- Bot 2: Language: zh_CN