Hvordan trene en AI Chatbot med tilpasset kunnskapsbase ved hjelp av ChatGPT API

I vår tidligere artikkel demonstrerte vi hvordan du bygger en AI-chatbot med ChatGPT API og tildeler en rolle for å tilpasse den. Men hva om du vil trene AI på dine egne data? For eksempel kan du ha en bok, økonomiske data eller et stort sett med databaser, og du ønsker å søke i dem med letthet. I denne artikkelen gir vi deg en enkel å følge opplæringen om hvordan du trener en AI-chatbot med din egendefinerte kunnskapsbase med LangChain og ChatGPT API. Vi distribuerer LangChain, GPT Index og andre kraftige biblioteker for å trene AI-chatboten ved å bruke OpenAIs Large Language Model (LLM). Så på det notatet, la oss sjekke ut hvordan du trener og lager en AI Chatbot ved å bruke ditt eget datasett.

Tren en AI Chatbot med tilpasset kunnskapsbase ved å bruke ChatGPT API, LangChain og GPT Index (2023)

I denne artikkelen har vi forklart trinnene for å lære AI-chatboten med dine egne data mer detaljert. Fra oppsett av verktøy og programvare til opplæring av AI-modellen har vi inkludert alle instruksjonene på et lettfattelig språk. Det anbefales sterkt å følge instruksjonene fra topp til ned uten å hoppe over noen del.

Viktige poeng før du trener AI med dine egne data

1. Du kan trene AI-chatboten på hvilken som helst plattform, enten det er Windows, macOS, Linux eller ChromeOS. I denne artikkelen bruker jeg Windows 11, men trinnene er nesten identiske for andre plattformer.

2. Veiledningen er ment for vanlige brukere, og instruksjonene er forklart på et enkelt språk. Så selv om du har en overfladisk kunnskap om datamaskiner og ikke vet hvordan du skal kode, kan du enkelt trene og lage en Q&A AI chatbot på noen få minutter. Hvis du fulgte vår forrige ChatGPT-botartikkel, ville det være enda enklere å forstå prosessen.

3. Siden vi skal trene en AI Chatbot basert på våre egne data, anbefales det å bruke en dyktig datamaskin med en god CPU og GPU. Du kan imidlertid bruke en hvilken som helst avansert datamaskin til testformål, og den vil fungere uten problemer. Jeg brukte en Chromebook til å trene opp AI-modellen ved å bruke en bok med 100 sider (~100 MB). Men hvis du ønsker å trene et stort sett med data som går inn på tusenvis av sider, anbefales det sterkt å bruke en kraftig datamaskin.

4. Til slutt bør datasettet være på engelsk for å få de beste resultatene, men ifølge OpenAI vil det også fungere med populære internasjonale språk som fransk, spansk, tysk osv. Så prøv det på ditt eget Språk.

Sett opp programvaremiljøet for å trene en AI Chatbot

Som vår forrige artikkel, bør du vite at Python og Pip må installeres sammen med flere biblioteker. I denne artikkelen vil vi sette opp alt fra bunnen av, slik at nye brukere også kan forstå oppsettsprosessen. For å gi deg en kort idé, vil vi installere Python og Pip. Etter det vil vi installere Python-biblioteker, som inkluderer OpenAI, GPT Index, Gradio og PyPDF2. Underveis i prosessen vil du lære hva hvert bibliotek gjør. Igjen, ikke bekymre deg over installasjonsprosessen, det er ganske enkelt. På det notatet, la oss hoppe rett inn.

Installer Python

1. Først må du installere Python (Pip) på datamaskinen din. Åpen denne lenken og last ned installasjonsfilen for plattformen din.

2. Kjør deretter installasjonsfilen og sørg for å aktivere avmerkingsboksen for «Legg til Python.exe til PATH.» Dette er et ekstremt viktig skritt. Etter det klikker du på «Installer nå» og følger de vanlige trinnene for å installere Python.

