你想如何使用你的 QnA 层?
QnA Maker 页面会自动托管(现在免费,但正在查看使用情况)QnA 功能,因此您可以通过多种方式集成它:
- 使用机器人
- 但也可以在经典的 Asp.Net 应用程序中使用
- 或在许多其他项目类型中
怎么做?
要使用您的知识库,一旦您设置(和培训)它,第一步就是发布https://qnamaker.ai/)。你会得到这样的信息:
在机器人中集成
您可以使用 QnA 模板:https://docs.microsoft.com/en-us/bot-framework/azure/azure-bot-service-template-question-and-answer
它将使用一个名为 QnAMakerDialog 的专用对话框类型,可通过 NuGet / npm 获得:
对于 C#,QnAMaker 对话框通过
Microsoft.Bot.Builder.CognitiveServices NuGet 包。
对于 Node.js,QnAMaker 对话框通过
botbuilder-cognitiveservices npm 模块。
以下是您在发布阶段使用参数的方式:QnASubscriptionKey 和 QnAKnowledgebaseId 在以下示例代码中使用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Threading;
using Microsoft.Bot.Connector;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.CognitiveServices.QnAMaker;
[Serializable]
public class BasicQnAMakerDialog : QnAMakerDialog
{
//Parameters to QnAMakerService are:
//Required: subscriptionKey, knowledgebaseId,
//Optional: defaultMessage, scoreThreshold[Range 0.0 – 1.0]
public BasicQnAMakerDialog() : base(new QnAMakerService(new QnAMakerAttribute(Utils.GetAppSetting("QnASubscriptionKey"), Utils.GetAppSetting("QnAKnowledgebaseId"), "No good match in FAQ.", 0.5)))
{}
}
直接在另一个项目中
由于 QnA Maker 将您的 QnA 知识库作为 Web API 发布,您可以通过 Web 调用直接从代码中使用它。以下是 API 参考链接:https://qnamaker.ai/Documentation/ApiReference
如果您查看API list 上提供的方法,您将使用Generate answer