如何使用C#在瀑布式对话框中调用QnA Maker?

如何使用C#在瀑布式对话框中调用QnA Maker?,c#,botframework,microsoft-cognitive,qnamaker,C#,Botframework,Microsoft Cognitive,Qnamaker,我正在尝试调用瀑布式对话框步骤中的QnA Maker 我如何从这个watterfall步骤调用它,我是否需要在瀑布步骤上设置QnA,我是否需要从LUIS intent调用QnA,我能做什么 我需要它使用前面问题中的步骤上下文从QnA获得第一个结果 有人能帮忙吗 代码: private async Task QnaAsync(waterwallstepcontext-stepContext,CancellationToken-CancellationToken) { var response=w

我正在尝试调用瀑布式对话框步骤中的QnA Maker

我如何从这个
watterfall
步骤调用它,我是否需要在瀑布步骤上设置QnA,我是否需要从LUIS intent
调用QnA,我能做什么

我需要它使用前面问题中的步骤上下文从QnA获得第一个结果

有人能帮忙吗

代码:

private async Task QnaAsync(waterwallstepcontext-stepContext,CancellationToken-CancellationToken)
{
var response=wait qnaMaker.GetAnswersAsync(stepContext);
//使用qnaResults[0]中找到的答案。答案
return wait-stepContext.PromptAsync(nameof(TextPrompt),new-PromptOptions{Prompt=MessageFactory.Text(response[0].Answer)},cancellationToken);
}

上面的代码中似乎没有定义
qnaMaker
。只要在某处定义了QnAMaker服务,就可以从任何地方调用QnAMaker

我建议如下。它相当复杂,但却是在瀑布对话框中使用QnAMaker的最佳示例

我会指出一些你会发现最有用的东西:

  • 使用,以便您可以

  • 同样,这个样本相当复杂。如果您需要更多的提示,请使用您尝试过的代码更新您的问题,我会看看是否可以提供帮助。

    有人可以帮助我使用python BotFramework SDK完成这项工作吗?。我也为此提出了一个新问题-。谢谢。
    private async Task<DialogTurnResult> QnaAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
    {
        var response = await qnaMaker.GetAnswersAsync(stepContext);
    
        // use answer found in qnaResults[0].answer
        return await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions { Prompt = MessageFactory.Text(response[0].Answer)}, cancellationToken);
    }