3. For å sjekke om Python er riktig installert, åpne Terminal på datamaskinen. Jeg bruker Windows Terminal på Windows, men du kan også bruke kommandoprompt. Når du er her, kjør kommandoen nedenfor, og den vil sende ut Python-versjonen. På Linux og macOS må du kanskje bruke python3 –versjon i stedet for python –versjon.

python --version

Oppgrader Pip

Når du installerer Python, installeres Pip samtidig på systemet ditt. Så la oss oppgradere den til den nyeste versjonen. For de som ikke er klar over, er Pip pakkebehandleren for Python. I utgangspunktet lar den deg installere tusenvis av Python-biblioteker fra terminalen. Med Pip kan vi installere OpenAI, gpt_index, gradio og PyPDF2-biblioteker. Her er trinnene du må følge.

1. Åpne terminalen du ønsker på datamaskinen. Jeg bruker Windows-terminalen, men du kan også bruke kommandoprompt. Kjør nå kommandoen nedenfor for å oppdatere Pip. Igjen, du må kanskje bruke python3 og pip3 på Linux og macOS.

python -m pip install -U pip

2. For å sjekke om Pip var riktig installert, kjør kommandoen nedenfor. Den vil gi ut versjonsnummeret. Hvis du får noen feil, følg vår dedikerte veiledning for hvordan du installerer Pip på Windows for å fikse PATH-relaterte problemer.

pip --version

Installer OpenAI, GPT Index, PyPDF2 og Gradio Libraries

Når vi har satt opp Python og Pip, er det på tide å installere de essensielle bibliotekene som vil hjelpe oss å trene en AI-chatbot med en tilpasset kunnskapsbase. Her er trinnene du må følge.

1. Åpne terminalen og kjør kommandoen nedenfor for å installere OpenAI-biblioteket. Vi vil bruke den som LLM (Large language model) for å trene og lage en AI chatbot. Og vi vil også importere LangChain-rammeverket fra OpenAI. Merk at Linux- og macOS-brukere må kanskje bruke pip3 i stedet for pip.

pip install openai

2. La oss deretter installere GPT Index, som også kalles LlamaIndex. Det lar LLM-en koble seg til de eksterne dataene som er vår kunnskapsbase.

pip install gpt_index

3. Etter det, installer PyPDF2 for å analysere PDF-filer. Hvis du vil mate dataene dine i PDF-format, vil dette biblioteket hjelpe programmet med å lese dataene uten problemer.

pip install PyPDF2

4. Installer til slutt Gradio-biblioteket. Dette er ment for å lage et enkelt brukergrensesnitt for å samhandle med den trente AI-chatboten. Vi er nå ferdige med å installere alle nødvendige biblioteker for å trene en AI chatbot.

pip install gradio

Last ned en kodeeditor

Til slutt trenger vi en kodeeditor for å redigere noe av koden. På Windows vil jeg anbefale Notepad++ (nedlasting). Bare last ned og installer programmet via vedlagte lenke. Du kan også bruke VS-kode på hvilken som helst plattform hvis du er komfortabel med kraftige IDE-er. Annet enn VS-kode, kan du installere Sublime Text (nedlasting) på macOS og Linux.

For ChromeOS kan du bruke den utmerkede Caret-appen (nedlasting) for å redigere koden. Vi er nesten ferdige med å sette opp programvaremiljøet, og det er på tide å få OpenAI API-nøkkelen.

Få OpenAI API-nøkkelen gratis

Nå, for å trene og lage en AI-chatbot basert på en tilpasset kunnskapsbase, må vi få en API-nøkkel fra OpenAI. API-nøkkelen lar deg bruke OpenAIs modell som LLM for å studere tilpassede data og trekke slutninger. For øyeblikket tilbyr OpenAI gratis API-nøkler med gratis kreditt verdt $5 for de første tre månedene til nye brukere. Hvis du opprettet OpenAI-kontoen din tidligere, kan du ha gratis $18 kreditt på kontoen din. Etter at den gratis kreditten er oppbrukt, må du betale for API-tilgangen. Men foreløpig er den tilgjengelig for alle brukere gratis.

