Планирование приложения QnA Maker

Чтобы спланировать приложение QnA Maker, необходимо понять, как QnA Maker работает и взаимодействует с другими службами Azure. Кроме того, у вас должно быть четкое понимание концепций базы знаний.

Примечание

Поддержка службы QnA Maker будет прекращена 31 марта 2025 г. Новая версия возможности вопросов и ответов теперь доступна в составе языка ИИ Azure. Сведения о возможностях ответов на вопросы в службе Языка см. в статье с ответами на вопросы. С 1 октября 2022 г. вы не сможете создавать ресурсы QnA Maker. Сведения о переносе существующих баз знаний QnA Maker в функцию вопросов и ответов см. в руководстве по миграции.

ресурсов Azure

Каждый ресурс Azure, созданный с помощью QnA Maker, имеет определенное назначение: Каждый ресурс имеет назначение, ограничения и ценовую категорию. Важно понимать функции этих ресурсов, чтобы вы могли использовать эти знания в процессе планирования.

Ресурс Назначение
Ресурс QnA Maker Разработка и прогнозирование запросов
Ресурс Когнитивного поиска Хранение и поиск данных
Ресурсы Службы приложений и Службы плана приложений Запрос конечной точки прогнозирования
Ресурс Application Insights Данные телеметрии прогноза запросов

Планирование ресурсов

Подходит уровень "Бесплатный" (F0) для каждого ресурса, на котором может предоставляться как разработка, так и прогнозирование запросов. Этот уровень можно использовать для изучения возможностей по разработке и прогнозированию запросов. При переходе к рабочему или динамическому сценарию необходимо повторно оценить выбор ресурсов.

Размер базы знаний и ее пропускная способность

Создав реальное приложение, спланируйте достаточные ресурсы в соответствии с размером базы знаний и ожидаемыми запросами на прогноз запросов.

Размер базы знаний определяется следующим:

Запрос на прогноз запросов к базе знаний управляется планом веб-приложения и веб-приложением. См. рекомендуемые параметры для планирования ценовой категории.

Предоставление общего доступа к ресурсам

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

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

Общие сведения о влиянии выбора ресурсов

Правильный выбор ресурсов означает, что ваша база знаний успешно отвечает на прогнозы запросов.

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

Неправильный выбор ресурсов требует расследования, чтобы определить, какой ресурс необходимо изменить.

Базы знаний

База знаний напрямую привязана к ресурсу QnA Maker. В ней содержатся пары "вопрос/ответ", которые используются для ответа на запросы прогнозирования запросов.

Дополнительные сведения

Первая база знаний, созданная в ресурсе QnA Maker, задает язык для ресурса. Для ресурса QnA Maker можно использовать только один язык.

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

Прием источников данных

Для создания базы знаний можно использовать один из следующих принятых источников данных:

  • общедоступный URL-адрес;
  • частный URL-адрес SharePoint;
  • Файл

В процессе приема поддерживаемые типы содержимого преобразуются в Markdown. Все дальнейшее редактирование ответа выполняется с помощью Markdown. После создания базы знаний можно изменить пары "вопрос/ответ" на портале QnA Maker с помощью создания форматированного текста.

Рекомендации по формату данных

Поскольку окончательный формат пары "вопрос/ответ" — Markdown, то важно понимать, что поддерживается Markdown.

Связанные изображения должны быть размещены посредством общедоступных URL-адресов для отображения в области тестирования на портале QnA Maker или в клиентском приложении. QnA Maker не обеспечивает проверку подлинности содержимого, включая изображения.

Индивидуальность бота

Добавьте в свою базу знаний настройки индивидуальности бота с помощью беседы. Эта индивидуальность формируется за счет ответов в характерном тоне беседы, например профессиональный тон и простой и понятный тон. Такая беседа предоставляется в виде диалогового набора, который можно добавлять, изменять и удалять.

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

Беседа с использованием базы знаний

Беседа обычно начинается с приветствия пользователя, например Hi или Hello. В базе знаний может иметься общий ответ, например Hi, how can I help you, а также дальнейшие подсказки для продолжения беседы.

Вы должны разработать беседу с учетом цикла, чтобы пользователь знал, как использовать бот и не отказался от бота в диалоге. Дальнейшие подсказки служат для связывания пар "вопрос/ответ", что позволяет обеспечить диалог.

Разработка с помощью участников совместной работы

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

Создание базы знаний поддерживает несколько разрешений на доступ на основе ролей, которые применяются на портале Azure для ограничения области возможностей участника совместной работы.

