1

在构建聊天机器人和使用 QnAMaker 时,我正在关注微软博客中的教程。我现在正在努力添加一个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 中的代码不可编辑。

我还有一些东西要从我的 nuggets 包中安装吗?或者有没有其他方法可以解决这个问题?

4

0 回答 0