1. Gå til platform.openai.com/signup og opprette en gratis konto. Hvis du allerede har en OpenAI-konto, er det bare å logge på.

2. Klikk deretter på profilen din øverst til høyre og velg «Se API-nøkler» fra rullegardinmenyen.

3. Her klikker du på «Opprett ny hemmelig nøkkel» og kopierer API-nøkkelen. Vær oppmerksom på at du ikke kan kopiere eller se hele API-nøkkelen senere. Så det anbefales på det sterkeste å kopiere og lime inn API-nøkkelen til en Notepad-fil umiddelbart.

4. Ikke del eller vis API-nøkkelen offentlig. Det er en privat nøkkel kun ment for tilgang til kontoen din. Du kan også slette API-nøkler og opprette flere private nøkler (opptil fem).

Tren og lag en AI Chatbot med tilpasset kunnskapsbase

Nå som vi har satt opp programvaremiljøet og fått API-nøkkelen fra OpenAI, la oss trene AI-chatboten. Her vil vi bruke «text-davinci-003»-modellen i stedet for den nyeste «gpt-3.5-turbo»-modellen fordi Davinci fungerer mye bedre for tekstfullføring. Hvis du vil, kan du godt endre modellen til Turbo for å redusere kostnadene. Med det ute av veien, la oss hoppe til instruksjonene.

Legg til dokumentene dine for å trene AI Chatbot

1. Lag først en ny mappe kalt dokumenter på et tilgjengelig sted som skrivebordet. Du kan også velge et annet sted i henhold til dine preferanser. Behold imidlertid mappenavnet dokumenter.

2. Deretter flytter du dokumentene du ønsker å bruke for å trene AI-en inn i «docs»-mappen. Du kan legge til flere tekst- eller PDF-filer (selv skannede). Hvis du har en stor tabell i Excel, kan du importere den som en CSV- eller PDF-fil og deretter legge den til i «docs»-mappen. Du kan til og med legge til SQL-databasefiler, som forklart i denne Langchain AI tweet. Jeg har ikke prøvd mange filformater utenom de nevnte, men du kan legge til og sjekke på egen hånd. For denne artikkelen legger jeg til en av artiklene mine om NFT i PDF-format.

Merk: Hvis du har et stort dokument, vil det ta lengre tid å behandle dataene, avhengig av CPU og GPU. I tillegg vil den raskt bruke dine gratis OpenAI-tokens. Så i begynnelsen, start med et lite dokument (30-50 sider eller < 100 MB filer) for å forstå prosessen.

Gjør koden klar

1. Start nå Notepad++ (eller ditt valg av koderedigering) og lim inn koden nedenfor i en ny fil. Nok en gang har jeg tatt stor hjelp av armrrs på Google Colab og finjustert koden for å gjøre den kompatibel med PDF-filer og lage et Gradio-grensesnitt på toppen.

from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os

os.environ["OPENAI_API_KEY"] = 'Your API Key'

def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600

    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))

    documents = SimpleDirectoryReader(directory_path).load_data()

    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)

    index.save_to_disk('index.json')

    return index

def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response

iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
                     outputs="text",
                     title="Custom-trained AI Chatbot")

index = construct_index("docs")
iface.launch(share=True)

2. Slik ser koden ut i kodeeditoren.

3. Klikk deretter på «Fil» i toppmenyen og velg «Lagre som…» fra rullegardinmenyen.

4. Deretter angir du filnavnet app.py og endrer «Lagre som type» til «Alle typer» fra rullegardinmenyen. Deretter lagrer du filen på stedet der du opprettet «dokumenter»-mappen (i mitt tilfelle er det skrivebordet). Du kan endre navnet etter eget ønske, men sørg for at .py er lagt til.

5. Sørg for at «docs»-mappen og «app.py» er på samme plassering, som vist på skjermbildet nedenfor. «app.py»-filen vil være utenfor «docs»-mappen og ikke inne.

6. Gå tilbake til koden igjen i Notepad++. Her erstatter du din API-nøkkel med den som er generert på OpenAIs nettside ovenfor.

