Тестирование и отладка с помощью эмулятора

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

Bot Framework Emulator — это классическое приложение, которое позволяет разработчикам ботов тестировать и отлаживать боты локально или удаленно. С помощью эмулятора вы можете общаться с ботом и проверять сообщения, которые он отправляет и получает. Эмулятор отображает сообщения так, как они будут выглядеть в интерфейсе веб-чата, и регистрирует запросы и ответы JSON при обмене сообщениями с ботом. Перед развертыванием бота в облаке запустите его локально и протестируйте с помощью эмулятора. Вы можете протестировать бота с помощью эмулятора, даже если вы еще не создали его с помощью Azure Bot Service AI или не настроили его для работы на любых каналах.

Это важно

Пакет SDK Bot Framework и эмулятор Bot Framework были архивированы на GitHub. Проект больше не обновляется или не поддерживается. Запросы на поддержку пакета SDK Bot Framework больше не будут обслуживаться с 31 декабря 2025 г.

Чтобы создавать агенты с помощью выбранной службы ИИ, оркестрации и знаний, рекомендуется использовать пакет SDK для агентов Microsoft 365. Пакет SDK для агентов поддерживает язык C#, JavaScript или Python. Дополнительные сведения о пакете SDK для агентов см. в aka.ms/agents. Если у вас есть существующий бот, созданный с помощью пакета SDK Bot Framework, вы можете обновить бота до пакета SDK для агентов. Ознакомьтесь с основными изменениями и обновлениями в руководстве по миграции с Bot Framework SDK на Agents SDK.

Если вы создаете агент для совместной работы в Microsoft Teams, рассмотрите возможность использования пакета SDK Teams. Он предоставляет интерфейсы API, поддержку адаптивных карт и встроенную оркестрацию ИИ для агентов, работающих в среде Teams. Дополнительные сведения см. в пакете SDK Teams (библиотека ИИ Teams).

Если вы ищете платформу агента на основе SaaS, рассмотрите microsoft Copilot Studio.

Требования

Локальный запуск бота

Вам нужно сначала запустить вашего бота локально, прежде чем подключать его к Bot Framework Emulator. Это можно сделать с помощью Visual Studio, Visual Studio Code или командной строки. Чтобы запустить бота с помощью командной строки, сделайте следующее:

  • В командной строке измените каталог на каталог проекта ботов.

  • Запустите бота, выполнив следующую команду:

    dotnet run
    
  • Скопируйте номер порта в строке перед началом работы приложения. Нажмите клавиши CTRL+C, чтобы завершить работу.

    Номер порта C#

На этом этапе бот должен запуститься локально.

Подключение к боту, работающему на локальном узле

Настройка параметров прокси

Когда вы разрабатываете за корпоративным прокси, эмулятор будет использовать настроенные переменные среды HTTP_PROXY и HTTPS_PROXY, указывающие URL-адрес прокси-маршрута для запросов HTTP и HTTPS соответственно.

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

Чтобы обойти настройки HTTP_PROXY и HTTPS_PROXY и разрешить эмулятору подключение к localhost, на локальном компьютере необходимо определить следующую переменную среды:

NO_PROXY=localhost

Настройка эмулятора для проверки подлинности

Если боту требуется проверка подлинности, отображается диалоговое окно входа, необходимо настроить эмулятор, как показано ниже.

Использование кода проверки входа

  1. Запустите эмулятор.
  2. В эмуляторе выберите "Параметры " (значок шестеренки) на левой панели.
  3. Включение использования кода проверки входа для OAuthCards.
  4. Выберите Сохранить.

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

Кроме того, вы можете выполнить описанные ниже действия.

Использование маркеров аутентификации

  1. Запустите эмулятор.
  2. В эмуляторе выберите "Параметры " (значок шестеренки) на левой панели.
  3. Включите использование токенов аутентификации версии 1.0.
  4. Выберите Сохранить.

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

Окно запуска эмулятора

Чтобы подключиться к боту, работающему локально, выберите "Открыть бот". Добавьте скопированный ранее номер порта в следующий URL-адрес и вставьте полученный URL-адрес в поле "URL-адрес бота":

http://localhost:<port number>/api/messages

Диалоговое окно

Если ваш бот использует учетные данные учетной записи Microsoft (MSA), также введите их.

