Конфигуриране на изпълнение за скриптирани AI агенти
В контекста на агентите с изкуствен интелект изпълнението се отнася до изпълнението на задачи, които включват взаимодействие с външни системи за извличане, манипулиране или съхраняване на данни чрез API. Тази статия очертава примерния агент, създаден за проследяване на пакети. Можете да използвате този шаблон на агент, докато създавате нов AI агент за цифрови и гласови взаимодействия.
За цифровите канали изпълнението трябва да бъде организирано чрез потока за свързване, използван за внедряване на AI агента. Вземайки примера на агент за проследяване на пакети, който можете да импортирате от шаблон, докато създавате нов скриптов агент, потокът също е достъпен за импортиране, докато създавате нов поток Webex Connect. В допълнение към изпълнението, този поток за свързване също насочва потребителя към различни опашки на агенти въз основа на последното му намерение.
-
След като приключите с настройката на вашия скриптов агент, определете отговорите, които изискват изпълнение.
В примерния агент се изисква изпълнение за "trackPackageResponse".
-
В тези шаблони конфигурирайте "задържащ отговор", който ще се показва на потребителя, докато се извършва изпълнението.
В този пример отговорът на задържане е конфигуриран за "trackPackageResponse".
-
В потока използвайте възел за анализатор на данни, за да анализирате метаданните на сесията на агента (изходна променлива) от отговора на AI агента, за да получите името на отговора.
Можете да получите примерния вход за възела на анализатора на данни, като изтеглите информация за транзакцията от сесии, като изберете подходящата транзакция и изберете стойността на ключа "generatedDf" от изтегления файл.
-
Ако искате да направите маршрутизиране, базирано на намерение, по време на предаването на агента, можете да получите стойността на предишното активно намерение в същата стъпка.
-
Ако не желаете да изтегляте и анализирате примерния JSON, можете да използвате
\$.model_state.template_key
за името на отговора и\$.previous_intent_model_state.intent.name
за името на предишното намерение.В нашия пример използваме променливите на потока 'responseKey' и 'previousIntent' за тези стойности.
-
Използвайте възел Branch , за да проверите дали даден отговор се нуждае от изпълнение.
-
Възелът на клона излиза през резултата от възела "Нито един от горните" за отговори, които не изискват изпълнение.
-
В нашия пример, тъй като има нужда от изпълнение за 'trackPackageResponse', проверете за стойността на 'responseKey' в нашия клонов възел.
-
-
За отговори, които изискват изпълнение, използвайте HTTP възел за извършване на външни API повиквания.
-
Можете да анализирате полезна информация от отговора на HTTP възела в същия възел, като импортирате извадка и получите изходни променливи.
-
В този пример получаваме "прогнозна доставка" и "статус" на пакета.
-
-
Обработете отговора за изпълнение с помощта на възел за оценка , за да формулирате отговора на агента.
В нашия пример инициализираме променливата "fulfilmentResp" и задаваме нейната стойност въз основа на състоянието на пакета и прогнозната доставка.
-
Изпратете отговора за изпълнение на потребителя и го добавете към разговора.
-
Върнете се обратно към възела за получаване , за да поддържате разговора между потребителя и AI агента.
Предаване на агент въз основа на намерение
По време на предаването на агента проверете за последното активно намерение чрез възел Клон преди възела на задачата Опашка .
Проверете стойността на "previousIntent" и разклонете към различни опашки въз основа на вашите изисквания. В този пример, ако клиентът поиска предаване на агент след намерението "Проследяване на пакета", насочете го към опашката "Специалист". Всички останали стойности водят до предаване на опашката "Чат".
За гласовите канали изпълнението трябва да бъде организирано чрез предаване на контрола на разговора обратно към гласовия поток чрез персонализирани събития и по-късно възобновяване на разговора с AI агент с данните за изпълнение. За тази цел примерният скриптов агент за проследяване на пакети се използва повторно. Потокът е наличен в "Импортиране от шаблони" в Webex Contact Center Flow Designer. В допълнение към изпълнението, този поток също така насочва потребителя към различни опашки на агенти въз основа на последното му намерение.
Ръководство стъпка по стъпка: Изпълнение
-
Добавете тип отговор "Персонализирано събитие".
-
Намерете ключа на шаблона, за който искате да добавите персонализираното събитие. В този случай използвайте ключа за шаблон "trackPackageResponse".
-
Добавете типа отговор "персонализирано събитие" към ключа на шаблона.
-
-
Конфигурирайте отговора на персонализирано събитие.
-
Добавете име на събитие и полезен товар на събитието:
-
За персонализирания отговор на събитието посочете име на събитието. В този случай "TrackPack_Exit".
-
Добавете полезния товар на събитието, който съдържа данни, които ще бъдат предадени на потока. Това трябва да е във формат JSON. В този пример,
{"PackageNumber":"${entity. PackageNum}"}
.
-
-
-
Използвайте полезния товар на събитието в потока.
- Метаданни за активност на виртуален агент V2 :
Във вашата конфигурация на гласовия поток полезният товар на събитието, който сте добавили, е наличен като част от метаданните за дейността на Virtual Agent V2 .
Създайте променливата на потока PackageNum.
Използвайте дейност за анализиране , за да изберете метаданните на вашата дейност на виртуален агент V2 като входна променлива.
Задайте изходната променлива на 'PackageNum' и нейния израз на път на '$. PackageNum' (въз основа на структурата на полезния товар на събитието, конфигуриран в отговора на агента).
- Използвайте метаданните в HTTP дейност:
Използвайте променливата "PackageNum" от обработените метаданни във вашия поток, за да проследите пакета.
Импортирайте прикачения поток, за да намерите подробностите за HTTP дейността.
Дефинирайте променливите на потока 'estimatedDelivery' и го задайте на '$.estimated_delivery' и друга променлива на потока 'packStatus' и я задайте на $.status.
- Добавяне на условия въз основа на HTTP активност:
Добавете нова дейност "Условие " към потока. Тази дейност се използва за проверка на отговора на HTTP дейността (дали пакетът съществува и неговото състояние).
В този пример изразът
{{ HTTPRequest_8l3.httpStatusCode == 404 }}
се използва, за да се провери дали не е намерен пакет.
- Метаданни за активност на виртуален агент V2 :
- Добавяне на активност "Задаване на променлива " въз основа на условията:
За условието, за което пакетът не съществува:
- Под клона, в който не е намерен пакет, добавете активност Задаване на променлива .
- Задайте packageResp (друга променлива на потока) на:
Не е намерен пакет с тези данни.
За условието, за което съществува пакетът:
- Под клона, в който се намира пакетът (т.е. кодът на състоянието на HTTP не е равен на 404), добавете друга дейност за задаване на променлива .
Задайте packageResp (друга променлива на потока) на:
Вашият пакет е взет. Той ще бъде доставен от {{estimatedDelivery}}.
Добавете още две дейности за задаване на променлива, за да конфигурирате името на събитието и данните за събитието. Тези данни ще бъдат предадени на дейността на виртуалния агент V2.
Създайте променливи на потока event_name и event_data.
Задайте event_name на TrackPack_Entry, а event_data на {'packageResp': '{{packageResp}}' | json}.
-
Върнете се към дейността на Virtual Agent V2 :
- Конфигуриране на дейността на виртуален агент V2:
Свържете последната дейност Задаване на променлива към дейността на виртуален агент V2.
Задайте името на събитието на {{event_name}}.
Задайте данните за събитието на {{event_data}}.
- Конфигуриране на дейността на виртуален агент V2:
-
Обработете входящото събитие във вашия виртуален агент:
-
Добавете нов ключ за шаблон:
-
Отидете на Responses Tab в левия панел.
-
Добавете нов ключ за шаблон с име packageStatus.
-
-
Конфигуриране на входящо събитие:
-
Под гласовия канал задайте входящото събитие на TrackPack_Entry (или каквото е изпратено до дейността на виртуалния агент V2 в потока).
-
-
Конфигурирайте отговора:
-
Задайте отговора на: <speak> <say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. Мога ли да ви помогна с нещо друго?</говорете>
Този отговор използва променливите, изпратени в полезния товар от потока. Всички променливи, изпратени като част от данните за събитията, са достъпни за програмистите като ${eventStore.<variable_name>}.
Това също използва SSML тагове. По-специално, SSML тагът ви позволява да контролирате как текстът се интерпретира и изговаря от машина за преобразуване на текст в реч. Този етикет може да се използва за определяне на начина, по който трябва да се произнасят числата, датите, часовете, адресите и друг текст. Тук го използваме за дата.
-
-
Маршрутизиране на агента въз основа на предишно намерение
-
Ако дейността на виртуалния агент V2 излезе през изхода "Ескалиран", използвайте дейност за анализиране , за да получите предишното намерение от метаданните на агента.
-
Използвайте дейност за случай , за да проверите за различни стойности на предишното намерение, които определят логиката на опашката. В този пример проверяваме дали предишното намерение е било "Проследяване на пакета".
-
Прикачете изходните данни за дейността на случая към съответните ръбове на контактите на опашката.