Konfigurer oppfyllelse for skriptbaserte AI-agenter
I sammenheng med AI-agenter refererer oppfyllelse til utførelse av oppgaver som involverer samhandling med eksterne systemer for å hente, manipulere eller lagre data gjennom API-er. Denne artikkelen skisserer eksempelagenten som er opprettet for sporing av pakker. Du kan bruke denne agent malen mens du oppretter en ny AI-agent for digitale interaksjoner og taleinteraksjoner.
For digitale kanaler må oppfyllelsen orkestreres gjennom tilkoblingsflyten som brukes til å distribuere AI-agenten. Hvis du tar eksemplet med en pakkesporingsagent, som du kan importere fra en mal mens du oppretter en ny skriptagent, er flyten også tilgjengelig for import mens du oppretter en ny Webex Connect flyt. I tillegg til oppfyllelse, ruter denne tilkoblingsfly ten også brukeren til forskjellige agentkøer basert på deres siste hensikt.
-
Når du er ferdig med å konfigurere skriptagenten, identifiser svarene som krever oppfyllelse.
I eksempelagenten kreves oppfyllelse for 'TrackPackageResponse'.
-
I disse malene konfigurerer du en «holderespons» som vil bli vist for brukeren mens oppfyllelsen finner sted.
I dette eksemplet konfigureres et holderespons for 'TrackPackageResponse'.
-
I flyten bruker du en Data Parser-node til å analysere metadataene for agentøkten (utdat avariabel) fra AI-agentens svar for å få svarnavnet.
Du kan få eksempelinndata for dataparsernoden ved å laste ned transaksjonsinformasjon fra økter ved å velge riktig transaksjon og velge verdien av «GenerateDF» -nøkkelen fra den nedlastede filen.
-
Hvis du ønsker å utføre hensiktsbasert ruting på tidspunktet for agentoverlevering, kan du få verdien av den forrige aktive intensjonen i samme trinn.
-
Hvis du ikke ønsker å laste ned og analysere eksempelet JSON, kan du bruke
\$.model_state.template_keyfor svarnavnet og\$.previous_intent_model_state.intent.namefor det forrige intensjonsn avnet.I vårt eksempel bruker vi flytvariabler 'responseKey' og 'previousIntent' for disse verdiene.
-
Bruk en gren node for å sjekke om et svar trenger oppfyllelse.
-
Grennoden går ut gjennom «Ingen av de ovennevnte» node-utfallet for svar som ikke krever oppfyllelse.
-
I vårt eksempel, siden det er behov for oppfyllelse for 'TrackPackageResponse', sjekk for verdien av 'ResponseKey' i grennoden vår.
-
-
For svar som krever oppfyllelse, bruk en HTTP- node for å foreta eksterne API- anrop.
-
Du kan analysere nyttig informasjon fra HTTP-node-responsen i samme node ved å importere en prøve og hente utdatavariabler.
-
I dette eksemplet får vi 'EstimatedDelivery' og 'status' for pakken.
-
-
Behandle oppfyllingsresponsen ved hjelp av en Evalu ate-node for å formulere agent responsen.
I vårt eksempel initialiserer vi variabelen 'FulfillmentResp' og angir verdien basert på pakkestatus og estimert levering.
-
Send oppfyllelsessvaret til brukeren og legg det til samtalen.
-
Gå tilbake til mottaker noden for å holde samtalen gående mellom brukeren og AI-agenten.
Hensiktsbasert agentoverlevering
På tidspunktet for agentoverlevering må du se etter den siste aktive intensjonen gjennom en gren node før Queue -opp gavenoden.
Sjekk verdien av 'PreviousIntent' og gren til forskjellige køer basert på dine krav. I dette eksemplet, hvis kunden ber om en agentoverlevering etter «Sporpakke» -hensikten, rute vedkommende til «Spesialist» -køen. Alle andre verdier fører til en overlevering til «Chat» -køen.
For talekanaler må oppfyllelsen orkestreres ved å overlate kontrollen av samtalen tilbake til stemmestrømmen gjennom tilpassede hendelser og senere gjenoppta AI-agent samtalen med oppfyllingsdataene. For dette formål blir eksempelet skriptet agent for sporing av pakker gjenbrukt. Flyten er tilgjengelig i 'Importer fra maler' i Webex Contact Center Flow Designer. I tillegg til oppfyllelse, ruter denne flyten også brukeren til forskjellige agentkøer basert på deres siste hensikt.
Trinnvis veiledning: Oppfyllelse
-
Legg til svarstype"Custom Event».
-
Finn malnøkkelen du vil legge til den egendefinerte hendelsen for. I dette tilfellet bruker du malnøkkelen 'TrackPackageResponse'.
-
Legg til responstypen 'tilpasset hendelse' i malnøkkelen.
-
-
Konfigurer responsen for tilpasset hendelse.
-
Legg til hendelsesnavn og hendelsesnyttelast:
-
For det egendefinerte hendelsessvaret, oppgi et hendelsesnavn. I dette tilfellet, 'TrackPack_Exit'.
-
Legg til hendelsesnyttelasten, som inneholder data som vil bli sendt til flyten. Dette må være i JSON-format. I dette eksemplet,
{"PackageNumber":"${entity.PackageNum}"}.
-
-
-
Bruk hendelsesnyttelasten i flyten.
- Få tilgang til Virtual Agent V2- aktivitetsmetadata:
I taleflytkonfigurasjonen din er hendelsesnyttelasten du la til tilgjengelig som en del av Virtual Agent V2- aktivitetsmetadataene.
Opprett flytvariabelen PackageNum.
Bruk en Parse- aktivitet til å velge Virtual Agent V2-aktivitetsmetad ata som inndatavariabel.
Sett utdatavariabelen til 'PackageNum' og dens baneuttrykk til '$.packageNum' (basert på strukturen til hendelsesnyttelasten som er konfigurert i agentrespons).
- Bruk metadataene i HTTP- aktivitet:
Bruk variabelen 'PackageNum' fra de behandlede metadataene i flyten din for å spore pakken.
Importer den vedlagte flyten for å finne detaljene for HTTP- aktiviteten.
Definer flytvariabler 'EstimatedDelivery' og sett den til '$. estimated_delivery'og en annen flytvariabel' packStatus 'og sett den til $.status.
- Legg til betingelser basert på HTTP- aktivitet:
Legg til en ny tilstand saktivitet i flyten. Denne aktiviteten brukes til å sjekke responsen til HTTP- aktiviteten (om pakken eksisterer og dens status).
I dette eksemplet
{{ HTTPRequest_8l3.httpStatusCode == 404 }}brukes uttrykket til å sjekke om ingen pakke ble funnet.
- Få tilgang til Virtual Agent V2- aktivitetsmetadata:
- Legg til Set Vari able aktivitet basert på forhold:
For tilstanden som pakken ikke eksisterer for:
- Under grenen der ingen pakke er funnet, legger du til en Set Variable- aktivitet.
- Sett PackagerESP (en annen flytvariabel) til:
Ingen pakke funnet med disse detaljene.
For tilstanden som pakken eksisterer for:
- Under grenen der en pakke er funnet (det vil si at HTTP-statuskode ikke er lik 404), legger du til en annen Set Variable- aktivitet.
Sett PackagerESP (en annen flytvariabel) til:
Pakken din er hentet. Den vil bli levert av {{estimatedDelivery}}.
Legg til ytterligere to Angi variabelaktiviteter for å konfigurere hendelsesnavn og hendelsesdata. Disse dataene vil bli sendt til Virtual Agent V2-aktiviteten.
Lag flytvariabler event_name ogevent_data.
Sett event_name til TrackPack_Entry og event_data til {'packageResp': '{{packageResp}}' | json}.
-
Gå tilbake til Virtual Agent V2- aktiviteten:
- Konfigurer Virtual Agent V2-aktiviteten:
Koble den endelige Set Variab le-aktiviteten til Virtual Agent V2- aktiviteten.
Sett hendelsesnavnet til {{event_name}}.
Sett hendelsesdataene til {{event_data}}.
- Konfigurer Virtual Agent V2-aktiviteten:
-
Håndter innkommende hendelse i den virtuelle agenten:
-
Legg til en ny malnøkkel:
-
Gå til kategorien Svar på venstre panel.
-
Legg til en ny malnøkkel med navnet PackageStatus.
-
-
Konfigurer innkommende hendelse:
-
Under talekanalen angir du den innkommende hendelsen til TrackPack_Entry (eller hva som ble sendt til Virtual Agent V2-aktiviteten i flyten).
-
-
Konfigurer svaret:
-
Sett svaret til: <speak><say-as interpret-as="date"> $ {eventStore.</say-as> packagerESP}. Kan jeg hjelpe deg med noe annet? </speak>
Denne responsen bruker variablene som sendes i nyttelasten fra strømmen. Eventuelle variabler sendt som en del av hendelsesdata er tilgjengelige for utviklere å få tilgang til som $ {eventStore. < variable_name >}.
Dette bruker også SSML-koder. Spesielt lar SSML-taggen deg kontrollere hvordan tekst tolkes og snakkes av en tekst-til-tale-motor. Denne taggen kan brukes til å spesifisere hvordan tall, datoer, klokkeslett, adresser og annen tekst skal uttales. Her bruker vi den til dato.
-
-
Agentruting basert på tidligere hensikt
-
Hvis Virtual Agent V2- aktiviteten avsluttes gjennom «Eskalert» -utdata, bruker du en Parse- aktivitet for å hente den forrige intensjonen fra agentmetadata.
-
Bruk en Cas e-aktivitet til å se etter forskjellige verdier av forrige intensjon som bestemmer kølogikken. I dette eksemplet sjekker vi om den forrige intensjonen var 'Spor pakke'.
-
Fest Cas e- aktivitetsutgangene til de aktuelle køkontaktkantene.