首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何自动训练知识库(QnAMaker服务)?

如何自动训练知识库(QnAMaker服务)?
EN

Stack Overflow用户
提问于 2017-03-17 15:05:29
回答 2查看 1.2K关注 0票数 0

在微软的认知服务提供的QnA Maker服务中,我们可以通过手动插入QnA对来训练我们的知识库(知识库)。

有没有办法让这个过程自动化,这样我们就可以随时更新我们的知识库了?有一个API文档,但我找不到用于此目的的文档

EN

回答 2

Stack Overflow用户

发布于 2017-03-17 20:28:19

新的V2.0 APIs允许您以编程方式管理知识库。现在,您可以使用这些API执行以下操作:

  • 创建知识库
  • 删除知识库
  • 更新知识库
  • 下载知识库

<代码>H110发布知识库<代码>H211<代码>F212

票数 1
EN

Stack Overflow用户

发布于 2020-06-28 17:58:18

我已经创建了一个机器人,将自动更新QnA制造商知识库。目前支持添加操作,即在KB中添加QnA对并发布。我通过C#使用了QnA Maker客户端库。您可以找到文档here

在用户提供qna对时,我将调用客户端库。

代码语言:javascript
运行
复制
if ((bool)stepContext.Result)
        {
            await stepContext.Context.SendActivityAsync(MessageFactory.Text("Here are the details you provided."), cancellationToken);

            await stepContext.Context.SendActivityAsync(MessageFactory.Text("Questions - "), cancellationToken);

            for (int i = 0; i < QnAData.QuestionPhrase.Count; i++)
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text(QnAData.QuestionPhrase[i]), cancellationToken);
            }


            await stepContext.Context.SendActivityAsync(MessageFactory.Text("Answer - " + (string)stepContext.Values["Answer"]), cancellationToken);

            await stepContext.Context.SendActivityAsync(MessageFactory.Text("Please wait while I update your Knowledge Base."), cancellationToken);

            var authoringURL = $"https://{Configuration["ResourceName"]}.cognitiveservices.azure.com";

            // <AuthorizationAuthor>
            var client = new QnAMakerClient(new ApiKeyServiceClientCredentials(Configuration["Key"]))
            { Endpoint = authoringURL };
            // </AuthorizationAuthor>

            QnAClient.UpdateKB(client, Configuration["KnowledgeBaseId"], (string)stepContext.Values["Answer"]).Wait();
            QnAClient.PublishKb(client, Configuration["KnowledgeBaseId"]).Wait();

            await stepContext.Context.SendActivityAsync(MessageFactory.Text("I have added your qna pair in the Knowledge Base. Thank you for using QnA Updator Bot Service."));

            return await stepContext.EndDialogAsync(null, cancellationToken);
        }
        else
        {
            await stepContext.Context.SendActivityAsync(MessageFactory.Text("Request Not Confirmed."));
            return await stepContext.EndDialogAsync(cancellationToken: cancellationToken);
        }

你可以在这里找到完整的文章:https://jd-bots.com/auto-updater-qna-maker-kb-bot/

你可以观看视频来检查机器人的结果:https://youtu.be/nSGgph_RXiE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42851224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档