Использование учетных данных бота

Открыв бот, задайте идентификатор приложения Майкрософт и пароль приложения Майкрософт, если бот выполняется с учетными данными. Если вы создали бота с помощью службы ботов Azure AI, учетные данные доступны в службе приложений бота в разделе "Параметры — Конфигурация". Если вы не знаете значения, их можно удалить из локально запущенного файла конфигурации бота, а затем запустить бот в эмуляторе. Если бот не работает с этими параметрами, вам также не нужно запускать эмулятор с этими параметрами.

При создании приложения поставщика удостоверений AD учитывайте следующее:

  • Если для поддерживаемого типа учетной записи задано однотенантное значение, если вы используете личную подписку вместо учетной записи Майкрософт, эмулятор выдает ошибку: идентификатор приложения Microsoft бота или пароль приложения Майкрософт является неверным.
  • В этом случае поддерживаемые типы учетных записей должны быть установлены как Учетные записи в любом организационном каталоге (любой каталог Microsoft Entra ID — Multitenant) и личные учетные записи Microsoft (например, Xbox).

Дополнительные сведения см. в статье "Создание приложения поставщика удостоверений Microsoft Entra ID" и регистрация нового приложения с помощью портала Azure.

Просмотр подробных действий сообщения с помощью Инспектора

Отправьте боту сообщение и получите от него ответ. Вы можете выделить сообщение в окне беседы и просмотреть необработанные данные активности JSON с помощью компонента INSPECTOR на правой стороне окна. Когда вы выберете пузырь сообщения, он станет желтым, и объект JSON активности будет отображаться слева от окна чата. Данные JSON включают метаданные ключа, в том числе идентификатор канала, тип действия, идентификатор беседы, текстовое сообщение, URL-адрес конечной точки и т. д. Вы можете проверить действия, отправленные пользователем, а также действия, которыми отвечает бот.

Совет

Вы можете отлаживать изменения состояния в подключённом к каналу боте, добавив инспекционное промежуточное ПО.

Проверка сервисов

Примечание.

Azure AI QnA Maker будет выведен из эксплуатации 31 марта 2025 г. С 1 октября 2022 г. вы не сможете создавать новые ресурсы или базы знаний QnA Maker. Новая версия вопроса и возможности ответа теперь доступна как часть языка искусственного интеллекта Azure.

Пользовательский ответ на вопросы, компонент языка искусственного интеллекта Azure, — это обновленная версия службы QnA Maker. Дополнительные сведения о поддержке вопросов и ответов в пакете SDK Bot Framework см. в разделе "Распознавание естественного языка".

Примечание.

Распознавание речи (LUIS) будет прекращен 1 октября 2025 года. Начиная с 1 апреля 2023 года вы не сможете создавать новые ресурсы LUIS. Новая версия распознавания речи теперь доступна как часть языка ИИ Azure.

Обработка разговорного языка (CLU) — это обновленная версия LUIS. Дополнительные сведения о поддержке распознавания речи в пакете SDK Bot Framework см. в разделе "Распознавание естественного языка".

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

Инспектор LUIS

С подключённой службой LUIS ссылка трассировки указывает Luis Trace. При выборе отображается необработанный ответ службы LUIS, который включает намерения и сущности, а также их указанные оценки. Вы можете переназначить намерения для выражений пользователя.

Инспектор QnA

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

Вход в Azure

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

  1. Выберите файл, а затем войдите в Azure.

    Вход эмулятора с помощью Azure

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

    Успешное выполнение входа в Эмулятор Azure

Отключение сбора данных

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

  1. В эмуляторе выберите "Параметры " (значок шестеренки) на левой панели.

    Кнопка

  2. В разделе «Сбор данных» снимите галочку с пункта «Помогите улучшить эмулятор, разрешив нам собирать данные об использовании».

  3. Выберите Сохранить.

Если вы измените свое мнение, вы можете повторно собирать данные позже.

Дополнительные ресурсы

Эмулятор Bot Framework — это решение с открытым исходным кодом. Вы можете принять участие в разработке, отправляя сведения об ошибках и предложения.

Чтобы устранить неполадки, см. статью об устранении общих проблем и другие статьи об устранении неполадок в этом разделе.

Следующий шаг

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