Hur man tränar en AI Chatbot med anpassad kunskapsbas med ChatGPT API

I vår tidigare artikel visade vi hur man bygger en AI-chatbot med ChatGPT API och tilldelar en roll för att anpassa den. Men vad händer om du vill träna AI på din egen data? Till exempel kan du ha en bok, finansiella data eller en stor uppsättning databaser och du vill enkelt söka i dem. I den här artikeln ger vi dig en enkel att följa handledning om hur du tränar en AI-chatbot med din anpassade kunskapsbas med LangChain och ChatGPT API. Vi distribuerar LangChain, GPT Index och andra kraftfulla bibliotek för att träna AI-chatboten med OpenAI:s Large Language Model (LLM). Så på den noten, låt oss kolla in 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 förklarat stegen för att lära AI-chatboten med dina egna data mer detaljerat. Från att sätta upp verktyg och mjukvara till att träna AI-modellen, vi har inkluderat alla instruktioner på ett lättförståeligt språk. Det rekommenderas starkt att följa instruktionerna uppifrån och ner utan att hoppa över någon del.

Viktiga poäng innan du tränar AI med dina egna 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 nästan identiska för andra plattformar.

2. Guiden är avsedd för allmänna användare, och instruktionerna förklaras på ett enkelt språk. Så även om du har en översiktlig kunskap om datorer och inte vet hur man kodar, kan du enkelt träna och skapa en Q&A AI-chatbot på några minuter. Om du följde vår tidigare ChatGPT-botartikel skulle det vara ännu lättare att förstå processen.

3. Eftersom vi ska träna en AI Chatbot baserat på våra egna data, rekommenderas det att använda en kapabel dator med en bra CPU och GPU. Däremot kan du använda vilken low-end dator som helst 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 med 100 sidor (~100 MB). Men om du vill träna en stor uppsättning data som löper in på tusentals sidor, rekommenderas det starkt att du använder en kraftfull dator.

4. Slutligen bör datamängden vara på engelska för att få bästa resultat, men enligt OpenAI kommer den även att fungera med populära internationella språk som franska, spanska, tyska etc. Så varsågod och prova på ditt eget språk.

Ställ in mjukvarumiljön för att träna en AI Chatbot

Liksom vår tidigare artikel bör du veta att Python och Pip måste installeras tillsammans med flera bibliotek. I den här artikeln kommer vi att ställa in allt från början så att nya användare också kan förstå installationsprocessen. För att ge dig en kort idé kommer vi att installera Python och Pip. Efter det kommer vi att installera Python-bibliotek, som inkluderar OpenAI, GPT Index, Gradio och PyPDF2. Under processen kommer du att lära dig vad varje bibliotek gör. Återigen, oroa dig inte över installationsprocessen, det är ganska enkelt. På den noten, låt oss hoppa direkt in.

Installera Python

1. Först måste du installera Python (Pip) på din dator. Öppen den här länken och ladda ner installationsfilen för din plattform.

2. Kör sedan installationsfilen och se till att markera kryssrutan för ”Lägg till Python.exe till PATH.” Detta är ett oerhört viktigt steg. Efter det, klicka på ”Installera nu” och följ de vanliga stegen för att installera Python.

3. För att kontrollera om Python är korrekt installerat, öppna terminalen på din dator. Jag använder Windows Terminal på Windows, men du kan också använda Kommandotolken. Väl här, kör kommandot nedan nedan, och det kommer att mata 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 Pip samtidigt på ditt system. Så låt oss uppgradera den till den senaste versionen. För de omedvetna är Pip pakethanteraren för Python. I grund och botten låter det dig installera tusentals Python-bibliotek från terminalen. Med Pip kan vi installera OpenAI, gpt_index, gradio och PyPDF2-bibliotek. Här är stegen att följa.

1. Öppna den terminal du väljer 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 var korrekt installerat, kör kommandot nedan. Det kommer att mata ut versionsnumret. Om du får några fel, följ vår dedikerade guide om hur du installerar Pip på Windows för att fixa PATH-relaterade problem.

pip --version

Installera OpenAI, GPT Index, PyPDF2 och Gradio Libraries

När vi väl har ställt in 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 den som LLM (Large language model) för att träna och skapa en AI-chatbot. Och vi kommer också 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, som också kallas LlamaIndex. Det tillåter LLM att ansluta till den externa data som är vår kunskapsbas.

pip install gpt_index

3. Efter det, installera PyPDF2 för att analysera PDF-filer. Om du vill mata dina data i PDF-format, kommer detta bibliotek att hjälpa programmet att läsa data utan ansträngning.

pip install PyPDF2

4. Slutligen installerar du Gradio-biblioteket. Detta är avsett för 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 en del av koden. På Windows skulle jag rekommendera Notepad++ (Ladda ner). Ladda bara ner och installera programmet via den bifogade länken. Du kan också använda VS-kod på vilken plattform som helst om du är bekväm med kraftfulla IDE:er. Förutom VS-kod 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 mjukvarumiljön och det är dags att skaffa OpenAI API-nyckeln.

Få OpenAI API-nyckeln gratis

