Hvordan lage en chatbot med egne data?
Den velkjente chatboten har blitt smart og er nå tilgjengelig for alle, men hva om den kunne svare på akkurat de spørsmålene som er relevante for din bedrift? Med riktig oppsett kan du lage en chatbot som er ekspert på dine produkter, tjenester og interne rutiner – og som alltid gir riktig svar uten å finne på informasjon.
Denne artikkelen er den første av en serie om AI vi kommer til å publisere fremover der vi har som mål å avmystifisere og gi innblikk i mer konkret bruk og muligheter av teknologien. I kommende poster vil vi diskutere om temaer som strukturerte utdata (Structured Output), AI-agenter og innovasjon ved hjelp av AI-drevne prosesser.
Hvorfor lage chatbot?
Å finne riktig informasjon kan være tidkrevende, spesielt når den er spredt på tvers av mange systemer og er dårlig organisert. Når du selv bestemmer hva chatboten skal være ekspert på, åpner det seg mange muligheter. For eksempel kan man lage en chatbot som har tilgang til hele intranettet og annen intern kommunikasjon. På den måten kan ansatte enkelt finne svar på spørsmål om arbeidsplassen eller få intern support. Du kan også gjøre chatboten kjent med bedriftens produkter og tjenester slik at den kan hjelpe til med kundeservice. Da kan den svare på spørsmål, løse små problemer, eller veilede kundene dine. En chatbot kan altså gi kundene raskere svar og gjøre hverdagen litt enklere for support-teamet.
Slik går du frem
Det høres kanskje vanskelig ut, men å lage en AI-drevet chatbot trenger ikke være komplisert. Her er de grunnleggende konseptene som er smart å vite om før du starter:
Large Language Model (LLM)
Dagens chatboter som ChatGPT fra OpenAI og Claude fra Anthropic, er trent på store språkmodeller som kan forstå og svare på tekst på en menneskelig måte. Teknisk kaller vi disse modellene for LLMs eller Large Language Models. Språkmodeller på godt norsk. En LLM er trent på enorme mengder tekstdata og kan derfor produsere sammenhengende og naturlige svar på spørsmål, generere tekst, oversette språk, skrive kode og mye mer.
Tenk på LLM som en AI som har «lest» millioner av bøker og artikler, og som kan bruke denne kunnskapen til å gi naturlige svar. Men en chatbot kjenner bare til informasjonen den er trent på. Så hvordan «lærer» vi den å kjenne vår bedrifts domenekunnskap og sørger for at den glemmer eller nedprioriterer alt det andre?
Prompt
En prompt er som et spørsmål du stiller en ekspert. For eksempel: «Hvordan søker jeg om ferie?» eller «Hva er retningslinjene for hjemmekontor?». Når chatboten får dette spørsmålet, vet den nøyaktig hva den skal svare basert på informasjonen den har tilgang til.
Hvis chatboten brukes internt, kan prompten hjelpe med å finne relevant informasjon fra intranettet eller CRM-systemet. For kunder kan prompten gi informasjon om produkter og tjenester, og systemet legger til relevant kontekst før det blir sendt til OpenAI.
Kontekst
For å gi gode svar trenger chatboten kontekst, akkurat som en erfaren kollega som kjenner til historikken og detaljene i en sak. Dette betyr at du må gi chatboten informasjon som hjelper den å forstå spørsmålet – som domenekunnskap og chat-historikk.
OpenAI-modellen har en begrensning på hvor mye data den kan håndtere i én forespørsel, så det er viktig å prioritere den mest relevante informasjonen. En metode som kan brukes her er Retrieval-Augmented Generation (RAG), som kombinerer informasjonsinnhenting med generativ AI for å sikre at chatboten gir et nøyaktig og relevant svar.
Hallusinasjon
Det som på folkemunne kalles for hallusinasjoner innenfor AI, kan kontrolleres ved å justere på temperaturen. Temperaturen styrer hvor kreativt eller nøyaktig svaret skal være. Altså hvor stor frihet AI-en har. Lavere temperatur gir mer presise svar, mens en høyere temperatur gir mer oppfinnsomme svar. For en chatbot som skal gi presise svar basert på deres data, bør temperaturen settes lavt for å redusere risikoen for feil. Lav temperatur kan gjøre svarene mer konsise, men mindre fleksible. At den hallusinerer mindre rett og slett.
1. Begynn med å skaffe et godt datagrunnlag
Start med å samle all relevant informasjon chatboten trenger. Dette er ofte den absolutt vanskeligste jobben. Dataene kan for eksempel være produktdokumentasjon, ofte stilte spørsmål (FAQ), interne retningslinjer eller kundeservicehistorikk. Informasjonen bør være strukturert i noe form for hierarki, gjerne med overskrifter, underoverskrifter, seksjoner og paragrafer. Typiske kilder kan være dokumenter, nettsiden, databaser eller eksport fra et CMS eller CRM-system.
Dersom du endrer dokumentasjonen eller informasjonen den er trent på, må dette speiles i datagrunnlaget til chatboten. For noen holder det med å laste opp endringer manuelt, for andre kan det kjøres en automatisk jobb ved gitte intervaller som oppdaterer informasjonen chatboten skal ha tilgang på.
Datagrunnlaget du trenger er i hovedsak tekstbasert. Formatene ren tekst eller markdown er helt supert, men det finnes også andre gode formater. Mange ønsker å minst mulig endring i hvordan man oppdaterer sitt redaksjonelle innhold, og foretrekker verktøy som kan hente ut informasjonen fra der den naturlig ligger og skaper er å foretrekke.
Obs! Når du bygger en chatbot med bedriftens data, er det viktig å tenke på sikkerhet og personvern. Sørg for at dataoverføringen mellom systemene er sikret med HTTPS, slik at dataene er kryptert under transport. OpenAI anbefaler å ikke sende sensitiv personlig informasjon eller konfidensielle opplysninger uten anonymisering.
2. Knytt dataen til en språkmodell
OpenAI – skaperne av ChatGPT – tilbyr API-er som kan brukes til å lage egne AI-løsninger. Med deres Chat-API kan du enkelt bygge din egen chatbot som du kan tilpasse slik du vil. Her har vi likevel noen alternativer avhengig av informasjonsmengden. Ved en begrenset informasjonsmengde kan du sende med informasjonen automatisk i hver nye chat. Dette er en rask og effektiv måte å få på plass en chatbot trent på egne data.
Andre ganger er behovene mer sammensatt, og da lønner det seg å lagre data i en egnet vektor-database. Da flytter man informasjonen inn i en database og konfigurerer systemet til bruke denne som datagrunnlag. Da kan man ha en ekstrem store mengder med data og likevel få raske svar.
Pass på å sette opp integrasjonen etter behov slik at du ikke gir chatboten for stor frihet til å svare utenfor dataene den er trent på, men sørger for at den baserer svarene så nære teksten den er trent på som mulig. Ofte ønsker du ikke at svarene skal være hallusinasjoner. Det er derfor viktig å sette opp regler som beskriver hva den ikke får lov til å svare på som for eksempel å gjøre egne vurderinger eller uttrykke et bestemt synspunkt.
3. Lag et brukervennlig grensesnitt
En chatbot trenger et godt brukergrensesnitt (UI). Det kan for eksempel være et chatvindu integrert på nettsiden, eller en egen applikasjon som ansatte eller kunder får tilgang til. Uansett hvordan du velger å løse det vil et godt design bidra til en bedre brukeropplevelse som igjen gjør chatboten mer effektiv i bruk.
Streaming av svaret har blitt standard når det utvikles chatbot-løsninger. Det betyr at svaret vises for brukeren i sanntid, i stedet for at hen må vente på at hele svaret er ferdig generert. At svaret gradvis komme til syne kan være med på å gi følelsen av en mer menneskelig samtale, samtidig som det lar brukeren begynne å lese svaret med en gang.
4. Voilà – din egen chatbot!
Nå har du da hentet ut den informasjonen du vil tilgjengeliggjøre, knyttet den sammen med en språkmodell, konfigurert hvordan svarene skal bygges opp og laget et grensesnitt som brukere kan bruka. Du har en helt egen chatbot, som svarer basert på dine unike data og ingenting annet.
Å lage en chatbot som er bygget på bedriftens egne data kan gjøre en stor forskjell for både kunder og ansatte. Med en chatbot som gir presise, oppdaterte og relevante svar, blir kundeopplevelsen bedre, og support kan avlastes fra de mest vanlige spørsmålene. Dette kan bidra til en mer effektiv hverdag, økt kundetilfredshet, og en smidigere arbeidsflyt internt. En chatbot kan i tillegg til å være en enkel samtaleparter, også settes opp til å kunne motta forespørsler og gjennomføre en evalueringsprosess i mange ulike steg. Muligheten er mange for å automatisere dagens arbeidsflyt, samtidig som man beholder de viktige kontrollsjekkene fra et faktisk menneske.
Er du nysgjerrig på hvordan en slik løsning kan hjelpe din bedrift? Kontakt oss, så ser vi på hvordan vi kan lage en chatbot med superkrefter – tilpasset deres behov!