Azure кнопки подсказок виртуального помощника - PullRequest
1 голос
/ 23 апреля 2020

У меня установлен виртуальный помощник Microsoft azure, но я не подключен к Луису и еще не развернут.

На веб-сайте qnamaker успешно выполнялись кнопки многооборотного отслеживания, но не на эмуляторе бота.

Мне было интересно, было ли это вызвано не настройкой и развертыванием виртуального помощника в первую очередь. Поскольку поздравительная открытка по умолчанию даже не отображалась при создании виртуального помощника.

Мне не хватает некоторого кода для отображения этих кнопок подсказок или это невозможно, потому что Луис не подключен, а развертывание не настроено? Если я пропускаю какой-то код, может ли кто-нибудь указать мне правильное направление?

Примечание: это виртуальный помощник, а не бот. Они похожи, но учебник для ботов не работает на виртуального помощника. Я использую последний шаблон виртуального помощника. Я провел много исследований, но не смог их решить. Я потратил 2 дня на это.

Спасибо

1 Ответ

0 голосов
/ 23 апреля 2020

Многооборотная функция - это функция, которую можно включить на портале qnamaker.ai, однако ваш бот по-прежнему отвечает за обработку сообщений, на которых есть карточки с прикрепленными кнопками.

  • Итак включение многооборотного режима на портале позволит вашему вызову API generateanswer возвращать ответы с объектом "context", включающим значения prompts.
  • Шаг 2 - убедиться, что Ваш помощник имеет код для создания карт. Вы должны обрабатывать, когда вы хотите, чтобы карты были сгенерированы

Вы можете найти пример бота, реализующего многооборотные приглашения в репо botbuilder samples, 70.qnamaker-multiturn-sample. Фрагмент, в котором он строит карту, я опубликую ниже, но я бы посоветовал перейти непосредственно к образцу, чтобы посмотреть на логи c вокруг него, чтобы понять, когда вы действительно хотите отправить сообщение с картой. (они делают это, отправляя карты только при наличии context и prompt - вы можете настроить его так, как вам нужно для вашего бота).

        /// <summary>
        /// Get multi-turn prompts card.
        /// </summary>
        /// <param name="result">Result to be dispalyed as prompts.</param>
        /// <returns>IMessageActivity.</returns>
        private static IMessageActivity GetQnAPromptsCardWithoutNoMatch(QueryResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            var chatActivity = Activity.CreateMessageActivity();
            chatActivity.Text = result.Answer;
            var buttonList = new List<CardAction>();

            // Add all prompt
            foreach (var prompt in result.Context.Prompts)
            {
                buttonList.Add(
                    new CardAction()
                    {
                        Value = prompt.DisplayText,
                        Type = "imBack",
                        Title = prompt.DisplayText,
                    });
            }

            var plCard = new HeroCard()
            {
                Buttons = buttonList
            };

            // Create the attachment.
            var attachment = plCard.ToAttachment();

            chatActivity.Attachments.Add(attachment);

            return chatActivity;
        }

Я не смотрел на Виртуальный Ассистентские решения проектируются через некоторое время, но я бы сказал, проверьте, чтобы убедиться, что у них нет многоуровневого диалога QnA, чтобы убедиться, что это проблема, и если так, посмотрите на многооборотный пример qna, чтобы увидеть пример того, как вы можете редактировать ваш VA, чтобы включить обработку многооборотных запросов.

...