Поделиться через


Часто задаваемые вопросы о Bot Framework

В этой статье приведены ответы на часто задаваемые вопросы.

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

Почему действие ввода с клавиатуры не дает никаких результатов?

Некоторые каналы не поддерживают временные обновления ввода в клиенте.

Чем отличается библиотека соединителя от библиотеки построителя в пакете SDK?

Библиотека соединителя является представлением REST API. Библиотека построителя добавляет модель программирования диалогов и другие функции и компоненты, такие как запросы, каскадные модели, цепочки и управляемое заполнение форм. Библиотека Builder также предоставляет доступ к службам ИИ Azure, таким как распознавание естественного языка.

Каким образом сообщения пользователя связаны с вызовами методов HTTPS?

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

Какова разница между понятиями "упреждающий" и "реагирующий"?

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

Как отправить упреждающее сообщение пользователю?

Примеры отправки упреждающих сообщений см. на странице примеров для Bot Framework Channel Emulator версии 4 на C# и примеров для Bot Framework Channel Emulator версии 4 на Node.js в репозитории BotBuilder-Samples на сайте GitHub.

Что такое ETag? Как он связан с хранилищем набора данных бота?

ETag — это механизм для управления оптимистичным параллелизмом. Хранилище набора данных бота использует теги ETag для предотвращения применения конфликтующих обновлений к данным. Ошибка ETag с кодом состояния HTTP 412 — Precondition Failed (необходимое условие не выполнено) означает, что одновременно получены несколько сообщений, когда бот еще не успел завершить первую операцию. Состояние и стек диалога хранятся в наборах данных бота. Например, ошибка ETag "Необходимое условие не выполнено" может возникнуть, если при получении нового сообщения для этого диалога бот все еще обрабатывает предыдущее сообщение.

Что являет собой ограничения частоты?

Служба Bot Framework должна защитить себя и своих клиентов от оскорбительных шаблонов вызовов (например, атаки типа "отказ в обслуживании"), чтобы ни один бот не может негативно повлиять на производительность других ботов. Чтобы обеспечить такую защиту, мы реализовали в наших конечных точках механизм ограничения частоты (также известный как регулирование). Применяя это ограничение частоты, мы можем ограничить количество вызовов от определенного клиента или бота. Например, если с включенным ограничением частоты бот захотел опубликовать большое количество действий, ему пришлось бы исключить их в течение определенного периода времени. Цель ограничения скорости — не ограничить общий объем бота. Она предназначена для предотвращения злоупотреблений диалоговой инфраструктурой, которая не соответствует шаблонам человеческой беседы. Например, наводнение двух разговоров с большим содержанием, чем два человека когда-либо может потреблять.

Каковы ограничения частоты?

Мы постоянно настраиваем ограничения частоты, чтобы сделать их настолько щадящими, насколько это возможно, в то же время защищая службы и пользователей. Так как пороговые значения будут иногда меняться, мы не публикуем их. Наконец, если вы размещаете бот на Служба приложений, бот привязан к ограничениям Служба приложений. Дополнительные сведения см . в сводке об уровне обслуживания для служб Azure, если вы влияете на ограничение скорости, вы можете обратиться к нам bf-reports@microsoft.comпо адресу.

Что такое ограничение размера файла, передаваемого с помощью каналов?

Некоторые каналы имеют ограничения на размер или тип файлов, которые могут быть отправлены. Например, как Direct Line, так и Facebook ограничивают полезные данные действий до 262 144 байт, а эмулятор Bot Framework не имеет ограничения. Такие ограничения накладываются каналом. При отправке сообщения, превышающего это ограничение, может возникнуть ошибка, например: длина содержимого запроса превысила ограничение в 262 144 байта. Однако вы можете указать ссылку на ресурс в виде вложения в Интернете. Дополнительные сведения о отправке вложений см. в статье о добавлении мультимедиа в сообщения.

Как узнать, влияет ли я на ограничение скорости?

Вряд ли вы будете испытывать ограничение скорости, даже при большом объеме. Большинство ограничений частоты будет возникать только из-за массовой отправки действий (от бота или от клиента), максимального нагрузочного тестирования или ошибки. Когда запрос регулируется, возвращается ответ HTTP 429 (слишком много запросов) вместе с заголовком Retry-After, указывающим время ожидания (в секундах) до повторной попытки запроса. Вы можете собирать эту информацию, включив аналитику для своего бота с помощью Azure Application Insights. Или вы можете добавить код в бот для записи сообщений.

Как возникает ограничение частоты?

Ограничение скорости вызвано любым из следующих условий:

  • Бот отправляет сообщения слишком часто
  • Клиент бота отправляет сообщения слишком часто
  • клиент Direct Line запрашивает новый веб-сокет слишком часто;

Как реализовать человеческую передачу?

Иногда необходимо передать (раздать) беседу от бота человеку, например когда бот не понимает пользователя или запрос не может быть автоматизирован. В таких случаях бот обеспечивает переход к людям. Пакет SDK Bot Framework поддерживает передачу человеку. Существует несколько типов событий для сигнальных операций передачи. Эти события обмениваются между ботом и центром агента, который также называется концентратором взаимодействия. Этот центр агента определяется как приложение или система, которая позволяет агентам, как правило, людям получать и обрабатывать запросы от пользователей и запросов эскалации от ботов. Подробные сведения см. в статье о переходе бесед от бота к человеку .