I vår tidigare artikel demonstrerade vi skapandet av en AI-chatbot med hjälp av ChatGPT API och hur man tilldelar den en specifik roll för anpassning. Men vad händer om du vill lära upp AI:n med din egen data? Tänk dig att du har en bok, ekonomiska data eller en stor uppsättning databaser som du enkelt vill kunna söka igenom. I den här artikeln ger vi dig en enkel guide för hur du tränar en AI-chatbot med din anpassade kunskapsbas med hjälp av LangChain och ChatGPT API. Vi använder oss av LangChain, GPT Index och andra kraftfulla bibliotek för att träna AI-chatboten med OpenAI:s stora språkmodell (LLM). Med det sagt, låt oss undersöka hur man tränar och skapar en AI-chatbot med din egen datauppsättning.
Träna en AI-chatbot med anpassad kunskapsbas med ChatGPT API, LangChain och GPT Index (2023)
I den här artikeln har vi mer detaljerat gått igenom stegen för att lära en AI-chatbot med dina egna data. Från installation av verktyg och programvara till träning av AI-modellen, har vi inkluderat alla instruktioner på ett lättförståeligt sätt. Det rekommenderas starkt att följa instruktionerna steg för steg utan att hoppa över några delar.
Viktiga punkter innan du tränar AI med din egen data
1. Du kan träna AI-chatboten på vilken plattform som helst, oavsett om det är Windows, macOS, Linux eller ChromeOS. I den här artikeln använder jag Windows 11, men stegen är i stort sett desamma för andra plattformar.
2. Guiden är skriven för en bred publik och instruktionerna förklaras på ett enkelt sätt. Så även om du bara har grundläggande datorkunskaper och inte kan programmera, kan du enkelt träna och skapa en Q&A AI-chatbot på bara några minuter. Om du har följt vår tidigare artikel om ChatGPT-bot kommer du att tycka att processen är ännu enklare att förstå.
3. Eftersom vi ska träna en AI-chatbot baserad på våra egna data, rekommenderas det att använda en dator med bra processor och grafikkort. Du kan dock använda en enklare dator för teständamål, och det kommer att fungera utan problem. Jag använde en Chromebook för att träna AI-modellen med en bok på 100 sidor (~100 MB). Men om du vill träna en stor datauppsättning på tusentals sidor rekommenderas starkt en kraftfull dator.
4. Slutligen bör datamängden vara på engelska för bästa resultat, men enligt OpenAI fungerar det även med populära internationella språk som franska, spanska och tyska. Så du kan gärna testa med ditt eget språk.
Konfigurera programvarumiljön för att träna en AI-chatbot
Precis som i vår tidigare artikel behöver du ha Python och Pip installerat, tillsammans med flera bibliotek. I den här artikeln kommer vi att ställa in allt från början så att även nya användare kan förstå installationsprocessen. För att ge dig en kort översikt kommer vi att installera Python och Pip. Därefter installerar vi Python-bibliotek, inklusive OpenAI, GPT Index, Gradio och PyPDF2. Under processen får du lära dig vad varje bibliotek gör. Oroa dig inte för installationsprocessen, den är ganska enkel. Låt oss börja direkt.
Installera Python
1. Först måste du installera Python (Pip) på din dator. Öppna den här länken och ladda ner installationsfilen för din plattform.
2. Kör sedan installationsfilen och se till att kryssrutan för ”Lägg till Python.exe till PATH” är markerad. Det här är ett mycket viktigt steg. Klicka därefter på ”Installera nu” och följ de vanliga stegen för att installera Python.
3. För att kontrollera om Python har installerats korrekt, öppna terminalen på din dator. Jag använder Windows Terminal på Windows, men du kan även använda Kommandotolken. Kör kommandot nedan så får du ut Python-versionen. På Linux och macOS kan du behöva använda python3 --version
istället för python --version
.
python --version
Uppgradera Pip
När du installerar Python installeras även Pip samtidigt på ditt system. Låt oss uppgradera det till den senaste versionen. Pip är pakethanteraren för Python. I grunden låter det dig installera tusentals Python-bibliotek från terminalen. Med Pip kan vi installera OpenAI, gpt_index, gradio och PyPDF2-biblioteken. Här är stegen att följa.
1. Öppna den terminal du vill använda på din dator. Jag använder Windows Terminal, men du kan också använda Kommandotolken. Kör nu kommandot nedan för att uppdatera Pip. Återigen kan du behöva använda python3
och pip3
på Linux och macOS.
python -m pip install -U pip
2. För att kontrollera om Pip har installerats korrekt, kör kommandot nedan. Det kommer att visa versionsnumret. Om du får fel, följ vår dedikerade guide om hur du installerar Pip på Windows för att lösa PATH-relaterade problem.
pip --version
Installera OpenAI, GPT Index, PyPDF2 och Gradio-bibliotek
Nu när vi har installerat Python och Pip är det dags att installera de viktiga biblioteken som hjälper oss att träna en AI-chatbot med en anpassad kunskapsbas. Här är stegen att följa.
1. Öppna terminalen och kör kommandot nedan för att installera OpenAI-biblioteket. Vi kommer att använda det som LLM (Large language model) för att träna och skapa en AI-chatbot. Vi kommer även att importera LangChain-ramverket från OpenAI. Observera att Linux- och macOS-användare kan behöva använda pip3
istället för pip
.
pip install openai
2. Låt oss sedan installera GPT Index, även känt som LlamaIndex. Det gör att LLM kan ansluta till den externa datan som utgör vår kunskapsbas.
pip install gpt_index
3. Därefter installerar du PyPDF2 för att analysera PDF-filer. Om du vill mata in din data i PDF-format kommer detta bibliotek att hjälpa programmet att läsa datan utan problem.
pip install PyPDF2
4. Slutligen installerar du Gradio-biblioteket. Det är avsett att skapa ett enkelt användargränssnitt för att interagera med den tränade AI-chatboten. Vi har nu installerat alla nödvändiga bibliotek för att träna en AI-chatbot.
pip install gradio
Ladda ner en kodredigerare
Slutligen behöver vi en kodredigerare för att redigera koden. På Windows rekommenderar jag Notepad++ (Ladda ner). Ladda bara ner och installera programmet via den bifogade länken. Du kan även använda VS Code på valfri plattform om du föredrar kraftfullare IDE:er. Förutom VS Code kan du installera Sublime Text (Ladda ner) på macOS och Linux.
För ChromeOS kan du använda den utmärkta Caret-appen (Ladda ner) för att redigera koden. Vi är nästan klara med att konfigurera programvarumiljön, nu är det dags att skaffa OpenAI API-nyckeln.
Skaffa OpenAI API-nyckeln gratis
För att träna och skapa en AI-chatbot baserad på en anpassad kunskapsbas, behöver vi en API-nyckel från OpenAI. API-nyckeln gör att du kan använda OpenAI:s modell som LLM för att studera dina anpassade data och dra slutsatser. För närvarande erbjuder OpenAI gratis API-nycklar med ett värde av 5 dollar i gratis krediter under de första tre månaderna till nya användare. Om du har skapat ditt OpenAI-konto tidigare kan du ha 18 dollar i gratis krediter på ditt konto. När den kostnadsfria krediten är förbrukad måste du betala för API-åtkomst. Men för tillfället är den tillgänglig för alla användare gratis.
1. Gå till platform.openai.com/signup och skapa ett gratis konto. Om du redan har ett OpenAI-konto loggar du bara in.
2. Klicka sedan på din profil i det övre högra hörnet och välj ”Visa API-nycklar” från rullgardinsmenyn.
3. Klicka här på ”Skapa ny hemlig nyckel” och kopiera API-nyckeln. Observera att du inte kan kopiera eller se hela API-nyckeln senare. Det är därför starkt rekommenderat att kopiera och klistra in API-nyckeln i en textfil direkt.
4. Dela eller visa inte API-nyckeln offentligt. Det är en privat nyckel som endast är avsedd för åtkomst till ditt konto. Du kan även ta bort API-nycklar och skapa flera privata nycklar (upp till fem).
Träna och skapa en AI-chatbot med anpassad kunskapsbas
Nu när vi har konfigurerat programvarumiljön och fått API-nyckeln från OpenAI, låt oss träna AI-chatboten. Vi kommer att använda ”text-davinci-003”-modellen istället för den senaste ”gpt-3.5-turbo”-modellen eftersom Davinci fungerar mycket bättre för textkomplettering. Om du vill kan du ändra modellen till Turbo för att minska kostnaderna. Med det ur vägen, låt oss gå till instruktionerna.
Lägg till dina dokument för att träna AI-chatboten
1. Skapa först en ny mapp som heter ”docs” på en lämplig plats, till exempel skrivbordet. Du kan välja en annan plats om du vill, men behåll mappnamnet ”docs”.
2. Flytta sedan de dokument du vill använda för att träna AI:n till mappen ”docs”. Du kan lägga till flera text- eller PDF-filer (även skannade). Om du har en stor tabell i Excel kan du importera den som en CSV- eller PDF-fil och sedan lägga till den i mappen ”docs”. Du kan även lägga till SQL-databasfiler, som förklaras i den här tweeten från Langchain AI. Jag har inte testat många filformat förutom de nämnda, men du kan lägga till och kontrollera på egen hand. För den här artikeln lägger jag till en av mina artiklar om NFT i PDF-format.
Obs! Om du har ett stort dokument tar det längre tid att bearbeta datan beroende på din CPU och GPU. Det kommer också snabbt att använda dina gratis OpenAI-tokens. Så till att börja med är det bäst att börja med ett litet dokument (30-50 sidor eller < 100 MB filer) för att förstå processen.
Gör koden klar
1. Starta nu Notepad++ (eller din valda kodredigerare) och klistra in koden nedan i en ny fil. Återigen har jag fått stor hjälp av armrrs på Google Colab och justerat koden för att göra den kompatibel med PDF-filer och skapa ett Gradio-gränssnitt.
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å här ser koden ut i kodredigeraren.
3. Klicka sedan på ”Arkiv” i toppmenyn och välj ”Spara som…” från rullgardinsmenyn.
4. Ställ sedan in filnamnet till app.py
och ändra ”Spara som typ” till ”Alla typer” från rullgardinsmenyn. Spara sedan filen på samma plats som du skapade mappen ”docs” (i mitt fall skrivbordet). Du kan ändra namnet om du vill, men se till att .py
läggs till.
5. Se till att mappen ”docs” och ”app.py” är på samma plats, som visas på skärmdumpen nedan. Filen ”app.py” ska ligga utanför mappen ”docs” och inte inuti.
6. Gå tillbaka till koden i Notepad++. Ersätt din API-nyckel med den som genererats på OpenAI:s webbplats.
7. Tryck slutligen på ”Ctrl + S” för att spara koden. Du är nu redo att köra koden.
Skapa ChatGPT AI-bot med anpassad kunskapsbas
1. Öppna först terminalen och kör kommandot nedan för att flytta till skrivbordet. Det är där jag sparade mappen ”docs” och filen ”app.py”. Om du har sparat de båda objekten på en annan plats, flyttar du till den platsen via terminalen.
cd Desktop
2. Kör nu kommandot nedan. Linux- och macOS-användare kan behöva använda python3
.
python app.py
3. Nu kommer den att börja analysera dokumentet med OpenAI LLM-modellen och börja indexera informationen. Beroende på filstorleken och din dators kapacitet tar det lite tid att bearbeta dokumentet. När det är klart skapas en ”index.json”-fil på skrivbordet. Om terminalen inte visar någon utdata, oroa dig inte, det kan fortfarande bearbeta datan. För att ge dig ett hum, tar det ungefär 10 sekunder att bearbeta ett 30 MB dokument.
4. När LLM har bearbetat datan får du några varningar som du säkert kan ignorera. Slutligen, längst ner, hittar du en lokal URL. Kopiera den.
5. Klistra in den kopierade URL:en i webbläsaren och där har du den. Din anpassade ChatGPT-drivna AI-chatbot är klar. Du kan till att börja med fråga AI-chatboten vad dokumentet handlar om.
6. Du kan ställa ytterligare frågor, och ChatGPT-boten kommer att svara utifrån den information du har gett till AI:n. Det är alltså så här du bygger en anpassad AI-chatbot med din egen datauppsättning. Du kan nu träna och skapa en AI-chatbot baserad på vilken typ av information du vill. Möjligheterna är oändliga.
7. Du kan även kopiera den publika webbadressen och dela den med dina vänner och familj. Länken kommer att vara aktiv i 72 timmar, men du måste också hålla datorn påslagen eftersom serverinstansen körs på din dator.
8. För att stoppa den specialtränade AI-chatboten trycker du på ”Ctrl + C” i terminalfönstret. Om det inte fungerar, tryck på ”Ctrl + C” igen.
9. För att starta om AI-chatbotservern flyttar du bara till skrivbordets plats igen och kör kommandot nedan. Tänk på att den lokala webbadressen är densamma, men den publika webbadressen ändras efter varje omstart av servern.
python app.py
10. Om du vill träna AI-chatboten med nya data tar du bort filerna i mappen ”docs” och lägger till nya. Du kan även lägga till flera filer, men mata in information om samma ämne, annars kan du få osammanhängande svar.
11. Kör nu koden igen i terminalen och den skapar en ny ”index.json”-fil. Här kommer den gamla ”index.json”-filen att ersättas automatiskt.
python app.py
12. För att hålla koll på dina tokens, gå över till OpenAI:s online instrumentbräda och kontrollera hur mycket gratis krediter som finns kvar.
13. Slutligen behöver du inte röra koden om du inte vill ändra API-nyckeln eller OpenAI-modellen för ytterligare anpassning.
Bygg en anpassad AI-chatbot med dina egna data
Så här kan du träna en AI-chatbot med en anpassad kunskapsbas. Jag har använt den här koden för att träna AI på medicinska böcker, artiklar, datatabeller och rapporter från gamla arkiv, och det har fungerat felfritt. Så varsågod och skapa din egen AI-chatbot med OpenAI:s stora språkmodell och ChatGPY. Hur som helst, det är allt från oss. Om du letar efter de bästa ChatGPT-alternativen, kolla in vår länkade artikel. Och för att använda ChatGPT på din Apple Watch, följ vår djupgående handledning. Slut