Sådan træner du en AI Chatbot med tilpasset vidensbase ved hjælp af ChatGPT API

I vores tidligere artikel demonstrerede vi, hvordan man bygger en AI-chatbot med ChatGPT API og tildeler en rolle for at tilpasse den. Men hvad hvis du vil træne AI’en på dine egne data? For eksempel kan du have en bog, økonomiske data eller et stort sæt databaser, og du ønsker at søge i dem med lethed. I denne artikel bringer vi dig en nem at følge tutorial om, hvordan du træner en AI-chatbot med din tilpassede videnbase med LangChain og ChatGPT API. Vi implementerer LangChain, GPT Index og andre kraftfulde biblioteker til at træne AI-chatbotten ved hjælp af OpenAI’s Large Language Model (LLM). Så lad os se, hvordan man træner og opretter en AI Chatbot ved hjælp af dit eget datasæt.

Træn en AI Chatbot med tilpasset vidensbase ved hjælp af ChatGPT API, LangChain og GPT Index (2023)

I denne artikel har vi forklaret trinene til at lære AI-chatbotten med dine egne data mere detaljeret. Fra opsætning af værktøjer og software til træning af AI-modellen har vi inkluderet alle instruktionerne i et letforståeligt sprog. Det anbefales stærkt at følge instruktionerne fra top til ned uden at springe nogen del over.

Bemærkelsesværdige punkter, før du træner AI med dine egne data

1. Du kan træne AI chatbot på enhver platform, uanset om det er Windows, macOS, Linux eller ChromeOS. I denne artikel bruger jeg Windows 11, men trinene er næsten identiske for andre platforme.

2. Vejledningen er beregnet til almindelige brugere, og instruktionerne er forklaret i et enkelt sprog. Så selvom du har et overfladisk kendskab til computere og ikke ved, hvordan du koder, kan du nemt træne og oprette en Q&A AI-chatbot på få minutter. Hvis du fulgte vores tidligere ChatGPT-botartikel, ville det være endnu nemmere at forstå processen.

3. Da vi skal træne en AI Chatbot baseret på vores egne data, anbefales det at bruge en computer med god CPU og GPU. Du kan dog bruge en hvilken som helst low-end computer til testformål, og den vil fungere uden problemer. Jeg brugte en Chromebook til at træne AI-modellen ved hjælp af en bog med 100 sider (~100 MB). Men hvis du ønsker at træne et stort sæt data, der løber ind i tusindvis af sider, anbefales det kraftigt at bruge en kraftfuld computer.

4. Endelig skal datasættet være på engelsk for at få de bedste resultater, men ifølge OpenAI vil det også fungere med populære internationale sprog som fransk, spansk, tysk osv. Så gå videre og prøv det på dit eget Sprog.

Konfigurer softwaremiljøet til at træne en AI Chatbot

Ligesom vores tidligere artikel skal du vide, at Python og Pip skal installeres sammen med flere biblioteker. I denne artikel vil vi sætte alt op fra bunden, så nye brugere også kan forstå opsætningsprocessen. For at give dig en kort idé, installerer vi Python og Pip. Derefter vil vi installere Python-biblioteker, som inkluderer OpenAI, GPT Index, Gradio og PyPDF2. Undervejs i processen vil du lære, hvad hvert bibliotek gør. Igen, ærgr dig ikke over installationsprocessen, det er ret ligetil. På den note, lad os springe lige ind.

  Sådan konverteres JPG til andre billedformater

Installer Python

1. Først og fremmest skal du installere Python (Pip) på din computer. Åben dette link og download installationsfilen til din platform.

2. Kør derefter installationsfilen og sørg for at aktivere afkrydsningsfeltet for “Tilføj Python.exe til PATH.” Dette er et yderst vigtigt skridt. Derefter skal du klikke på “Installer nu” og følge de sædvanlige trin for at installere Python.

