使用bot framework sdk v-3,我能够得到基于关键字的匹配问题列表,如建议的操作/卡片-
qnamaker dialog中的建议操作卡
现在,我使用的是预发布版本的sdk v-4,它使用了中间软件的概念。所以我在startup.cs中做了类似的事情。-
services.addbot<qnabot>(选项=>
{
options.credentialProvider=新配置CredentialProvider(配置);
var端点=新的Qnamakerendpoint
{
knowledgeBaseID=kbid,
//从https://www.qnamaker.ai的http请求示例获取主机
//对于GA服务:https://<service name>.azurewebsites.net/qnamaker
//预览服务:https://westus.api.cognitive.microsoft.com/qnamaker/v2.0
主机=主机URL,
endpointkey=终点键
};
var qnaoptions=new qnamakermiddlewareOptions();
qNaOptions.Top=5;
options.middleware.add(新建qnamakermiddleware(endpoint,qnaoptions));
(});
< /代码>
我只得到第一个匹配问题的答案作为聊天窗口中的输出,而没有得到匹配问题作为建议的操作卡供用户选择。我曾经有一个独立的对话框继承自sdk v-3中的qnamakerdialog,以及一个被重写的函数来管理我的会话流。我不知道现在如何在中间软件中管理它,因为我从文档中得到的只是这个-qnamaker与bot framework sdk v-4
有什么帮助吗?Suggested actions cards in QnAMaker Dialog

现在,我使用的是预发布版本的sdk v-4,它使用了中间软件的概念。所以我在startup.cs中做了类似的事情。-
services.AddBot<QnABot>(options =>
{
options.CredentialProvider = new ConfigurationCredentialProvider(Configuration);
var endpoint = new QnAMakerEndpoint
{
KnowledgeBaseId = kbId,
// Get the Host from the HTTP request example at https://www.qnamaker.ai
// For GA services: https://<Service-Name>.azurewebsites.net/qnamaker
// For Preview services: https://westus.api.cognitive.microsoft.com/qnamaker/v2.0
Host = hostURL,
EndpointKey = endpointKey
};
var qnaOptions = new QnAMakerMiddlewareOptions();
qnaOptions.Top = 5;
options.Middleware.Add(new QnAMakerMiddleware(endpoint, qnaOptions));
});
我只得到第一个匹配问题的答案作为聊天窗口中的输出,而没有得到匹配问题作为建议的操作卡供用户选择。我曾经有一个独立的对话框继承自sdk v-3中的qnamakerdialog,以及一个被重写的函数来管理我的会话流。我不知道如何在中间软件中管理它,因为我从文档中得到的只是-QnAMaker with bot framework SDK v-4
有什么帮助吗?