Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# QnAMakerDialog-使用元数据_C#_Botframework_Qnamaker - Fatal编程技术网

C# QnAMakerDialog-使用元数据

C# QnAMakerDialog-使用元数据,c#,botframework,qnamaker,C#,Botframework,Qnamaker,有了qnamaker 4.0 api(我认为甚至3.0),您可以向api发送元数据,并使用它来提高包含元数据标签的答案的分数。我在使用C#SDK中的QnAMakerDialog实现这一点时遇到问题。是否有一种简单的方法来实现这一点,或者您是否需要创建自己的服务/对话框来实现这一点 另外,与此相关的是,在QnAMakerDialog之前,是否没有办法到达消息?类似于覆盖MessageReceivedAsync(您不能覆盖,因为它不是虚拟的-至少不在我使用的版本Bot.Builder.Cogniti

有了qnamaker 4.0 api(我认为甚至3.0),您可以向api发送元数据,并使用它来提高包含元数据标签的答案的分数。我在使用C#SDK中的
QnAMakerDialog
实现这一点时遇到问题。是否有一种简单的方法来实现这一点,或者您是否需要创建自己的服务/对话框来实现这一点


另外,与此相关的是,在
QnAMakerDialog
之前,是否没有办法到达消息?类似于覆盖
MessageReceivedAsync
(您不能覆盖,因为它不是虚拟的-至少不在我使用的版本Bot.Builder.CognitiveServices 1.1.7中)

基于您正在使用Nuget软件包
Microsoft.Bot.Builder.CognitiveServices
,可用

我查看了当前的源代码(它在Github上是开源的),您可以看到,这个包(至少现在是1.1.7版本)使用的是QnAMaker API v2:

public static readonly Uri UriBaseV2 = new Uri("https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases");

因此,您将无法享受QnAMaker API v3中引入的元数据的好处。这是有道理的,它与我的4.0API一起工作的原因是我创建了一个QnAMakerAttribute实例,并将其传递给具有指定端点url的构造函数。这让事情更清楚了,非常感谢!