3. For at kontrollere, om Python er korrekt installeret, skal du åbne Terminal på din computer. Jeg bruger Windows Terminal på Windows, men du kan også bruge kommandoprompt. Når du er her, skal du køre nedenstående kommando nedenfor, og den udsender Python-versionen. På Linux og macOS skal du muligvis bruge python3 –version i stedet for python –version.

python --version

Opgrader Pip

Når du installerer Python, installeres Pip samtidigt på dit system. Så lad os opgradere den til den nyeste version. For dem, der ikke er klar over, er Pip pakkehåndteringen for Python. Grundlæggende lader det dig installere tusindvis af Python-biblioteker fra terminalen. Med Pip kan vi installere OpenAI, gpt_index, gradio og PyPDF2 biblioteker. Her er de trin, du skal følge.

1. Åbn den ønskede terminal på din computer. Jeg bruger Windows Terminal, men du kan også bruge kommandoprompt. Kør nu kommandoen nedenfor for at opdatere Pip. Igen skal du muligvis bruge python3 og pip3 på Linux og macOS.

python -m pip install -U pip

2. Kør nedenstående kommando for at kontrollere, om Pip var korrekt installeret. Det vil udskrive versionsnummeret. Hvis du får nogen fejl, skal du følge vores dedikerede guide til, hvordan du installerer Pip på Windows for at løse PATH-relaterede problemer.

pip --version

Installer OpenAI, GPT Index, PyPDF2 og Gradio Libraries

Når vi har konfigureret Python og Pip, er det tid til at installere de væsentlige biblioteker, der vil hjælpe os med at træne en AI-chatbot med en tilpasset videnbase. Her er de trin, du skal følge.

1. Åbn terminalen og kør nedenstående kommando for at installere OpenAI-biblioteket. Vi vil bruge det som LLM (Large language model) til at træne og oprette en AI-chatbot. Og vi vil også importere LangChain-rammeværket fra OpenAI. Bemærk, at Linux- og macOS-brugere muligvis skal bruge pip3 i stedet for pip.

pip install openai

2. Lad os derefter installere GPT Index, som også kaldes LlamaIndex. Det gør det muligt for LLM at oprette forbindelse til de eksterne data, som er vores vidensbase.

pip install gpt_index

3. Installer derefter PyPDF2 for at parse PDF-filer. Hvis du ønsker at feed dine data i PDF-format, vil dette bibliotek hjælpe programmet med at læse dataene uden besvær.

pip install PyPDF2

4. Installer til sidst Gradio-biblioteket. Dette er beregnet til at skabe en simpel brugergrænseflade til at interagere med den trænede AI-chatbot. Vi er nu færdige med at installere alle de nødvendige biblioteker til at træne en AI-chatbot.

pip install gradio

Download en kodeeditor

Endelig har vi brug for en kodeeditor til at redigere noget af koden. På Windows vil jeg anbefale Notepad++ (Hent). Du skal blot downloade og installere programmet via det vedhæftede link. Du kan også bruge VS-kode på enhver platform, hvis du er fortrolig med kraftfulde IDE’er. Udover VS-kode kan du installere Sublime Text (Hent) på macOS og Linux.

Til ChromeOS kan du bruge den fremragende Caret-app (Hent) for at redigere koden. Vi er næsten færdige med at opsætte softwaremiljøet, og det er tid til at få OpenAI API-nøglen.

Få OpenAI API-nøglen gratis

Nu, for at træne og oprette en AI-chatbot baseret på en tilpasset vidensbase, skal vi have en API-nøgle fra OpenAI. API-nøglen giver dig mulighed for at bruge OpenAI’s model som LLM til at studere dine tilpassede data og drage slutninger. I øjeblikket tilbyder OpenAI gratis API-nøgler med gratis kredit til en værdi af $5 i de første tre måneder til nye brugere. Hvis du oprettede din OpenAI-konto tidligere, har du muligvis en gratis kredit på 18 $ på din konto. Når den gratis kredit er opbrugt, skal du betale for API-adgangen. Men indtil videre er den tilgængelig for alle brugere gratis.

  Bedre målretning og ideer til at engagere brugere

