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.

Å snekre sammen en chatbot på egne data er ikke så komplisert som man skulle tro.

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.

Prompten til brukeren og chat-historikken sendes inn til en LLM som gir deg et svar
Slik fungerer en vanlig chatbot
Prompten til brukeren brukes til å hente relevant kontekst fra dine datakilder sendes til en LLM sammen med chat-historikken som gir deg et svar
Slik fungerer en chatbot med RAG


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.

Person som bruker LawAI på en datamaskin
Slik ser det ut når brukere søker juridisk bistand fra LawAI

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!

Interessert i mer om dette? Ta kontakt med Aleksander for en hyggelig prat!

Har du fått med deg disse?

20. mars 2024
19. mars 2024