Cum să antrenezi un Chatbot AI cu o bază de cunoștințe personalizată folosind API-ul ChatGPT

În materialul nostru anterior, am arătat cum se creează un chatbot AI folosind interfața API ChatGPT, personalizându-l cu un anumit rol. Dar, ce se întâmplă dacă doriți să instruiți un sistem AI cu datele proprii? Să presupunem că aveți o carte, date financiare sau o vastă bază de date și doriți să le interogați cu ușurință. În acest tutorial, vă vom ghida pas cu pas prin procesul de antrenare a unui chatbot AI cu baza dvs. de cunoștințe specifică, folosind API-ul LangChain și ChatGPT. Vom implementa LangChain, GPT Index și alte biblioteci puternice pentru a antrena chatbot-ul AI cu ajutorul Modelului Lingvistic Mare (LLM) de la OpenAI. Așadar, să vedem cum puteți antrena și crea un chatbot AI folosind setul dvs. de date.

Instruirea unui Chatbot AI cu o Bază de Cunoștințe Personalizată folosind API-ul ChatGPT, LangChain și GPT Index (2023)

În acest articol, explicăm în detaliu etapele necesare pentru a instrui un chatbot AI cu datele personale. Am inclus toate instrucțiunile, de la configurarea instrumentelor și a software-ului, până la antrenarea modelului AI, într-un limbaj ușor de înțeles. Este important să respectați indicațiile în ordine, fără a omite niciun pas.

Aspecte de Reținut Înainte de a Antrena AI cu Datele Proprii

1. Puteți instrui chatbot-ul AI pe orice sistem de operare, fie el Windows, macOS, Linux sau ChromeOS. În acest tutorial, vom utiliza Windows 11, dar pașii sunt aproape identici pe celelalte platforme.

2. Acest ghid este conceput pentru utilizatorii obișnuiți și instrucțiunile sunt prezentate într-un mod accesibil. Astfel, chiar dacă nu sunteți un expert în computere sau nu aveți cunoștințe de programare, puteți crea și antrena un chatbot AI cu întrebări și răspunsuri în doar câteva minute. Dacă ați parcurs tutorialul nostru anterior despre ChatGPT, veți înțelege și mai ușor procesul.

3. Deoarece vom instrui chatbot-ul AI cu datele noastre, vă recomandăm să utilizați un computer performant, cu un procesor și GPU adecvat. Însă, pentru teste, puteți folosi orice computer, chiar și unul mai vechi, și va funcționa bine. Am folosit un Chromebook pentru a antrena modelul AI cu o carte de 100 de pagini (~100MB). Pentru seturi de date mari, de mii de pagini, se recomandă un computer mai puternic.

4. În cele din urmă, setul de date ar trebui să fie în limba engleză pentru a obține cele mai bune rezultate, dar, conform OpenAI, funcționează și cu alte limbi internaționale populare, precum franceza, spaniola, germana etc.

Configurarea Mediului Software pentru Antrenarea Chatbot-ului AI

Similar articolului nostru anterior, este necesar să aveți instalate Python și Pip, împreună cu alte câteva biblioteci. Vom configura totul de la zero, pentru ca și utilizatorii noi să înțeleagă procesul. Vom instala Python și Pip. Apoi, vom instala biblioteci Python, precum OpenAI, GPT Index, Gradio și PyPDF2. Pe parcurs, veți înțelege rolul fiecărei biblioteci. Nu vă faceți griji, procesul de instalare este destul de simplu. Să trecem direct la treabă.

Instalarea Python

1. În primul rând, instalați Python (Pip) pe computer. Deschideți acest link și descărcați fișierul de instalare corespunzător sistemului dvs. de operare.

2. Rulați fișierul de instalare și asigurați-vă că selectați opțiunea „Add Python.exe to PATH”. Acest pas este foarte important. Apoi, dați click pe „Install Now” și urmați pașii de instalare obișnuiți.

3. Pentru a verifica dacă Python a fost instalat corect, deschideți Terminalul. În Windows, folosesc terminalul Windows, dar puteți utiliza și Command Prompt. Introduceți comanda de mai jos și veți vedea versiunea de Python instalată. Pe Linux și macOS, ar putea fi necesar să folosiți python3 –version în loc de python –version.

python --version

Actualizarea Pip

Odată cu instalarea Python, Pip este, de asemenea, instalat. Să actualizăm Pip la cea mai recentă versiune. Pip este managerul de pachete pentru Python. Practic, vă permite să instalați mii de biblioteci Python direct din Terminal. Cu Pip, putem instala biblioteci precum OpenAI, gpt_index, gradio și PyPDF2. Iată pașii de urmat:

1. Deschideți Terminalul pe care îl preferați. În Windows, folosesc terminalul Windows, dar puteți folosi și Command Prompt. Rulați comanda de mai jos pentru a actualiza Pip. Pe Linux și macOS, ar putea fi necesar să folosiți python3 și pip3.