1. Gå til platform.openai.com/signup og opret en gratis konto. Hvis du allerede har en OpenAI-konto, skal du blot logge ind.

2. Klik derefter på din profil i øverste højre hjørne og vælg “Se API-nøgler” fra rullemenuen.

3. Klik her på “Opret ny hemmelig nøgle” og kopier API-nøglen. Bemærk, at du ikke kan kopiere eller se hele API-nøglen senere. Så det anbefales kraftigt at kopiere og indsætte API-nøglen til en Notesblok-fil med det samme.

4. Del eller vis heller ikke API-nøglen offentligt. Det er en privat nøgle, der kun er beregnet til adgang til din konto. Du kan også slette API-nøgler og oprette flere private nøgler (op til fem).

Træn og opret en AI-chatbot med tilpasset vidensbase

Nu hvor vi har sat softwaremiljøet op og fået API-nøglen fra OpenAI, så lad os træne AI-chatbotten. Her vil vi bruge “text-davinci-003”-modellen i stedet for den seneste “gpt-3.5-turbo”-model, fordi Davinci fungerer meget bedre til tekstfuldførelse. Hvis du vil, kan du meget vel ændre modellen til Turbo for at reducere omkostningerne. Med det af vejen, lad os springe til instruktionerne.

Tilføj dine dokumenter for at træne AI Chatbot

1. Opret først en ny mappe kaldet docs på en tilgængelig placering som f.eks. skrivebordet. Du kan også vælge en anden placering efter dine præferencer. Behold dog mappenavnet docs.

2. Flyt derefter de dokumenter, du ønsker at bruge til træning af AI’en, ind i mappen “docs”. Du kan tilføje flere tekst- eller PDF-filer (selv scannede). Hvis du har en stor tabel i Excel, kan du importere den som en CSV- eller PDF-fil og derefter tilføje den til “docs”-mappen. Du kan endda tilføje SQL-databasefiler, som forklaret i dette Langchain AI tweet. Jeg har ikke prøvet mange filformater udover de nævnte, men du kan tilføje og tjekke på egen hånd. Til denne artikel tilføjer jeg en af ​​mine artikler om NFT i PDF-format.

Bemærk: Hvis du har et stort dokument, vil det tage længere tid at behandle dataene, afhængigt af din CPU og GPU. Derudover vil den hurtigt bruge dine gratis OpenAI-tokens. Så i begyndelsen, start med et lille dokument (30-50 sider eller < 100 MB filer) for at forstå processen.

Gør koden klar

1. Start nu Notepad++ (eller dit valg af kodeeditor) og indsæt nedenstående kode i en ny fil. Endnu en gang har jeg taget stor hjælp af armrrs på Google Colab og justerede koden for at gøre den kompatibel med PDF-filer og oprette en Gradio-grænseflade 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. Sådan ser koden ud i kodeeditoren.

3. Klik derefter på “Filer” i topmenuen og vælg “Gem som…” fra rullemenuen.

4. Indstil derefter filnavnet app.py og skift “Gem som type” til “Alle typer” fra rullemenuen. Gem derefter filen på det sted, hvor du oprettede mappen “docs” (i mit tilfælde er det skrivebordet). Du kan ændre navnet efter din smag, men sørg for, at .py er tilføjet.

  Sådan åbner du DWG-filer på din bærbare computer

5. Sørg for, at mappen “docs” og “app.py” er på samme placering, som vist på skærmbilledet nedenfor. Filen “app.py” vil være uden for mappen “docs” og ikke inde.

6. Vend tilbage til koden igen i Notesblok++. Her skal du erstatte din API-nøgle med den, der er genereret på OpenAIs hjemmeside ovenfor.

7. Tryk til sidst på “Ctrl + S” for at gemme koden. Du er nu klar til at køre koden.

