首页 文章

如何在本地机器上运行在QnA Maker的帮助下创建的机器人?

提问于
浏览
2

(请注意,在Microsoft QnA Maker的帮助下,在没有任何编码的情况下创建此FAQ bot,然后将其连接到Bot Framework) .

我在Microsoft Bot Framework上创建了一个FAQ bot,在其“无需编码”的QnA Maker的帮助下,然后在Bot Framework上注册了它 . 现在我需要插入Message Endpoint for bot来运行 . 但到目前为止,我还没有订阅Azure Bot服务或任何其他托管服务来托管机器人 . 我想在我的本地Windows机器上运行它 .

我下载了Bot Framework Emulator并将node.js http-server命令运行到其文件夹,使用ngrok进行隧道传输,并将结果URL后跟/ api / messages(如https://xxxxxxxx.ngrok.io/api/messages)放入消息 endpoints 以及Botframework Emulator中 . 但它并没有得到我的机器人软件代码,因为QnA Maker显然不提供下载 . 那么在我为我的机器人创建工作 endpoints 之前有哪些选择呢?

希望我的疑问很清楚,如果没有,请让我进一步澄清 . TIA!

1 回答

  • 2

    您想如何使用QnA层?

    QnA Maker页面自动托管(现在免费,但正在查看用法)QnA功能,因此您可以通过多种方式集成它:

    • 使用机器人

    • 但也在经典的Asp.Net应用程序中

    • 或许多其他项目类型

    怎么样?

    要使用您的知识库,一旦您进行了设置(并经过培训),第一步就是 publish 中的 publish . 你会得到这样的信息:
    enter image description here

    在机器人中集成

    您可以使用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模块分发 .

    以下是如何使用发布阶段的参数: QnASubscriptionKeyQnAKnowledgebaseId 用于以下示例代码:

    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

    API

相关问题