Nu, för att träna och skapa en AI-chattbot baserad på en anpassad kunskapsbas, måste vi få en API-nyckel från OpenAI. API-nyckeln låter dig 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 $5 värde av gratis kredit under de första tre månaderna till nya användare. Om du skapade ditt OpenAI-konto tidigare, kan du ha gratis $18 kredit på ditt konto. När den kostnadsfria krediten är förbrukad måste du betala för API-åtkomsten. Men för närvarande ä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. Så det rekommenderas starkt att kopiera och klistra in API-nyckeln till en Anteckningsblock-fil omedelbart.

4. Dela eller visa inte API-nyckeln offentligt. Det är en privat nyckel endast avsedd för åtkomst till ditt konto. Du kan också ta bort API-nycklar och skapa flera privata nycklar (upp till fem).

Träna och skapa en AI-chattbot med anpassad kunskapsbas

Nu när vi har ställt in mjukvarumiljön och fått API-nyckeln från OpenAI, låt oss träna AI-chattboten. Här kommer vi 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 mycket väl ändra modellen till Turbo för att minska kostnaden. Med det ur vägen, låt oss hoppa till instruktionerna.

Lägg till dina dokument för att träna AI Chatbot

1. Skapa först en ny mapp som heter docs på en tillgänglig plats som skrivbordet. Du kan också välja en annan plats enligt dina önskemål. Behåll dock mappnamnet docs.

2. Flytta sedan dokumenten du vill använda för att träna AI:n in i 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 till och med lägga till SQL-databasfiler, som förklaras i detta Langchain AI tweet. Jag har inte provat 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 kommer det att ta längre tid att bearbeta data, beroende på din CPU och GPU. Dessutom kommer den snabbt att använda dina gratis OpenAI-tokens. Så i början, 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 ditt val av kodredigerare) och klistra in koden nedan i en ny fil. Återigen har jag tagit stor hjälp av armrrs på Google Colab och justerade koden för att göra den kompatibel med PDF-filer och skapa ett Gradio-gränssnitt ovanpå.

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. Efter det, ställ in filnamnet app.py och ändra ”Spara som typ” till ”Alla typer” från rullgardinsmenyn. Spara sedan filen på den plats där du skapade mappen ”docs” (i mitt fall är det skrivbordet). Du kan ändra namnet efter eget tycke, 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” kommer att finnas utanför mappen ”docs” och inte inuti.

6. Gå tillbaka till koden igen i Notepad++. Ersätt här din API-nyckel med den som genereras på OpenAI:s webbplats ovan.

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 båda objekten på en annan plats, flytta 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 kommer det att ta 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, den kanske fortfarande bearbetar data. För din information tar det cirka 10 sekunder att bearbeta ett 30 MB dokument.

4. När LLM har bearbetat data kommer du att få några varningar som säkert kan ignoreras. Till sist, längst ner, hittar du en lokal URL. Kopiera det.

5. Klistra in den kopierade URL:en i webbläsaren och där har du den. Din skräddarsydda ChatGPT-drivna AI-chatbot är redo. Till att börja med kan du fråga AI-chatboten vad dokumentet handlar om.

6. Du kan ställa ytterligare frågor, och ChatGPT-boten kommer att svara från den information du lämnat till AI:n. Så det är så här du kan bygga en skräddarsydd AI-chatbot med din egen datauppsättning. Du kan nu träna och skapa en AI-chatbot baserat på vilken typ av information du vill. Möjligheterna är oändliga.

7. Du kan också kopiera den offentliga webbadressen och dela den med dina vänner och familj. Länken kommer att vara live i 72 timmar, men du måste också hålla din dator påslagen eftersom serverinstansen körs på din dator.

8. För att stoppa den specialtränade AI-chattboten, tryck på ”Ctrl + C” i terminalfönstret. Om det inte fungerar, tryck på ”Ctrl + C” igen.

9. För att starta om AI-chatbotservern, flytta helt enkelt till skrivbordsplatsen igen och kör kommandot nedan. Tänk på att den lokala webbadressen är densamma, men den offentliga webbadressen ändras efter varje omstart av servern.

python app.py

10. Om du vill träna AI-chattboten med ny data, ta bort filerna i mappen ”docs” och lägg till nya. Du kan också lägga till flera filer, men mata information om samma ämne annars kan du få ett osammanhängande svar.

11. Kör nu koden igen i terminalen och den kommer att skapa 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 reda på dina tokens, gå över till OpenAIs online instrumentbräda och kontrollera hur mycket gratis kredit 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-chattbot med dina egna data

Så det är så här du kan träna en AI-chatbot med en anpassad kunskapsbas. Jag har använt den här koden för att träna AI i medicinska böcker, artiklar, datatabeller och rapporter från gamla arkiv, och det har fungerat felfritt. Så fortsätt 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, gå till vår länkade artikel. Och för att använda ChatGPT på din Apple Watch, följ vår djupgående handledning. Slutligen, om du står inför någon form av problem, låt oss veta i kommentarsektionen nedan. Vi kommer definitivt att försöka hjälpa dig.