Перейти к основному содержимому

$dialer.setAsrConfig

Метод переопределяет настройки провайдера ASR телефонного канала, через который проходит текущий звонок.

подсказка
Новые настройки распространяются только на текущую сессию и не влияют на глобальные настройки канала. Они используются, пока не будут переопределены еще раз или пока звонок не завершится.

Синтаксис

Метод принимает в качестве аргумента объект с новыми настройками ASR. Передавать каждый раз все настройки провайдера не нужно — достаточно указать те, которые вы хотите переопределить.

Метод возвращает объект с новыми настройками провайдера.

подсказка
Для каждого провайдера можно переопределить разный набор настроек. Вы можете узнать, какие это настройки, в статье про $dialer.getAsrConfig, а также получить их в сценарии через этот метод.
// Настройки для провайдера Google
$dialer.setAsrConfig({
lang: "tr-TR",
model: "command_and_search"
});
предупреждение
Если вы укажете в объекте поля, которые провайдер не поддерживает, они будут проигнорированы. Если вы передадите в метод не объект (например, строку), в сценарии возникнет ошибка.

Использование в сценарии

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

state: SpeakEnglish
q!: * говори* [по] английск* *
script:
var provider = $dialer.getAsrProvider(); # Получение имени текущего провайдера

if (provider === "google") {
$dialer.setAsrConfig({ lang: "en-US" });
} else {
# Для других провайдеров переопределяемые поля и значения могут быть другими
}
a: How can I help you?

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

  • Изменять язык не только распознавания, но и синтеза речи. Для этого используйте метод $dialer.setTtsConfig.
  • Изменять язык NLU, наполнение классификатора, тексты ответов бота. Подробнее о том, как учесть это при разработке, вы можете узнать в пошаговом сценарии многоязычного бота.