我最近开始学习和开发一个带有Dialog flow的聊天机器人。聊天机器人将被用作移动应用程序和web集成。
在使用对话流实现时,我用来编辑已经有一些示例的内联实现编辑器。卡片和建议从dialogflow-fulfillment库中导入并使用。在这一点上,一切都很好。
但是,当我试图通过导入actions- on -google库来使用来自actions的Carousel、List等时,它正在使用Android Google Assistant,但web的响应是这样的:“无法在Dialogflow模拟器中显示响应。请在Google Assistant模拟器上测试……”
实际上我希望做的是,使用
我正在使用botframework的python sdk来设计我的机器人。我在我的对话设计中使用瀑布风格的对话框。
我的机器人从一个对话框开始,询问user:"I can show documents for topic A, B, C. Of what topic you would like to see documents?"来验证用户是否提交了正确的主题,我使用自定义验证器,并使用luis I验证用户是否输入了正确的主题。
在对话框的瀑布步骤中,我使用用户输入的主题向他显示各自的主题。但在这里,我还必须再次点击luis服务,以便从用户消息中提取主题,然后从主题列表中使用
我用创建了一个聊天机器人v4,它运行得很好。我们有两个环境QA和PROD。随着时间的推移,机器人具有更多的功能和对话框。
我们已经发现,在PROD (与QA具有相同的代码)中,它不能正常工作,有时它退出当前的对话框并返回到init。
我已经尝试过连接QnA QA基础,以检查它是否是DB问题,但它还没有解决问题。
这是我代码的一部分
在Bot.cs in OnTurnAsync中
if (activity.Type == ActivityTypes.Message)
{
// Continue the current dialog
var dialogResult = await
我发现在对话结束之前,用户必须做出响应是有限制的:
"Your response must occur within about 5 seconds or the Assistant assumes your fulfillment has timed out and ends your conversation."
但是,是否存在用户可以响应的最大值(输入语音)?我们希望允许更长的响应(然后访问响应文本)。
理想情况下,我们希望无限制的响应时间和能力,以访问原始输入(类型语音)时收到
如果我们可以从用户的回复中获取音频,那就太好了,但据我所知,这是不可能的。