Etterspørselen etter samtale-AI fortsetter å øke, og det samme gjør behovet for avanserte chatbot-teknologier som kan gi personlig tilpasset, menneskelignende interaksjon. I løpet av de siste årene har generative modeller som GPT-4 og ChatGPT, og alternativer med åpen kildekode som LLaMA 3 og Mixtral 8x7b, dukket opp som lovende verktøy for å bygge chatboter som kan forstå og svare på naturlig språk med enestående nøyaktighet og raffinement.
I denne artikkelen utforsker vi det grunnleggende om generative modeller og hvordan de kan brukes til å bygge chatboter.
ChatGPT og GPT-4 er to avanserte språkmodeller utviklet av OpenAI. ChatGPT, en forkortelse for "Chat Generative Pre-training Transformer", er en stor språkmodell som kan generere menneskelignende tekst basert på treningsdata. Den ble lansert i november 2022 og fikk raskt stor oppmerksomhet for sin evne til å samhandle med brukere på en dialogisk måte, svare på spørsmål, gi informasjon og delta i ulike oppgaver.
GPT-4, eller "Generative Pre-training Transformer 4", er etterfølgeren til GPT-3 og ble lansert av OpenAI i mars 2023. Den representerer et betydelig sprang innen AI-språkmodeller, med en enda større størrelse og forbedrede funksjoner sammenlignet med forgjengerne. GPT-4 er i stand til å generere svært detaljert og nøyaktig tekst på en rekke områder, inkludert naturlig språkbehandling, dataprogrammering og kreativ skriving.
Både ChatGPT og GPT-4 er trent på store mengder data ved hjelp av ikke-overvåket læring, noe som gjør dem i stand til å forstå og generere menneskelig språk med bemerkelsesverdig nøyaktighet og flyt. Disse modellene har åpnet nye muligheter for utvikling av samtale-AI, innholdsgenerering og en rekke andre bruksområder i bransjer som kundeservice, utdanning og underholdning.
Kort tid etter ble LLaMA 3 lansert av Meta, og Mixtral 8x7b ble lansert av den franske AI-startupen Mistral AI. Disse generative modellene er åpen kildekode-alternativer til ChatGPT og GPT-4. De er svært gode kandidater hvis du ønsker å bygge en avansert chatbot. Du kan enten distribuere LLaMA 3 og Mixtral på dine egne servere eller enkelt bruke dem via NLP Cloud API.
Alle disse generative AI LLM-modellene krever imidlertid litt øvelse. Først og fremst fordi disse modellene må få de riktige instruksjonene for å oppføre seg som forventet. Og også fordi de er "tilstandsløse", noe som betyr at de ikke har noen historikk over samtalene dine.
Hvis du naivt sender forespørsler til disse modellene uten litt kontekst og formatering, vil du bli skuffet over svarene. Dette er fordi disse modellene er svært allsidige. De kan ikke bare brukes til å lage chatboter, men også til mange andre formål, som å svare på spørsmål, oppsummere, parafrasere, klassifisere, trekke ut entiteter, generere produktbeskrivelser og mye mer. Det første du må gjøre, er å fortelle modellen hvilken "modus" den skal velge.
Her er et eksempel på en forespørsel du kan sende:
This is a discussion between a [human] and an [ai].
The [ai] is very nice and empathetic.
[human]: I broke up with my girlfriend...
[robot]:
I dette eksemplet kan du legge merke til to ting.
Først har vi lagt til en enkel formatering for at modellen skal forstå at den er i samtalemodus: ([human], [ai], ...).
For det andre har vi lagt til litt kontekst øverst for å hjelpe modellen med å forstå hva den gjør og hvilken tone den bør bruke.:
For å gjøre denne prosessen enklere, tilbyr både OpenAI og NLP Cloud dedikerte chatbot-API-endepunkter som tar seg av formateringen for deg.
Noen ganger er det ikke nok med en kontekst. Tenk deg for eksempel at du vil lage en chatbot med en helt bestemt tone og karakter. I så fall må du finjustere din egen generative modell. Du kan finjustere din egen chatbot basert på generativ AI på OpenAI og NLP Cloud.
Et annet scenario er når du ønsker å lage en chatbot som svarer på spørsmål om spesifikk domenekunnskap. Da er ikke finjustering løsningen. I stedet bør du lage ditt eget RAG-system (retrieval augmented generation) basert på semantisk søk. Se vår egen artikkel om RAG og semantisk søk her.
Generative AI-modeller er "tilstandsløse" modeller, noe som betyr at hver forespørsel du kommer med er ny, og at AI-en ikke kommer til å huske noe om tidligere forespørsler.
For mange bruksområder er det ikke noe problem (oppsummering, klassifisering, parafrasering ...), men for chatbots er det definitivt et problem fordi vi ønsker at chatboten skal huske diskusjonshistorikken for å kunne gi mer relevante svar.
Hvis du for eksempel forteller den kunstige intelligensen at du er programmerer, vil du at den skal huske det fordi det vil ha innvirkning på de følgende svarene den gir.
Den beste måten å oppnå dette på er å lagre alle AI-svar i en lokal database. PostgreSQL-databasen støtter for eksempel lagring av lange tekster med svært god effektivitet.
Hver gang du sender en ny forespørsel til chatboten, bør du gjøre følgende:
Dette er både et allsidig og robust system som krever lite innsats, og som utnytter kraften i generative modeller som GPT-4, ChatGPT, LLaMA 3 og Mixtral.
Det er viktig å merke seg at hver modell har sin egen kontekststørrelse som bestemmer hvor mye tekst du kan sende til historikken. For eksempel er den nåværende kontekststørrelsen for GPT-4 8k tokens (dvs. mer eller mindre 7k ord) og den nåværende kontekststørrelsen for Mixtral 8x7b er 16k tokens på NLP Cloud (dvs. mer eller mindre 14k ord). Så hvis samtalehistorikken din er større enn dette, kan det være lurt å enten forkorte den eldste delen av historikken eller bare beholde de viktigste delene av diskusjonene.
OpenAI har implementert innholdsbegrensninger på ChatGPT og GPT-4 for å sikre at AI-generert tekst overholder retningslinjene. Ved å overvåke og regulere innholdet som genereres av chatbots, ønsker OpenAI å skape en mer positiv og pålitelig brukeropplevelse. Dette innebærer blant annet å blokkere forespørsler om informasjon om visse emner eller kun gi forhåndsgodkjent, pålitelig informasjon.
Noen foretrekker imidlertid å bruke generative modeller som ikke har slike begrensninger, og mener at kvaliteten på svarene blir mer mangfoldig og nøyaktig. LLaMA 3 og Mixtral 8x7b har ikke slike begrensninger. Ved bruk av slike AI-modeller er det utviklerens ansvar å bruke AI på en ansvarlig måte. Hvis det er nødvendig, kan begrensninger likevel implementeres ved å lage den riktige ledeteksten for chatboten, ved å finjustere din egen chatbot eller ved å filtrere brukerforespørsler før de når AI-modellen.
Generative AI-modeller som GPT-4, ChatGPT, LLaMA 3 og Mixtral 8x7b har virkelig tatt chatbots og samtale-AI til et nytt nivå. Disse avanserte modellene er svært gode til å forstå konteksten og tilpasse seg den. I de fleste tilfeller er det nok å sette riktig kontekst, men for avanserte bruksområder er den beste løsningen å trene/finjustere din egen AI-modell (noe som er ganske enkelt siden disse modellene krever svært små datasett).
På NLP Cloud kan du enkelt prøve blant annet LLaMA 3 og Mixtral 8x7b. Du kan også finjustere dem og distribuere dine egne private generative AI-modeller med ett klikk. Hvis du ikke har gjort det ennå, kan du prøve NLP Cloud gratis.
Hvis du har spørsmål om hvordan du implementerer din egen chatbot, er du velkommen til å kontakte oss!
François