python -m pip install -U pip

2. Pentru a verifica dacă Pip a fost instalat corect, rulați comanda de mai jos. Veți obține numărul versiunii. Dacă întâmpinați erori, urmați ghidul nostru despre cum să instalați Pip pe Windows pentru a corecta problemele legate de PATH.

pip --version

Instalarea Bibliotecilor OpenAI, GPT Index, PyPDF2 și Gradio

După configurarea Python și Pip, urmează instalarea bibliotecilor esențiale pentru antrenarea unui chatbot AI cu o bază de cunoștințe personalizată. Iată pașii de urmat:

1. Deschideți Terminalul și rulați comanda de mai jos pentru a instala biblioteca OpenAI. O vom folosi ca LLM (Model Lingvistic Mare) pentru antrenarea și crearea chatbot-ului AI. Vom importa și cadrul LangChain de la OpenAI. Utilizatorii Linux și macOS ar putea avea nevoie să folosească pip3 în loc de pip.

pip install openai

2. Acum instalăm GPT Index, cunoscut și ca LlamaIndex. Acesta permite LLM să se conecteze la datele externe, adică baza noastră de cunoștințe.

pip install gpt_index

3. Instalați apoi PyPDF2 pentru a analiza fișiere PDF. Dacă doriți să utilizați date în format PDF, această bibliotecă va ajuta programul să le citească cu ușurință.

pip install PyPDF2

4. În cele din urmă, instalați biblioteca Gradio. Aceasta va crea o interfață ușor de utilizat pentru a interacționa cu chatbot-ul AI antrenat. Acum am instalat toate bibliotecile necesare pentru a antrena chatbot-ul AI.

pip install gradio

Descărcarea unui Editor de Cod

Pentru a edita codul, avem nevoie de un editor de cod. Pentru Windows, aș recomanda Notepad++ (Descărcați). Descărcați și instalați programul urmând link-ul. Puteți utiliza și VS Code, pe orice platformă, dacă vă simțiți confortabil cu medii de dezvoltare puternice. Pe lângă VS Code, pentru macOS și Linux puteți instala Sublime Text (Descărcați).

Pentru ChromeOS, puteți folosi aplicația Caret (Descărcați) pentru a edita codul. Am configurat mediul software și urmează să obținem cheia API OpenAI.

Obținerea Gratuită a Cheii API OpenAI

Pentru a antrena și crea un chatbot AI folosind o bază de cunoștințe personalizată, avem nevoie de o cheie API de la OpenAI. Cheia API ne va permite să folosim modelul OpenAI ca LLM pentru a analiza datele personalizate și a trage concluzii. OpenAI oferă chei API gratuite, cu un credit de 5 USD pentru primele trei luni pentru utilizatorii noi. Cei care și-au creat conturi OpenAI mai devreme ar putea avea un credit de 18 USD. După ce creditul gratuit este consumat, va trebui să plătiți accesul la API. Dar, deocamdată, este disponibil gratuit pentru toți utilizatorii.

1. Accesați platform.openai.com/signup și creați un cont gratuit. Dacă aveți deja un cont OpenAI, pur și simplu conectați-vă.

2. Dați click pe profilul dvs. din colțul din dreapta sus și selectați „View API keys” din meniu.

3. Click pe „Create new secret key” și copiați cheia API. Nu veți putea copia sau vizualiza întreaga cheie API mai târziu. Vă recomandăm să copiați și să lipiți imediat cheia API într-un fișier Notepad.

4. Nu distribuiți cheia API public. Este o cheie privată destinată accesului la contul dvs. Puteți șterge cheile API și puteți crea mai multe chei private (până la cinci).

Antrenarea și Crearea unui Chatbot AI cu o Bază de Cunoștințe Personalizată

Am configurat mediul software și am obținut cheia API de la OpenAI, acum putem antrena chatbot-ul AI. Vom utiliza modelul „text-davinci-003” în loc de modelul mai recent „gpt-3.5-turbo”, deoarece Davinci funcționează mai bine pentru completarea textului. Puteți schimba modelul în Turbo pentru a reduce costurile. Să trecem la instrucțiuni:

Adăugarea Documentelor pentru Antrenarea Chatbot-ului AI

1. Creați un nou folder numit „docs” într-o locație accesibilă, precum Desktop. Puteți alege orice altă locație. Numele folderului trebuie să fie „docs”.

2. Mutați documentele pe care doriți să le folosiți pentru antrenament în folderul „docs”. Puteți adăuga fișiere text sau PDF (inclusiv scanate). Dacă aveți un tabel mare în Excel, îl puteți importa ca fișier CSV sau PDF și apoi îl adăugați în folderul „docs”. Puteți adăuga chiar și baze de date SQL, conform acestui tweet Langchain AI. Nu am testat multe formate de fișiere, dar puteți adăuga și verifica singur. Pentru acest tutorial, vom adăuga un articol despre NFT în format PDF.

