Î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 de agent în timp ce creați un nou agent AI pentru interacțiuni digitale și vocale.

Pentru canalele digitale, onorarea comenzilor trebuie 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 nou flux Webex Connect. În plus față de îndeplinire, acest flux de conectare direcționează, de asemenea, utilizatorul către diferite cozi de agenți pe baza ultimei sale intenții.

  1. După ce terminați de configurat agentul scriptat, identificați răspunsurile care necesită îndeplinire.

    În agentul exemplu, este necesară îndeplinirea pentru "trackPackageResponse".

  2. În aceste șabloane, configurați un "răspuns de așteptare" care va fi afișat utilizatorului în timp ce are loc îndeplinirea.

    În acest exemplu, un răspuns de așteptare este configurat pentru 'trackPackageResponse'.

  3. În flux, utilizați un nod Data Parser 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șantion pentru nodul analizorului de date descărcând informațiile despre tranzacții din sesiuni, selectând tranzacția corespunzătoare și alegând valoarea cheii "generatedDf" din fișierul descărcat.

  4. Dacă doriți să efectuați dirijarea bazată pe intenție în momentul predării agentului, puteți obține valoarea intenției active anterioare în același pas.

  5. Dacă nu doriți să descărcați și să analizați JSON eșantion, puteți utiliza \$.model_state.template_key pentru numele răspunsului și \$.previous_intent_model_state.intent.name pentru numele intenției anterioare.

    În exemplul nostru, folosim variabilele de flux "responseKey" și "previousIntent" pentru aceste valori.

  6. Utilizați un nod de sucursală pentru a verifica dacă un răspuns trebuie îndeplinit.

    • Nodul de ramură iese prin rezultatul nodului "Niciuna dintre 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ă.

  7. Pentru răspunsurile care necesită îndeplinire, utilizați un nod HTTP pentru efectuarea apelurilor externe API.

    • Puteți analiza informații utile din răspunsul nodului HTTP din același nod importând un eșantion și obținând variabile de ieșire.

    • În acest exemplu, obținem "estimatedDelivery" și "status" al coletului.

  8. Procesați răspunsul de îndeplinire utilizând un nod de evaluare pentru a formula răspunsul agentului.

    În exemplul nostru, inițializăm variabila "fulfillmententResp" și setăm valoarea acesteia pe baza stării coletului și a livrării estimate.

  9. Trimiteți utilizatorului răspunsul de îndeplinire și adăugați-l la conversație.

  10. Reveniți la nodul Primire pentru a menține conversația între utilizator și agentul AI.

Predarea agentului pe bază de intenție

În momentul predării agentului, verificați dacă există ultima intenție activă printr-un nod de sucursală înainte de nodul de activitate Coadă.

Verificați valoarea "previousIntent" și ramificați-vă la diferite cozi, în funcție de cerințele dvs. În acest exemplu, în cazul în care clientul solicită predarea unui agent după intenția "Urmărire pachet", direcționați-l către coada "Specialist". Toate celelalte valori duc la un transfer către coada de așteptare "Chat".

Pentru canalele vocale, îndeplinirea trebuie orchestrată prin predarea controlului conversației înapoi la fluxul vocal prin evenimente personalizate și reluarea ulterioară a conversației agentului AI cu datele de îndeplinire. În acest scop, exemplul de agent scriptat pentru urmărirea pachetelor este reutilizat. Fluxul este disponibil în "Import din șabloane" în Webex Contact Center Designerul de flux. În plus față de îndeplinire, acest flux direcționează, de asemenea, utilizatorul către diferite cozi de agenți pe baza ultimei sale intenții.