7. Trykk til slutt «Ctrl + S» for å lagre koden. Du er nå klar til å kjøre koden.

Lag ChatGPT AI Bot med tilpasset kunnskapsbase

1. Åpne først terminalen og kjør kommandoen nedenfor for å flytte til skrivebordet. Det er der jeg lagret «docs»-mappen og «app.py»-filen. Hvis du lagret begge elementene på et annet sted, flytter du til det stedet via terminalen.

cd Desktop

2. Kjør nå kommandoen nedenfor. Linux- og macOS-brukere må kanskje bruke python3.

python app.py

3. Nå vil den begynne å analysere dokumentet ved å bruke OpenAI LLM-modellen og begynne å indeksere informasjonen. Avhengig av filstørrelsen og datamaskinens kapasitet, vil det ta litt tid å behandle dokumentet. Når det er gjort, vil en «index.json»-fil bli opprettet på skrivebordet. Hvis terminalen ikke viser noe utdata, ikke bekymre deg, den kan fortsatt behandle dataene. For din informasjon tar det rundt 10 sekunder å behandle et 30 MB dokument.

4. Når LLM har behandlet dataene, vil du få noen advarsler som trygt kan ignoreres. Til slutt, nederst finner du en lokal URL. Kopier det.

5. Lim inn den kopierte URL-en i nettleseren, og der har du den. Din spesialtrente ChatGPT-drevne AI chatbot er klar. For å starte kan du spørre AI-chatboten hva dokumentet handler om.

6. Du kan stille flere spørsmål, og ChatGPT-roboten vil svare fra dataene du oppga til AI. Så dette er hvordan du kan bygge en spesialtrent AI-chatbot med ditt eget datasett. Du kan nå trene og lage en AI-chatbot basert på hvilken som helst informasjon du ønsker. Mulighetene er endeløse.

7. Du kan også kopiere den offentlige URL-en og dele den med venner og familie. Koblingen vil være aktiv i 72 timer, men du må også holde datamaskinen slått på siden serverforekomsten kjører på datamaskinen.

8. For å stoppe den spesialtrente AI-chatboten, trykk «Ctrl + C» i terminalvinduet. Hvis det ikke fungerer, trykk «Ctrl + C» igjen.

9. For å starte AI chatbot-serveren på nytt, flytt ganske enkelt til skrivebordet igjen og kjør kommandoen nedenfor. Husk at den lokale URL-en vil være den samme, men den offentlige URL-en vil endres etter hver omstart av serveren.

python app.py

10. Hvis du vil trene AI-chatboten med nye data, slett filene inne i «docs»-mappen og legg til nye. Du kan også legge til flere filer, men mate informasjon om samme emne ellers kan du få et usammenhengende svar.

11. Kjør koden igjen i terminalen, og den vil opprette en ny «index.json»-fil. Her vil den gamle «index.json»-filen erstattes automatisk.

python app.py

12. For å holde styr på tokens dine, gå over til OpenAIs online dashbord og sjekk hvor mye gratis kreditt som er igjen.

13. Til slutt, du trenger ikke å berøre koden med mindre du vil endre API-nøkkelen eller OpenAI-modellen for ytterligere tilpasning.

Bygg en tilpasset AI Chatbot ved å bruke dine egne data

Så dette er hvordan du kan trene en AI chatbot med en tilpasset kunnskapsbase. Jeg har brukt denne koden til å trene AI på medisinske bøker, artikler, datatabeller og rapporter fra gamle arkiver, og det har fungert feilfritt. Så fortsett og lag din egen AI-chatbot ved å bruke OpenAIs store språkmodell og ChatGPY. Uansett, det er alt fra oss. Hvis du leter etter de beste ChatGPT-alternativene, gå til vår koblede artikkel. Og for å bruke ChatGPT på Apple Watch, følg vår grundige veiledning. Til slutt, hvis du står overfor noen form for problemer, gi oss beskjed i kommentarfeltet nedenfor. Vi vil definitivt prøve å hjelpe deg.