我在qnamaker.ai配置了一个知识库,发布了它,并使用Azure创建了一个机器人。
在团队中,我创建了一个新的机器人应用程序,并将其与已部署的机器人相关联。bot允许用于私人聊天、组聊天和团队。
但要与机器人对话,必须提到,那么问题在哪里呢?

更新:
感谢希尔顿下面的回答,我注意到当你下载bot源代码(在我的例子中,它是一个dotnet核心项目)时,README.MD文件说明了这个问题--以及如何修复
微软团队频道组聊天补丁
Bot/QnABot.csOnTurnAsync函数修改为:公共覆盖异步任务OnTurnAsync(ITurnContext turnContext,CancellationToken cancellationToken = default) { // Teams组chat;//保存可能发生的状态更改。等待ConversationState.SaveChangesAsync(turnContext,false,cancellationToken);等待UserState.SaveChangesAsync(turnContext,false,cancellationToken);}发布于 2020-11-30 17:45:13
如果您检查第一条消息中返回的文本,它将是“”。然而,在第二条信息中,它将是“”,QnAMaker正在艰难地解析它。在将查询文本传递给QnAMaker之前,您想要做的是从文本中完全删除"@“。
这是一个常见的问题,因此已经有了一种方法来处理这个问题。您没有提到您正在开发的平台,但是这里有一个指向RemoveRecipientMention方法的dotnet链接。我很确定节点上有一个等价物,等等。
最后的效果将是在这两种情况下将活动的文本转换为相同的文本,这将导致来自QnAMaker的相同响应。
https://stackoverflow.com/questions/65076098
复制相似问题