Интеграция с клиентскими приложениями

Интеграция с клиентскими приложениями выполняется путем отправки запроса в конечную точку среды выполнения прогнозирования. Запрос отправляется в определенную базу знаний с помощью пакета SDK или запроса на основе REST в конечную точку веб-приложения QnA Maker.

Чтобы правильно проверить подлинность запроса клиента, клиентское приложение должно отправить правильные учетные данные и идентификатор базы знаний. Если вы используете Служба Bot ИИ Azure, настройте эти параметры как часть конфигурации бота в портал Azure.

Диалог в клиентском приложении

Для организации диалога в клиентском приложении, например в Azure Bot, может потребоваться функциональность до и после взаимодействия с базой знаний.

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

Диспетчеризация между QnA Maker и Распознаванием речи (LUIS)

Клиентское приложение может предоставлять несколько функций, только на одну из которых отвечает база знаний. Другим функциям по-прежнему необходимо понимать текст в диалоге и извлекать из него значимые сведения.

Общая архитектура клиентских приложений заключается в одновременном использовании как QnA Maker, так и Распознавания речи (LUIS). LUIS обеспечивает классификацию и извлечение текста для любого запроса, в том числе для других служб. QnA Maker предоставляет ответы из базы знаний.

В таком сценарии с общей архитектурой диспетчеризация между двумя службами обеспечивается с помощью инструмента Dispatch в Bot Framework.

Активное обучение из клиентского приложения

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

Предоставление ответа по умолчанию

Если база знаний не находит ответ, возвращается ответ по умолчанию. Этот ответ можно настроить на странице Параметры на портале QnA Maker или в API.

Этот ответ по умолчанию отличается от ответа по умолчанию бота Azure. Ответ по умолчанию для Azure Bot настраивается на портале Azure как часть параметров конфигурации. Он возвращается, когда не достигается пороговое значение оценки.

Прогнозирование

Прогнозирование — это ответ из базы знаний, который содержит больше информации, чем просто ответ. Для получения ответа прогноза запроса используйте API GenerateAnswer.

Колебания оценки прогноза

На оценку влияет нескольких факторов.

  • Количество ответов, запрошенных в ответ на GenerateAnswer с помощью свойства top
  • Различные доступные альтернативные вопросы
  • Фильтрация метаданных
  • Запрос, отправленный в базу знаний test или production

Существует два этапа ранжирования ответов.

  • Когнитивный поиск — первый ранг. Задайте максимально допустимое количество ответов, чтобы в ранжировщик QnA Maker были переданы лучшие ответы, возвращенные Когнитивным поиском.
  • QnA Maker — второй ранг. Примените конструирование признаков и машинное обучение, чтобы определить наилучший ответ.

Обновления службы

Примените последние обновления среды выполнения для автоматического управления обновлениями служб.

Масштабирование, пропускная способность и устойчивость

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

Аналитика с помощью Application Insights

Все запросы к базе знаний хранятся в Application Insights. Используйте наши лучшие запросы, чтобы понять метрики.

Жизненный цикл разработки

Жизненный цикл разработки базы знаний непрерывен: редактирование, тестирование и публикация базы знаний.

Разработка пар "вопрос/ответ" для базы знаний

Пары "вопрос/ответ" должны разрабатываться с учетом использования клиентского приложения.

Каждая пара может содержать следующее.

  • Метаданные — с возможностью фильтрации при выполнении запросов, чтобы позволить помечать пары "вопрос/ответ" с использованием дополнительных сведений об источнике, содержимом, формате и назначении данных.
  • Дальнейшие подсказки — помогают определить путь в базе знаний, чтобы пользователь получил правильный ответ.
  • Альтернативные вопросы — важно, чтобы поиск соответствовал ответу при использовании разных форм вопроса. Предложения по активному обучению преобразуются в альтернативные вопросы.

Разработка DevOps

Для разработки базы знаний для вставки в конвейер DevOps требуется, чтобы база знаний была изолирована во время пакетного тестирования.

База знаний использует индекс Когнитивного поиска совместно со всеми другими базами знаний в ресурсе QnA Maker. Несмотря на то что база знаний изолирована по разделам, использование одного и того же индекса может привести к разнице в оценке при сравнении с опубликованной базой знаний.

Чтобы получить одинаковую оценку для баз знаний test и production, изолируйте ресурс QnA Maker для использования лишь одной базой знаний. В этой архитектуре ресурс должен существовать только во время изолированного пакетного тестирования.

Дальнейшие действия