Notă: Procesarea datelor unui document mare va dura mai mult, în funcție de procesor și GPU. În plus, va consuma rapid jetoanele OpenAI gratuite. Începeți cu un document mic (30-50 de pagini sau fișiere mai mici de 100 MB) pentru a înțelege procesul.

Pregătirea Codului

1. Deschideți Notepad++ (sau editorul de cod) și introduceți următorul cod într-un fișier nou. M-am inspirat de armrrs pe Google Colab și am modificat codul pentru a-l face compatibil cu fișierele PDF și pentru a crea o interfață Gradio.

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. Așa arată codul în editorul de cod.

3. Dați click pe „File” în meniul de sus și selectați „Save as…”.

4. Setați numele fișierului „app.py” și schimbați „Save as type” la „All types”. Salvați fișierul în aceeași locație cu folderul „docs” (în cazul meu, Desktop-ul). Puteți schimba numele, dar adăugați extensia .py.

5. Folderul „docs” și fișierul „app.py” trebuie să fie în aceeași locație, fișierul „app.py” fiind în afara folderului „docs”.

6. Reveniți la cod în Notepad++. Înlocuiți „Your API Key” cu cheia API generată pe site-ul OpenAI.

7. Apăsați „Ctrl + S” pentru a salva codul. Acum puteți rula codul.

Crearea unui Bot ChatGPT AI cu o Bază de Cunoștințe Personalizată

1. Deschideți Terminalul și rulați comanda de mai jos pentru a naviga la Desktop. Acolo am salvat folderul „docs” și fișierul „app.py”. Dacă le-ați salvat într-o altă locație, navigați în acea locație prin Terminal.

cd Desktop

2. Rulați comanda de mai jos. Utilizatorii Linux și macOS ar putea avea nevoie să folosească python3.

python app.py

3. Se va începe analizarea documentelor cu modelul OpenAI LLM și indexarea informațiilor. Procesarea documentului va dura ceva timp, în funcție de dimensiunea fișierului și performanța computerului. Când se finalizează, va fi creat fișierul „index.json” pe Desktop. Dacă terminalul nu afișează nimic, s-ar putea să proceseze datele. Pentru un document de 30 MB, procesarea durează aproximativ 10 secunde.

4. După ce LLM a procesat datele, veți primi câteva avertismente, pe care le puteți ignora. În partea de jos veți găsi o adresă URL locală. Copiați-o.

5. Lipiți URL-ul copiat în browser și aveți chatbot-ul AI antrenat personalizat, bazat pe ChatGPT. Întrebați chatbot-ul despre document.

6. Puneți întrebări suplimentare, iar botul ChatGPT va răspunde din datele furnizate. Puteți crea un chatbot AI personalizat cu propriul set de date. Acum puteți antrena și crea un chatbot AI bazat pe orice informație doriți. Posibilitățile sunt infinite.

7. Puteți copia și partaja adresa URL publică cu prietenii și familia. Link-ul va fi activ timp de 72 de ore, dar computerul trebuie să fie pornit, deoarece serverul rulează pe el.

8. Pentru a opri chatbot-ul AI antrenat, apăsați „Ctrl + C” în terminal. Dacă nu funcționează, apăsați din nou.

9. Pentru a reporni serverul chatbot-ului AI, navigați din nou la locația Desktop și rulați comanda de mai jos. Adresa URL locală va fi aceeași, dar adresa URL publică se va schimba la fiecare repornire a serverului.

python app.py

10. Dacă doriți să antrenați chatbot-ul cu date noi, ștergeți fișierele din folderul „docs” și adăugați altele noi. Puteți adăuga mai multe fișiere, dar să fie despre același subiect, altfel puteți primi răspunsuri incoerente.

11. Rulați din nou codul în Terminal și se va crea un nou fișier „index.json”. Cel vechi va fi suprascris automat.

python app.py

12. Pentru a monitoriza jetoanele consumate, accesați panoul de control de pe site-ul OpenAI și verificați creditul gratuit rămas.

13. Nu trebuie să modificați codul, decât dacă doriți să schimbați cheia API sau modelul OpenAI pentru personalizare ulterioară.

Crearea unui Chatbot AI Personalizat cu Datele Proprii

Acesta este modul în care puteți antrena un chatbot AI cu o bază de cunoștințe personalizată. Am folosit acest cod pentru a instrui AI pe cărți medicale, articole, tabele de date și rapoarte din arhive vechi, cu rezultate excelente. Creați și voi propriul chatbot AI folosind Modelul Lingvistic Mare de la OpenAI și ChatGPY. Acesta este totul de la noi. Dacă sunteți în căutarea unor alternative la ChatGPT, consultați articolul nostru legat. Pentru a utiliza ChatGPT pe Apple Watch, urmați tutorialul nostru detaliat. Dacă întâmpinați probleme, scrieți în secțiunea de comentarii și vom încerca să vă ajutăm.