Как использовать сервис QnA в диалоге? - PullRequest
0 голосов
/ 20 ноября 2018

Я использую несколько шагов водопада, прежде чем хочу использовать QnA для получения ответа.

 WaterfallStep[] steps = new WaterfallStep[]
    {
        MenuStepAsync,
        QnAAsync,
     };

Затем, когда я хочу вызвать службу QnA, ей нужен объект Turncontext, но в диалоговом окне waterfallstep у меня нет доступа к TurnContext.

  private static async Task<DialogTurnResult> QnAAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
           var response = _services.QnAServices[QnAMakerKey].GetAnswersAsync(turnContext);
            return await stepContext.PromptAsync("name", new PromptOptions { Prompt = MessageFactory.Text("Please enter your name.") }, cancellationToken);
        }
    await

Я использую C #.Я сделал это в nodejs, но C # немного сложно.Следующее дает ошибку, что stepContext не может быть преобразован в Iturncontext.Я понимаю это, но не уверен, как сделать его доступным для GetAnswersAsync:

_services.QnAServices[QnAMakerKey].GetAnswersAsync(turnContext);

Спасибо в Advace за вашу помощь.

1 Ответ

0 голосов
/ 20 ноября 2018

stepContext.Context - это не что иное, как контекст Turn.Это решило мою проблему.

...