I dagens digitale verden vil de fleste forbrukere heller finne svar på kundeservicespørsmålene sine på egen hånd i stedet for å ta seg tid til å nå ut til bedrifter og/eller tjenesteleverandører. Dette blogginnlegget utforsker en innovativ løsning for å bygge en spørsmål og svar chatbot i Amazon Lex som bruker eksisterende vanlige spørsmål fra nettstedet ditt. Dette AI-drevne verktøyet kan gi raske, nøyaktige svar på forespørsler fra den virkelige verden, slik at kunden raskt og enkelt kan løse vanlige problemer uavhengig.
Enkel URL-inntak
Mange bedrifter har et publisert sett med svar på vanlige spørsmål for sine kunder tilgjengelig på nettsiden deres. I dette tilfellet ønsker vi å tilby kundene en chatbot som kan svare på spørsmålene deres fra våre publiserte vanlige spørsmål. I blogginnlegget med tittelen Forbedre Amazon Lex med samtalefunksjoner for vanlige spørsmål ved å bruke LLM-er, viste vi hvordan du kan bruke en kombinasjon av Amazon Lex og LlamaIndex til å bygge en chatbot drevet av dine eksisterende kunnskapskilder, for eksempel PDF- eller Word-dokumenter. For å støtte en enkel FAQ, basert på et nettsted med vanlige spørsmål, må vi lage en inntaksprosess som kan gjennomsøke nettsiden og lage innbygginger som kan brukes av LlamaIndex for å svare på kundespørsmål. I dette tilfellet vil vi bygge på boten som er opprettet i forrige blogginnlegg, som spør etter disse innebyggingene med en brukers ytring og returnerer svaret fra vanlige spørsmål på nettstedet.
Følgende diagram viser hvordan inntaksprosessen og Amazon Lex-boten fungerer sammen for løsningen vår.
I løsningsarbeidsflyten inntas nettsiden med FAQs via AWS Lambda. Denne Lambda-funksjonen gjennomsøker nettstedet og lagrer den resulterende teksten i en Amazon enkel lagringstjeneste (Amazon S3) bøtte. S3-bøtten utløser deretter en Lambda-funksjon som bruker LlamaIndex til å lage innbygginger som er lagret i Amazon S3. Når et spørsmål fra en sluttbruker kommer, for eksempel "Hva er returpolitikken din?", bruker Amazon Lex-boten sin Lambda-funksjon til å spørre om innebyggingene ved hjelp av en RAG-basert tilnærming med LlamaIndex. For mer informasjon om denne tilnærmingen og forutsetningene, se blogginnlegget, Forbedre Amazon Lex med samtalefunksjoner for vanlige spørsmål ved å bruke LLM-er.
Etter at forutsetningene fra den nevnte bloggen er fullført, er det første trinnet å legge inn de vanlige spørsmålene i et dokumentlager som kan vektoriseres og indekseres av LlamaIndex. Følgende kode viser hvordan du oppnår dette:
I det foregående eksemplet tar vi en forhåndsdefinert webadresse for vanlige spørsmål fra Zappos og bruker den ved å bruke EZWebLoader
klasse. Med denne klassen har vi navigert til URL-en og lastet alle spørsmålene som er på siden inn i en indeks. Vi kan nå stille et spørsmål som "Har Zappos gavekort?" og få svarene direkte fra våre vanlige spørsmål på nettstedet. Følgende skjermbilde viser Amazon Lex-bottestkonsollen som svarer på det spørsmålet fra vanlige spørsmål.
Vi var i stand til å oppnå dette fordi vi hadde gjennomsøkt URL-en i det første trinnet og laget embedddings som LlamaIndex kunne bruke for å søke etter svaret på spørsmålet vårt. Vår robots Lambda-funksjon viser hvordan dette søket kjøres når reservehensikten returneres:
Denne løsningen fungerer bra når en enkelt nettside har alle svarene. De fleste FAQ-nettsteder er imidlertid ikke bygget på én enkelt side. For eksempel, i vårt Zappos-eksempel, hvis vi stiller spørsmålet "Har du en pristilpasningspolicy?", får vi et mindre enn tilfredsstillende svar, som vist i følgende skjermbilde.
I den forrige interaksjonen er ikke svaret på retningslinjene for prissamsvar nyttig for brukeren vår. Dette svaret er kort fordi de vanlige spørsmålene det refereres til er en lenke til en spesifikk side om retningslinjene for prissamsvar, og nettgjennomgangen vår var kun for den enkelte siden. Å oppnå bedre svar vil bety å gjennomsøke disse koblingene også. Den neste delen viser hvordan du får svar på spørsmål som krever to eller flere nivåer av sidedybde.
N-nivå gjennomgang
Når vi gjennomsøker en nettside for kunnskap om vanlige spørsmål, kan informasjonen vi ønsker finnes på lenkede sider. For eksempel, i vårt Zappos-eksempel, stiller vi spørsmålet "Har du en policy for prismatching?" og svaret er "Ja, vennligst besøk å lære mer." Hvis noen spør "Hva er retningslinjene dine for prismatching?" da ønsker vi å gi et fullstendig svar med politikken. Å oppnå dette betyr at vi har behov for å krysse lenker for å få den faktiske informasjonen for sluttbrukeren vår. Under inntaksprosessen kan vi bruke nettlasteren vår til å finne ankerlenkene til andre HTML-sider og deretter gå gjennom dem. Den følgende kodeendringen til vår webcrawler lar oss finne koblinger på sidene vi gjennomsøker. Det inkluderer også litt ekstra logikk for å unngå sirkulær gjennomgang og tillate et filter etter et prefiks.
I den foregående koden introduserer vi muligheten til å gjennomsøke N nivåer dypt, og vi gir et prefiks som lar oss begrense gjennomsøking til kun ting som begynner med et bestemt URL-mønster. I vårt Zappos-eksempel er alle kundeservicesidene forankret fra zappos.com/c
, så vi inkluderer det som et prefiks for å begrense gjennomsøkingene våre til et mindre og mer relevant delsett. Koden viser hvordan vi kan innta opptil to nivåer dypt. Vår robots Lambda-logikk forblir den samme fordi ingenting har endret seg bortsett fra at robotsøkeprogrammet tar inn flere dokumenter.
Vi har nå alle dokumentene indeksert og vi kan stille et mer detaljert spørsmål. I det følgende skjermbildet gir boten vår det riktige svaret på spørsmålet "Har du en policy for prismatching?"
Vi har nå et fullstendig svar på spørsmålet vårt om prismatching. I stedet for bare å bli fortalt «Ja, se retningslinjene våre», gir den oss detaljene fra gjennomgangen på andre nivå.
Rydd opp
For å unngå å pådra seg fremtidige utgifter, fortsett med å slette alle ressursene som ble distribuert som en del av denne øvelsen. Vi har gitt et skript for å stenge Sagemaker-endepunktet på en elegant måte. Bruksdetaljer er i README. I tillegg, for å fjerne alle de andre ressursene du kan kjøre cdk destroy
i samme katalog som de andre cdk-kommandoene for å deprovisionere alle ressursene i stabelen din.
konklusjonen
Muligheten til å legge inn et sett med vanlige spørsmål i en chatbot gjør det mulig for kundene dine å finne svar på spørsmålene deres med enkle, naturlig språkspørsmål. Ved å kombinere den innebygde støtten i Amazon Lex for reservehåndtering med en RAG-løsning som en LlamaIndex, kan vi tilby en rask vei for våre kunder for å få tilfredsstillende, kuraterte og godkjente svar på vanlige spørsmål. Ved å bruke N-nivå gjennomgang i løsningen vår, kan vi tillate svar som muligens kan spenne over flere FAQ-koblinger og gi dypere svar på kundenes spørsmål. Ved å følge disse trinnene kan du sømløst integrere kraftige LLM-baserte Q- og A-funksjoner og effektiv URL-inntak i Amazon Lex-chatboten. Dette resulterer i mer nøyaktige, omfattende og kontekstuelt bevisste interaksjoner med brukere.
Om forfatterne
Max Henkel-Wallace er programvareutviklingsingeniør ved AWS Lex. Han liker å jobbe med å utnytte teknologi for å maksimere kundesuksess. Utenom jobben er han lidenskapelig opptatt av matlaging, tilbringe tid med venner og backpacking.
Sang Feng er Senior Applied Scientist ved AWS AI Labs, med spesialisering i naturlig språkbehandling og kunstig intelligens. Forskningen hennes utforsker ulike aspekter ved disse feltene, inkludert dokumentbasert dialogmodellering, resonnement for oppgaveorienterte dialoger og interaktiv tekstgenerering ved bruk av multimodale data.
John Baker er en rektor SDE ved AWS hvor han jobber med naturlig språkbehandling, store språkmodeller og andre ML/AI-relaterte prosjekter. Han har vært hos Amazon i over 9 år og har jobbet på tvers av AWS, Alexa og Amazon.com. På fritiden liker John å gå på ski og andre utendørsaktiviteter i hele Pacific Northwest.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/enhance-amazon-lex-with-llms-and-improve-the-faq-experience-using-url-ingestion/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 1
- 10
- 100
- 12
- 14
- 16
- 19
- 23
- 36
- 7
- 80
- a
- evne
- I stand
- Om oss
- utrette
- nøyaktig
- Oppnå
- oppnå
- tvers
- Aktiviteter
- faktiske
- Ytterligere
- I tillegg
- AI
- AI-drevet
- Alexa
- Alle
- tillate
- tillate
- tillater
- allerede
- også
- Amazon
- Amazon Lex
- Amazon Web Services
- Amazon.com
- an
- Anchor
- og
- besvare
- svar
- anvendt
- påføring
- tilnærming
- godkjent
- ER
- ankommer
- kunstig
- kunstig intelligens
- AS
- aspekter
- At
- tilgjengelig
- unngå
- klar
- AWS
- tilbake
- basen
- basert
- BE
- fordi
- vært
- begynne
- være
- Bedre
- Blogg
- kroppen
- Bot
- bygge
- bygget
- innebygd
- bedrifter
- by
- CAN
- evner
- Kort
- saken
- viss
- endring
- endret
- chatbot
- kontroll
- klasse
- kunde
- Lukke
- kode
- COM
- kombinasjon
- kombinere
- kommer
- Felles
- fullføre
- omfattende
- Konsoll
- Forbrukere
- inneholdt
- innhold
- innhold
- kontekst
- conversational
- konvertere
- konvertering
- korrigere
- kunne
- Motvirke
- crawler
- skape
- opprettet
- kuratert
- kunde
- Kundeservice
- Kundesuksess
- Kunder
- sykluser
- dato
- dyp
- dypere
- Misligholde
- demonstrert
- utplassert
- dybde
- detaljert
- detaljer
- Utvikling
- Dialog
- digitalt
- digital verden
- direkte
- dokument
- dokumenter
- ned
- nedlasting
- duplikater
- under
- e
- hver enkelt
- lett
- effektiv
- ellers
- muliggjør
- slutt
- Endpoint
- ingeniør
- forbedre
- bedrifter
- entry
- Event
- eksempel
- Unntatt
- unntak
- Øvelse
- eksisterende
- utgifter
- erfaring
- utforsker
- FAQ
- Egenskaper
- Felt
- Filer
- filtrere
- Finn
- Først
- etter
- Til
- funnet
- venner
- fra
- funksjon
- framtid
- generasjonen
- få
- gave
- gavekort
- Gi
- gitt
- gir
- Go
- HAD
- Håndtering
- Ha
- he
- overskrifter
- nyttig
- her
- hans
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- if
- importere
- forbedre
- in
- inkludere
- inkluderer
- Inkludert
- Innkommende
- innlemme
- uavhengig av hverandre
- indeks
- indeksert
- info
- informasjon
- innovative
- inngang
- forespørsler
- f.eks
- i stedet
- Intelligens
- hensikt
- interaksjon
- interaksjoner
- interaktiv
- inn
- introdusere
- IT
- DET ER
- John
- jpg
- JSON
- nøkkel
- kunnskap
- Labs
- Språk
- stor
- LÆRE
- Nivå
- nivåer
- utnytte
- i likhet med
- BEGRENSE
- LINK
- knyttet
- lenker
- linux
- Liste
- laste
- loader
- lokal
- lokalt
- logging
- logikk
- matchet
- matchende
- Maksimer
- bety
- midler
- melding
- meldinger
- modellering
- modeller
- mer
- mest
- flere
- navn
- Naturlig
- Natural Language Processing
- Trenger
- neste
- ingenting
- nå
- Antall
- gjenstander
- of
- tilby
- on
- ONE
- bare
- or
- OS
- Annen
- vår
- ut
- utenfor
- egen
- Pacific
- side
- sider
- del
- lidenskapelig
- banen
- Mønster
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- politikk
- muligens
- Post
- powered
- kraftig
- forebygge
- pris
- Principal
- problemer
- prosess
- prosessering
- prosjekter
- gi
- forutsatt
- tilbydere
- gir
- publisert
- spørsmål
- spørsmål
- spørsmål
- Rask
- raskt
- heve
- heller
- RE
- å nå
- lesere
- virkelige verden
- i slekt
- relevant
- forblir
- fjerne
- Repository
- anmode
- forespørsler
- krever
- forskning
- Ressurser
- svar
- svar
- begrense
- resulterende
- Resultater
- retur
- avkastning
- root
- Rute
- Kjør
- s
- sagemaker
- samme
- Forsker
- sømløst
- Søk
- Seksjon
- se
- SELV
- senior
- tjeneste
- tjenestetilbydere
- Tjenester
- sett
- Kort
- vist
- Viser
- Slå
- Enkelt
- ganske enkelt
- enkelt
- nettstedet
- Nettsteder
- spilleautomater
- mindre
- So
- Software
- programvareutvikling
- løsning
- LØSE
- noen
- Noen
- Kilder
- span
- spesialisert
- spesifikk
- utgifter
- stable
- Begynn
- Trinn
- Steps
- lagring
- oppbevare
- lagret
- butikker
- rett fram
- suksess
- slik
- støtte
- SYS
- Ta
- ta
- Teknologi
- test
- enn
- Det
- De
- informasjonen
- deres
- Dem
- deretter
- Disse
- ting
- denne
- De
- hele
- tid
- tittelen
- til
- dagens
- sammen
- verktøy
- behandle
- sant
- prøve
- to
- typen
- URL
- us
- bruk
- bruke
- brukt
- Bruker
- Brukere
- bruker
- ved hjelp av
- ulike
- av
- Besøk
- besøkte
- ønsker
- var
- we
- web
- webtjenester
- Nettsted
- VI VIL
- var
- når
- når som helst
- hvilken
- vil
- med
- ord
- Arbeid
- arbeide sammen
- arbeidet
- arbeidsflyt
- arbeid
- virker
- verden
- ville
- skrevet
- X11
- år
- Du
- Din
- zephyrnet