Ghid pas cu pas: Îndeplinire

  1. Adăugați tipul de răspuns "Eveniment personalizat".

    • Găsiți cheia șablon pentru care doriți să adăugați evenimentul particularizat. În acest caz, utilizați cheia șablonului "trackPackageResponse".

    • Adăugați tipul de răspuns "eveniment personalizat" la cheia șablonului.

  2. Configurați răspunsul la evenimentul particularizat.

    • Adăugați numele evenimentului și sarcina evenimentului:

      1. Pentru răspunsul personalizat la eveniment, furnizați un nume de eveniment. În acest caz, "TrackPack_Exit".

      2. Adăugați sarcina evenimentului, care conține date care vor fi transmise fluxului. Aceasta trebuie să fie în format JSON. În acest exemplu, {"PackageNumber":"${entity. PackageNum}"}.

  3. Utilizați sarcina evenimentului în flux.

    • Accesați metadatele activității agentului virtual V2 :
      1. În configurația fluxului vocal, sarcina evenimentului pe care ați adăugat-o este disponibilă ca parte a metadatelor activității agentului virtual V2 .

      2. Creați variabila de flux PackageNum.

      3. Utilizați o activitate de analiză pentru a selecta metadatele activității agentului virtual V2 ca variabilă de intrare.

      4. 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 :
      1. Utilizați variabila "PackageNum" din metadatele procesate din fluxul dvs. pentru a urmări pachetul.

      2. Importați fluxul atașat pentru a găsi detaliile activității HTTP .

      3. 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 pe baza activității HTTP :
      1. Adăugați o nouă activitate Condiție la 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.

  4. Adăugați o activitate setată variabilă în funcție de condiții:
    1. Pentru condiția pentru care pachetul nu există:

      • Sub ramura unde nu se găsește niciun pachet, adăugați o activitate Setare variabilă .
      • Setați packageResp (altă variabilă de flux) la:

        Nu s-a găsit niciun pachet cu aceste detalii.

    2. Pentru condiția pentru care există pachetul:

      • Sub ramura unde se găsește un pachet (adică codul de stare HTTP nu este egal cu 404), adăugați o altă activitate Set Variable (Setare activitate variabilă ).
      • Setați packageResp (altă variabilă de flux) la:

        Pachetul a fost ridicat. Acesta va fi livrat de {{estimatedDelivery}}.

    3. 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 Agent virtual V2.

      • Creați variabile de flux event_name și event_data.

      • Setați event_name la TrackPack_Entry și event_data la {'packageResp': '{{packageResp}}' | json}.

  5. Reveniți la activitatea Agent virtual V2 :

    • Configurați activitatea Agent virtual V2:
      1. Conectați activitatea finală Set Variable la activitatea Agent virtual V2.

      2. Setați numele evenimentului la {{event_name}}.

      3. Setați datele evenimentului la {{event_data}}.

  6. Gestionați evenimentul primit în agentul virtual:

    1. Adăugați o nouă cheie de șablon:

      1. Accesați Răspunsuri Tab din panoul din stânga.

      2. Adăugați o nouă cheie șablon numită packageStatus.

    2. Configurare eveniment de intrare:

      1. Sub canalul de voce, setați evenimentul de intrare la TrackPack_Entry (sau orice a fost trimis la activitatea agentului virtual V2 din flux).

    3. Configurați răspunsul:

      1. Setați răspunsul la: <speak> <say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. Pot să te ajut cu altceva?</vorbește>

        Acest răspuns utilizează variabilele trimise în sarcina utilă din flux. Toate variabilele trimise ca parte a datelor despre evenimente sunt disponibile dezvoltatorilor pentru a le accesa 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 vorbit de un motor text-to-speech. Această etichetă poate fi utilizată pentru a specifica modul în care trebuie pronunțate numerele, datele, orele, adresele și alt text. Aici îl folosim pentru dată.

Dirijarea agentului pe baza intenției anterioare

  • Dacă activitatea agentului virtual V2 iese prin rezultatul "Escaladat", utilizați o activitate de analiză pentru a obține intenția anterioară din metadatele agentului.

  • Utilizați o activitate Caz pentru a căuta valori 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 Caz la marginile corespunzătoare ale contactului din coadă.