Configurați îndeplinirea pentru agenții AI cu scripturi
În contextul agenților AI, îndeplinirea se referă la executarea sarcinilor care implică interacțiunea cu sisteme externe pentru a prelua, manipula sau stoca date prin API-uri. Acest articol prezintă exemplul agentului creat pentru urmărirea pachetelor. Puteți utiliza acest șablon agent în timp ce creați un nou agent AI pentru interacțiuni digitale și vocale.
Pentru canalele digitale, îndeplinirea trebuie să fie orchestrată prin fluxul de conectare utilizat pentru implementarea agentului AI. Luând exemplul unui agent de urmărire a pachetelor, pe care îl puteți importa dintr-un șablon în timp ce creați un nou agent scriptat, fluxul este, de asemenea, disponibil pentru import în timp ce creați un Webex Connect flux nou. În plus față de îndeplinire, acest flux de conectare direcționează, de asemenea, utilizatorul către diferite cozi de agenți pe baza ultimei intenții.
-
După ce ați terminat de configurat agentul scriptat, identificați răspunsurile care necesită îndeplin ire.
În exemplul agentului, îndeplinirea este necesară pentru „TrackPackageResponse”.
-
În aceste șabloane, configurați un „răspuns de păstrare” care va fi afișat utilizatorului în timp ce are loc îndeplinirea.
În acest exemplu, un răspuns de reținere este configurat pentru „TrackPackageResponse”.
-
În flux, utilizați un nod Parser de date pentru a analiza metadatele sesiunii agentului ( variabila de ieșire) din răspunsul agentului AI pentru a obține numele răspunsului.
Puteți obține intrarea eșantionului pentru nodul parser de date descărcând informații despre tranzacție din sesiuni selectând tranzacția corespunzătoare și alegând valoarea cheii „GenerateDF” din fișierul descărcat.
-
Dacă doriți să efectuați rutare bazată pe intenție în momentul predarea agentului, puteți obține valoarea intenției active anterioare în același pas.
-
Dacă nu doriți să descărcați și să analizați exemplul JSON, puteți utiliza
\$.model_state.template_keypentru numele răspunsului și\$.previous_intent_model_state.intent.namepentru numele intenției anterioare.În exemplul nostru, folosim variabilele de flux „ResponseKey” și „previousIntent” pentru aceste valori.
-
Utilizați un nod de ramură pentru a verifica dacă un răspuns are nevoie de îndeplinire.
-
Nodul de ramură iese prin rezultatul nodului „Niciunul din cele de mai sus” pentru răspunsuri care nu necesită îndeplinire.
-
În exemplul nostru, deoarece este nevoie de îndeplinire pentru „TrackPackageResponse”, verificați valoarea „ResponseKey” în nodul nostru de ramură.
-
-
Pentru răspunsurile care necesită îndeplinire, utilizați un nod HTTP pentru a efectua apeluri API externe.
-
Puteți analiza informații utile din răspunsul nodului HTTP în același nod importând un eșantion și obținând variabile de ieșire.
-
În acest exemplu, obținem „EstimatedDelivery” și „status” ale pachetului.
-
-
Procesați răspunsul de îndeplinire utilizând un nod Evalu are pentru a formula răspunsul agentului.
În exemplul nostru, inițializăm variabila „FulfillmentResp” și setăm valoarea acesteia pe baza stării pachetului și a liv rării estimate.
-
Trimiteți răspunsul de îndeplinire utilizatorului și adăugați-l la conversație.
-
Bucurați-vă înapoi la nodul Receive pentru a menține conversația între utilizator și ag entul AI.
Predarea agentului bazat pe intenție
În momentul predării agentului, verificați ultima intenție activă printr-un nod de ramură înainte de nodul de activitate Coadă.
Verificați valoarea „previousIntent” și ramificați la diferite cozi în funcție de cerințele dvs. În acest exemplu, dacă clientul solicită predarea unui agent după intenția „Urmăriți pachetul ”, direcționați către coada de așteptare „Specialist”. Toate celelalte valori conduc la o predare la coada „Chat”.
Pentru canalele vocale, îndeplinirea trebuie orchestrată prin predarea controlului conversației înapoi fluxului vocal prin evenimente personalizate și reluarea ulterioară a conversației agentului AI cu datele de îndeplinire. În acest scop, exemplul agentului scriptat pentru urmărirea pachetelor este reutilizat. Fluxul este disponibil în „Import din șabloane” în Webex Contact Center Flow Designer. În plus față de îndeplinire, acest flux direcționează, de asemenea, utilizatorul către diferite cozi de agenți pe baza ultimei intenții.
Ghid pas cu pas: Îndeplinirea
-
Adăugați tipul de răspuns „Eveniment personalizat”.
-
Găsiți cheia șablonului pentru care doriți să adăugați evenimentul personalizat. În acest caz, utilizați tasta șablon „TrackPackageResponse”.
-
Adăugați tipul de răspuns „eveniment personalizat” la cheia șablonului.
-
-
Configurați răspunsul evenimentului personalizat.
-
Adăugați numele evenimentului și sarcina utilă a evenimentului:
-
Pentru răspunsul la eveniment personalizat, furnizați un nume de eveniment. În acest caz, „TrackPack_Exit”.
-
Adăugați sarcina utilă a evenimentului, care conține date care vor fi transmise fluxului. Acest lucru trebuie să fie în format JSON. În acest exemplu,
{"PackageNumber":"${entity.PackageNum}"}.
-
-
-
Utilizați sarcina utilă a evenimentului în flux.
- Accesați metadatele activității Virtual Agent V2:
În configurația fluxului vocal, sarcina utilă a evenimentului pe care ați adăugat-o este disponibilă ca parte a metadatelor activității Virtual Agent V2.
Creați variabila de flux PackageNum.
Utilizați o activitate de analiză pentru a selecta metadatele activității Virtual Agent V2 ca variabilă de intrare.
Setați variabila de ieșire la 'PackageNum' și Expresia căii sale la '$.packageNum' (pe baza structurii sarcinii utile a evenimentului configurată în răspunsul agentului).
- Utilizați metadatele în activitatea HTTP:
Utilizați variabila 'packageNum' din metadatele procesate din fluxul dvs. pentru a urmări pachetul.
Importați fluxul atașat pentru a găsi detaliile activității HTTP.
Definiți variabilele de flux „EstimatedDelivery” și setați-le la „$. estimated_delivery'și o altă variabilă de flux' packStatus 'și setați-o la $.status.
- Adăugați condiții bazate pe activitatea HTTP:
Adăugați o nouă activitate Condiție în flux. Această activitate este utilizată pentru a verifica răspunsul activității HTTP (dacă pachetul există și starea acestuia).
În acest exemplu, expresia
{{ HTTPRequest_8l3.httpStatusCode == 404 }}este utilizată pentru a verifica dacă nu a fost găsit niciun pachet.
- Accesați metadatele activității Virtual Agent V2:
- Adaug ă Activitatea setată variabilă bazată pe condiții:
Pentru condiția pentru care pachetul nu există:
- Sub ramura în care nu este găsit niciun pachet, adăugați o activitate Set Vari able.
- Setați PackagerESP (o altă variabilă de flux) la:
Nu a fost găsit niciun pachet cu aceste detalii.
Pentru condiția pentru care există pachetul:
- Sub ramura în care se găsește un pachet (adică codul de stare HTTP nu este egal cu 404), adăugați o altă activitate Set Vari able.
Setați PackagerESP (o altă variabilă de flux) la:
Pachetul dvs. a fost preluat. Acesta va fi livrat de {{estimatedDelivery}}.
Adăugați încă două setați activități variabile pentru a configura numele evenimentului și datele evenimentului. Aceste date vor fi transmise activității Virtual Agent V2.
Creați variabile de event_name flux șievent_data.
Setați event_name la TrackPack_Entry și event_data la {'packageResp': '{{packageResp}}' | json}.
-
Reveniți la activitatea Virtual Agent V2:
- Configurați activitatea Virtual Agent V2:
Conectați activitatea finală Set Vari able la activitatea Virtual Agent V2 .
Setați numele evenimentului la {{event_name}}.
Setați datele evenimentului la {{event_data}}.
- Configurați activitatea Virtual Agent V2:
-
Gestionați evenimentul primit în agentul virtual:
-
Adăugați o nouă cheie de șablon:
-
Accesați fila Răspunsuri din panoul din stânga.
-
Adăugați o nouă cheie de șablon numită PackageStatus.
-
-
Configurați evenimentul primit:
-
Sub canalul vocal, setați evenimentul primit la TrackPack_Entry (sau orice a fost trimis activității Virtual Agent V2 din flux).
-
-
Configurați răspunsul:
-
Setați răspunsul la: <speak><say-as interpret-as="date"> $ {eventStore.</say-as> packagerESP}. Pot să te ajut cu altceva? </speak>
Acest răspuns utilizează variabilele trimise în sarcina utilă din flux. Orice variabile trimise ca parte a datelor evenimentului sunt disponibile pentru ca dezvoltatorii să le acces eze ca $ {eventStore. < variable_name >}.
Aceasta utilizează, de asemenea, etichete SSML. În special, eticheta SSML vă permite să controlați modul în care textul este interpretat și rostit de un motor text-to-speech. Această etichetă poate fi utilizată pentru a specifica modul în care numerele, datele, orele, adresele și alte texte trebuie pronunțate. Aici îl folosim pentru dată.
-
-
Rutarea agenților pe baza intenției anterioare
-
Dacă activitatea Virtual Agent V2 iese prin ieșirea „Escalată”, utilizați o activitate de analiză pentru a obține intenția anterioară din metadatele agentului.
-
Utilizați o activitate de caz pentru a verifica valorile diferite ale intenției anterioare care determină logica de așteptare. În acest exemplu, verificăm dacă intenția anterioară a fost „Urmăriți pachetul” .
-
Atașați ieșirile activității Case la marginile de contact corespunzătoare ale cozii.