Opret ChatGPT AI Bot med Custom Knowledge Base

1. Åbn først Terminal og kør kommandoen nedenfor for at flytte til skrivebordet. Det er her, jeg gemte mappen “docs” og filen “app.py”. Hvis du har gemt begge elementer et andet sted, skal du flytte til denne placering via terminalen.

cd Desktop

2. Kør nu kommandoen nedenfor. Linux- og macOS-brugere skal muligvis bruge python3.

python app.py

3. Nu vil den begynde at analysere dokumentet ved hjælp af OpenAI LLM-modellen og begynde at indeksere oplysningerne. Afhængigt af filstørrelsen og din computers kapacitet vil det tage noget tid at behandle dokumentet. Når det er gjort, oprettes en “index.json”-fil på skrivebordet. Hvis terminalen ikke viser noget output, skal du ikke bekymre dig, den behandler muligvis stadig dataene. Til din information tager det omkring 10 sekunder at behandle et 30 MB dokument.

4. Når LLM har behandlet dataene, vil du få et par advarsler, som sikkert kan ignoreres. Til sidst finder du i bunden en lokal URL. Kopier det.

5. Indsæt nu den kopierede URL i webbrowseren, og der har du den. Din specialtrænede ChatGPT-drevne AI-chatbot er klar. Til at starte med kan du spørge AI-chatbotten, hvad dokumentet handler om.

6. Du kan stille yderligere spørgsmål, og ChatGPT-botten vil svare ud fra de data, du har givet til AI. Så det er sådan, du kan bygge en specialtrænet AI-chatbot med dit eget datasæt. Du kan nu træne og oprette en AI-chatbot baseret på enhver form for information, du ønsker. Mulighederne er uendelige.

7. Du kan også kopiere den offentlige URL og dele den med dine venner og familie. Linket vil være live i 72 timer, men du skal også holde din computer tændt, da serverforekomsten kører på din computer.

8. For at stoppe den specialtrænede AI-chatbot skal du trykke på “Ctrl + C” i terminalvinduet. Hvis det ikke virker, skal du trykke på “Ctrl + C” igen.

9. For at genstarte AI-chatbot-serveren skal du blot flytte til Desktop-placeringen igen og køre nedenstående kommando. Husk, at den lokale URL vil være den samme, men den offentlige URL vil ændre sig efter hver server genstart.

python app.py

10. Hvis du vil træne AI-chatbotten med nye data, skal du slette filerne i mappen “docs” og tilføje nye. Du kan også tilføje flere filer, men feed information om det samme emne, ellers kan du få et usammenhængende svar.

11. Kør nu koden igen i terminalen, og den vil oprette en ny “index.json” fil. Her vil den gamle “index.json”-fil automatisk blive erstattet.

python app.py

12. For at holde styr på dine tokens, gå over til OpenAI’s online dashboard og tjek hvor meget gratis kredit der er tilbage.

13. Endelig behøver du ikke at røre ved koden, medmindre du vil ændre API-nøglen eller OpenAI-modellen for yderligere tilpasning.

Byg en tilpasset AI Chatbot ved hjælp af dine egne data

Så det er sådan, du kan træne en AI-chatbot med en tilpasset videnbase. Jeg har brugt denne kode til at træne AI i medicinske bøger, artikler, datatabeller og rapporter fra gamle arkiver, og det har fungeret upåklageligt. Så gå videre og opret din egen AI-chatbot ved hjælp af OpenAIs store sprogmodel og ChatGPY. Det er i hvert fald alt fra os. Hvis du leder efter de bedste ChatGPT-alternativer, så gå til vores linkede artikel. Og for at bruge ChatGPT på dit Apple Watch, følg vores dybdegående vejledning. Endelig, hvis du står over for nogen form for problemer, så lad os det vide i kommentarfeltet nedenfor. Vi vil helt sikkert prøve at hjælpe dig.