Настройте выполнение заказов для агентов искусственного интеллекта, написанных по сценарию

list-menuОтправить обратную связь?
В этой статье представлено пошаговое руководство по настройке выполнения заказов в агентах искусственного интеллекта, написанных по сценарию, для обработки голосовых и цифровых разговоров.

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

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

  1. Закончив настройку агента, написанного по сценарию, определите ответы, которые необходимо выполнить.

    В примере агента выполнение требований «TrackPackageResponse» необходимо.

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

    В этом примере для параметра «TrackPackageResponse» настроен ответ на задержку.

  3. В процессе работы используйте узел Data Parser для анализа метаданных сеанса агента (выходной переменной) из ответа агента AI и получения имени ответа.

    Образец входных данных для узла парсера данных можно получить, загрузив информацию о транзакциях из сеансов, выбрав соответствующую транзакцию и выбрав значение ключа «GeneratedDF» из загруженного файла.

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

  5. Если вы не хотите загружать и анализировать образец JSON, его можно использовать в \$.model_state.template_keyкачестве имени ответа и \$.previous_intent_model_state.intent.nameпредыдущего имени намерения.

    В нашем примере для этих значений мы используем потоковые переменные responseKey и PreviousIntent.

  6. Используйте узел Branch, чтобы проверить, нужно ли выполнить ответ.

    • Для ответов, не требующих выполнения, узел филиала завершает работу через узел «Ничего из вышеперечисленного».

    • В нашем примере, поскольку необходимо выполнить запрос TrackPackageResponse, проверьте значение «ResponseKey» в узле нашего филиала.

  7. Для ответов, требующих выполнения, используйте HTTP-узел для вызовов внешних API.

    • Можно проанализировать полезную информацию из ответа HTTP-узла на том же узле, импортировав образец и получив выходные переменные.

    • В этом примере мы получаем «EstimatedDelivery» и «статус» пакета.

  8. Обработайте ответ на выполнение заказа с помощью узла Evaluate, чтобы сформулировать ответ агента .

    В нашем примере мы инициализируем переменную 'FulfillmentResp' и устанавливаем ее значение в зависимости от статуса посылки и предполагаемой доставки.

  9. Отправьте пользователю ответ о выполнении заказа и добавьте его в беседу.

  10. Вернитесь к узлу Receive, чтобы продолжить разговор между пользователем и агентом искусственного интеллекта.

Передача агента на основе намерений

Во время передачи агента проверьте последнее активное намерение на узле Branch перед узлом задач Queue.

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

В голосовых каналах управление разговорами должно быть организовано путем передачи управления разговором голосовому потоку с помощью настраиваемых событий, а затем возобновления разговора с агентом искусственного интеллекта с данными о выполнении заказов. Для этого повторно используется пример сценарного агента для отслеживания посылок. Этот процесс доступен в разделе «Импорт из шаблонов» в конструкторе потоков Webex Contact Center. Помимо выполнения заказов, этот процесс также направляет пользователя в очереди разных агентов в зависимости от его последнего намерения.

Пошаговое руководство: выполнение

  1. Добавьте тип ответа «Настраиваемое событие».

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

    • Добавьте тип ответа «настраиваемое событие» в ключ шаблона.

  2. Настройте ответ на настраиваемое событие.

    • Добавьте название события и полезную информацию о событии:

      1. Для ответа на настраиваемое событие укажите название события. В данном случае 'TrackPack_Exit'.

      2. Добавьте полезную информацию о событии, содержащую данные, которые будут переданы в поток. Это должно быть в формате JSON. В этом примере {"PackageNumber":"${entity.PackageNum}"}.

  3. Используйте полезную информацию о событии в потоке.

    • Получите доступ к метаданным активности виртуального агента V2:
      1. В конфигурации голосового потока добавленная информация о событиях доступна как часть метаданных активности Virtual Agent V2.

      2. Создайте переменную потока PackagEnum.

      3. Используйте действие Parse, чтобы выбрать метаданные активности Virtual Agent V2 в качестве входной переменной.

      4. Задайте для выходной переменной значение «PackagEnum», а ее выражение Path — «$.packagenum» (в зависимости от структуры полезной нагрузки события, настроенной в ответе агента).

    • Используйте метаданные в активности HTTP:
      1. Используйте переменную «PackageNum» из обработанных метаданных в потоке для отслеживания пакета.

      2. Импортируйте прикрепленный поток, чтобы узнать подробности об активности HTTP.

      3. Определите переменные потока «EstimatedDelivery» и задайте для них значение «$». estimated_delivery'и другую переменную потока «packStatus» и задайте для нее значение $.status.

    • Добавьте условия, основанные на активности HTTP:
      1. Добавьте в поток новое действие «Условие». Это действие используется для проверки ответа на действие HTTP (наличие пакета и его статус).

        В этом примере выражение {{ HTTPRequest_8l3.httpStatusCode == 404 }}используется для проверки того, не было ли найдено ни одного пакета.

  4. Добавьте действие «Задать переменную» в зависимости от условий:
    1. Для условия, для которого пакет не существует:

      • В ветке, где пакет не найден, добавьте действие Set Variable.
      • Задайте для PackageResp (другую переменную потока) следующее:

        Пакет с этими сведениями не найден.

    2. Для условия, для которого существует пакет:

      • В ветке, в которой обнаружен пакет (то есть код состояния HTTP не равен 404), добавьте еще одно действие Set Variable.
      • Задайте для PackageResp (другую переменную потока) следующее:

        Ваш пакет был получен. Она будет доставлена компанией {{EstimatedDelivery}}.

    3. Добавьте еще два действия Set variable для настройки имени события и данных события. Эти данные будут переданы в действие Virtual Agent V2.

      • Создайте переменные потока event_name event_data и.

      • Установите значение event_name {'PackageResp': '{{PackageResp}} ' | json}. TrackPack_Entry event_data

  5. Вернитесь к активности виртуального агента версии 2:

    • Настройте действие виртуального агента V2:
      1. Свяжите последнее действие «Задать переменную» с действием Virtual Agent V2 .

      2. Задайте имя события {{}}. event_name

      3. Задайте для данных события значение {{event_data}}.

  6. Обрабатывайте входящее событие в своем виртуальном агенте:

    1. Добавьте новый ключ шаблона:

      1. Перейдите на вкладку «Ответы» на левой панели.

      2. Добавьте новый ключ шаблона с именем PackageStatus.

    2. Настройте входящее событие:

      1. В поле «Голосовой канал» задайте для входящего события значение TrackPack_Entry (или любое другое событие, которое было отправлено в поток действий Virtual Agent V2).

    3. Настройте ответ:

      1. Задайте ответ следующим образом: <speak><say-as interpret-as="date"> $ {EventStore.PackageResp</say-as>}. Могу ли я вам чем-нибудь еще помочь? </speak>

        В этом ответе используются переменные, отправленные в полезную нагрузку из потока. Любые переменные, отправленные как часть данных о событиях, доступны разработчикам в виде $ {EventStore. < variable_name >}.

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

Маршрутизация агентов на основе предыдущего намерения

  • Если действие Virtual Agent V2 завершится с выходом «Escalated», используйте действие Parse, чтобы получить предыдущее намерение из метаданных агента.

  • Используйте действие Case, чтобы проверить различные значения предыдущего намерения, определяющие логику организации очередей. В этом примере мы проверяем, было ли предыдущее намерение «Отслеживать пакет» .

  • Прикрепите выходные данные активности Case к соответствующим контактным краям очереди.

Была ли статья полезной?
Была ли статья полезной?