为什么QnaMakerDialog没有内置的虚拟任务RespondFromQnAMakerResultAsync?

时间:2018-01-16 02:44:20

标签: botframework microsoft-cognitive qnamaker

我在建立聊天机器人和使用QnAMaker时,正在关注微软博客的tutorial。我现在正在努力添加RichCard

我需要覆盖内置QnAMakerDialog中的一个方法,因此我可以从新的类QnaDialog修改该方法。

在本教程中给出的代码中,内置protected virtual Task RespondFromQnAMakerResultAsync

中已经有一个函数QnAMakerDialog

那里的整个代码示例如下所示:

using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
namespace Microsoft.Bot.Builder.CognitiveServices.QnAMaker
{
    // Summary:
    //     A dialog specialized to handle QnA response from QnA Maker.
    public class QnAMakerDialog : IDialog<IMessageActivity>
    {
        protected readonly IQnAService[] services;
        public QnAMakerDialog(params IQnAService[] services);
        public IQnAService[] MakeServicesFromAttributes();
        public Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument);
        protected virtual Task DefaultWaitNextMessageAsync(IDialogContext context, IMessageActivity message, QnAMakerResults result);
        protected virtual bool IsConfidentAnswer(QnAMakerResults qnaMakerResults);
        protected virtual Task QnAFeedbackStepAsync(IDialogContext context, QnAMakerResults qnaMakerResults);
        protected virtual Task RespondFromQnAMakerResultAsync(IDialogContext context, IMessageActivity message, QnAMakerResults result);
    }
}

但是,在我的实际案例中,QnAMakerDialog中的代码就是这样:

using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;

namespace Microsoft.Bot.Builder.CognitiveServices.QnAMaker
{
    public class QnAMakerDialog : IDialog<IMessageActivity>
    {
        protected readonly IQnAService[] services;

        public QnAMakerDialog(params IQnAService[] services);

        public IQnAService[] MakeServicesFromAttributes();
        [AsyncStateMachine(typeof(<MessageReceivedAsync>d__4))]
        public Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument);
    }
}

问题是,上面位于我的QnAMakerDialog中的代码是不可编辑的。

我还能从我的掘金包中安装更多东西吗?或者还有其他方法可以解决这个问题吗?

0 个答案:

没有答案