Come addestrare un chatbot AI con una base di conoscenza personalizzata utilizzando l’API ChatGPT

Nel nostro precedente articolo, abbiamo dimostrato come creare un chatbot AI con l’API ChatGPT e assegnare un ruolo per personalizzarlo. Ma cosa succede se vuoi addestrare l’IA sui tuoi dati? Ad esempio, potresti avere un libro, dati finanziari o un ampio set di database e desideri cercarli con facilità. In questo articolo, ti offriamo un tutorial facile da seguire su come addestrare un chatbot AI con la tua knowledge base personalizzata con LangChain e ChatGPT API. Stiamo implementando LangChain, GPT Index e altre potenti librerie per addestrare il chatbot AI utilizzando il Large Language Model (LLM) di OpenAI. Quindi, su quella nota, diamo un’occhiata a come addestrare e creare un AI Chatbot utilizzando il tuo set di dati.

Addestra un chatbot AI con una Knowledge Base personalizzata utilizzando l’API ChatGPT, LangChain e l’indice GPT (2023)

In questo articolo, abbiamo spiegato in modo più dettagliato i passaggi per insegnare al chatbot AI con i tuoi dati. Dalla configurazione di strumenti e software all’addestramento del modello AI, abbiamo incluso tutte le istruzioni in un linguaggio di facile comprensione. Si consiglia vivamente di seguire le istruzioni dall’alto verso il basso senza saltare alcuna parte.

Punti importanti prima di addestrare l’IA con i tuoi dati

1. Puoi addestrare il chatbot AI su qualsiasi piattaforma, Windows, macOS, Linux o ChromeOS. In questo articolo utilizzo Windows 11, ma i passaggi sono quasi identici per altre piattaforme.

2. La guida è pensata per utenti generici e le istruzioni sono spiegate con un linguaggio semplice. Quindi, anche se hai una conoscenza superficiale dei computer e non sai come programmare, puoi facilmente addestrare e creare un chatbot AI Q&A in pochi minuti. Se hai seguito il nostro precedente articolo sul bot di ChatGPT, sarebbe ancora più facile capire il processo.

3. Dato che addestreremo un Chatbot AI basato sui nostri dati, si consiglia di utilizzare un computer capace con una buona CPU e GPU. Tuttavia, puoi utilizzare qualsiasi computer di fascia bassa a scopo di test e funzionerà senza problemi. Ho utilizzato un Chromebook per addestrare il modello AI utilizzando un libro con 100 pagine (~ 100 MB). Tuttavia, se si desidera eseguire il training di una vasta serie di dati in migliaia di pagine, si consiglia vivamente di utilizzare un computer potente.

4. Infine, il set di dati dovrebbe essere in inglese per ottenere i migliori risultati, ma secondo OpenAI funzionerà anche con lingue internazionali popolari come francese, spagnolo, tedesco, ecc. lingua.

Configura l’ambiente software per addestrare un chatbot AI

Come il nostro precedente articolo, dovresti sapere che Python e Pip devono essere installati insieme a diverse librerie. In questo articolo configureremo tutto da zero in modo che anche i nuovi utenti possano comprendere il processo di installazione. Per darti una breve idea, installeremo Python e Pip. Successivamente, installeremo le librerie Python, che includono OpenAI, GPT Index, Gradio e PyPDF2. Lungo il processo, imparerai cosa fa ogni libreria. Ancora una volta, non preoccuparti per il processo di installazione, è piuttosto semplice. Su quella nota, entriamo subito.

Installa Python

1. Prima di tutto, devi installare Python (Pip) sul tuo computer. Aprire questo link e scarica il file di installazione per la tua piattaforma.

2. Quindi, esegui il file di installazione e assicurati di abilitare la casella di controllo “Aggiungi Python.exe a PATH”. Questo è un passo estremamente importante. Successivamente, fai clic su “Installa ora” e segui i soliti passaggi per installare Python.

3. Per verificare se Python è installato correttamente, apri il Terminale sul tuo computer. Sto usando Windows Terminal su Windows, ma puoi anche usare il prompt dei comandi. Una volta qui, esegui il comando seguente di seguito e produrrà la versione di Python. Su Linux e macOS, potrebbe essere necessario utilizzare python3 –version invece di python –version.

python --version

Aggiorna pip

Quando installi Python, Pip viene installato contemporaneamente sul tuo sistema. Quindi aggiorniamolo all’ultima versione. Per chi non lo sapesse, Pip è il gestore di pacchetti per Python. Fondamentalmente, ti consente di installare migliaia di librerie Python dal Terminale. Con Pip, possiamo installare le librerie OpenAI, gpt_index, gradio e PyPDF2. Ecco i passi da seguire.

1. Apri il terminale di tua scelta sul tuo computer. Sto usando il terminale di Windows, ma puoi anche usare il prompt dei comandi. Ora esegui il comando seguente per aggiornare Pip. Ancora una volta, potresti dover usare python3 e pip3 su Linux e macOS.

python -m pip install -U pip

2. Per verificare se Pip è stato installato correttamente, eseguire il comando seguente. Produrrà il numero di versione. In caso di errori, segui la nostra guida dedicata su come installare Pip su Windows per risolvere i problemi relativi a PATH.

pip --version

Installa le librerie OpenAI, GPT Index, PyPDF2 e Gradio

Dopo aver configurato Python e Pip, è il momento di installare le librerie essenziali che ci aiuteranno ad addestrare un chatbot AI con una knowledge base personalizzata. Ecco i passi da seguire.

1. Apri il Terminale ed esegui il comando seguente per installare la libreria OpenAI. Lo useremo come LLM (Large language model) per addestrare e creare un chatbot AI. E importeremo anche il framework LangChain da OpenAI. Tieni presente che gli utenti Linux e macOS potrebbero dover utilizzare pip3 invece di pip.

pip install openai

2. Successivamente, installiamo GPT Index, che è anche chiamato LlamaIndex. Consente al LLM di connettersi ai dati esterni che costituiscono la nostra base di conoscenza.

pip install gpt_index

3. Successivamente, installa PyPDF2 per analizzare i file PDF. Se vuoi inserire i tuoi dati in formato PDF, questa libreria aiuterà il programma a leggere i dati senza sforzo.

pip install PyPDF2

4. Infine, installa la libreria Gradio. Questo è pensato per creare una semplice interfaccia utente per interagire con il chatbot AI addestrato. Ora abbiamo finito di installare tutte le librerie necessarie per addestrare un chatbot AI.

pip install gradio

Scarica un editor di codice

Infine, abbiamo bisogno di un editor di codice per modificare parte del codice. Su Windows, consiglierei Notepad++ (Scaricamento). Basta scaricare e installare il programma tramite il collegamento allegato. Puoi anche utilizzare VS Code su qualsiasi piattaforma se hai dimestichezza con potenti IDE. Oltre a VS Code, puoi installare Sublime Text (Scaricamento) su macOS e Linux.

Per ChromeOS, puoi utilizzare l’eccellente app Caret (Scaricamento) per modificare il codice. Abbiamo quasi finito di configurare l’ambiente software ed è ora di ottenere la chiave API OpenAI.

Ottieni gratuitamente la chiave API OpenAI

Ora, per addestrare e creare un chatbot AI basato su una knowledge base personalizzata, dobbiamo ottenere una chiave API da OpenAI. La chiave API ti consentirà di utilizzare il modello di OpenAI come LLM per studiare i tuoi dati personalizzati e trarre conclusioni. Attualmente, OpenAI offre chiavi API gratuite con $ 5 di credito gratuito per i primi tre mesi ai nuovi utenti. Se hai creato il tuo account OpenAI in precedenza, potresti avere un credito gratuito di $ 18 nel tuo account. Una volta esaurito il credito gratuito, dovrai pagare per l’accesso all’API. Ma per ora è disponibile gratuitamente per tutti gli utenti.

1. Vai a piattaforma.openai.com/signup e crea un account gratuito. Se hai già un account OpenAI, accedi semplicemente.

2. Successivamente, fai clic sul tuo profilo nell’angolo in alto a destra e seleziona “Visualizza chiavi API” dal menu a discesa.

3. Qui, fai clic su “Crea nuova chiave segreta” e copia la chiave API. Tieni presente che non puoi copiare o visualizzare l’intera chiave API in un secondo momento. Quindi si consiglia vivamente di copiare e incollare immediatamente la chiave API in un file di Blocco note.

4. Inoltre, non condividere o visualizzare la chiave API in pubblico. È una chiave privata pensata solo per l’accesso al tuo account. Puoi anche eliminare le chiavi API e creare più chiavi private (fino a cinque).

Addestra e crea un chatbot AI con una Knowledge Base personalizzata

Ora che abbiamo configurato l’ambiente software e ottenuto la chiave API da OpenAI, addestriamo il chatbot AI. Qui useremo il modello “text-davinci-003” invece dell’ultimo modello “gpt-3.5-turbo” perché Davinci funziona molto meglio per il completamento del testo. Se vuoi, puoi benissimo cambiare il modello in Turbo per ridurre il costo. Detto questo, passiamo alle istruzioni.

Aggiungi i tuoi documenti per addestrare il chatbot AI

1. Innanzitutto, crea una nuova cartella chiamata docs in una posizione accessibile come il desktop. Puoi scegliere anche un’altra posizione in base alle tue preferenze. Tuttavia, mantieni il nome della cartella docs.

2. Quindi, sposta i documenti che desideri utilizzare per addestrare l’IA all’interno della cartella “docs”. Puoi aggiungere più file di testo o PDF (anche scansionati). Se disponi di una tabella di grandi dimensioni in Excel, puoi importarla come file CSV o PDF e quindi aggiungerla alla cartella “docs”. Puoi persino aggiungere file di database SQL, come spiegato in questo Tweet di Langchain AI. Non ho provato molti formati di file oltre a quelli menzionati, ma puoi aggiungere e controllare da solo. Per questo articolo, aggiungo uno dei miei articoli su NFT in formato PDF.

Nota: se disponi di un documento di grandi dimensioni, l’elaborazione dei dati richiederà più tempo, a seconda della CPU e della GPU. Inoltre, utilizzerà rapidamente i tuoi token OpenAI gratuiti. Quindi, all’inizio, inizia con un piccolo documento (30-50 pagine o meno di 100 MB di file) per capire il processo.

Prepara il codice

1. Ora avvia Notepad ++ (o l’editor di codice che preferisci) e incolla il codice seguente in un nuovo file. Ancora una volta, ho ricevuto un grande aiuto da armr su Google Colab e ottimizzato il codice per renderlo compatibile con i file PDF e creare un’interfaccia Gradio in cima.

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. Ecco come appare il codice nell’editor di codice.

3. Successivamente, fai clic su “File” nel menu in alto e seleziona “Salva con nome…” dal menu a discesa.

4. Successivamente, imposta il nome del file app.py e modifica “Salva come tipo” in “Tutti i tipi” dal menu a discesa. Quindi, salva il file nella posizione in cui hai creato la cartella “docs” (nel mio caso, è il desktop). Puoi cambiare il nome a tuo piacimento, ma assicurati che .py sia aggiunto.

5. Assicurati che la cartella “docs” e “app.py” siano nella stessa posizione, come mostrato nello screenshot qui sotto. Il file “app.py” sarà all’esterno della cartella “docs” e non all’interno.

6. Torna di nuovo al codice in Notepad ++. Qui, sostituisci la tua chiave API con quella generata sul sito Web di OpenAI sopra.

7. Infine, premi “Ctrl + S” per salvare il codice. Ora sei pronto per eseguire il codice.

Crea ChatGPT AI Bot con Knowledge Base personalizzata

1. Innanzitutto, apri il Terminale ed esegui il comando seguente per passare al Desktop. È dove ho salvato la cartella “docs” e il file “app.py”. Se hai salvato entrambi gli elementi in un’altra posizione, spostati in quella posizione tramite il Terminale.

cd Desktop

2. Ora esegui il comando seguente. Gli utenti Linux e macOS potrebbero dover utilizzare python3.

python app.py

3. Ora inizierà ad analizzare il documento utilizzando il modello OpenAI LLM e inizierà a indicizzare le informazioni. A seconda delle dimensioni del file e della capacità del tuo computer, ci vorrà del tempo per elaborare il documento. Al termine, verrà creato un file “index.json” sul desktop. Se il terminale non mostra alcun output, non preoccuparti, potrebbe ancora elaborare i dati. Per tua informazione, sono necessari circa 10 secondi per elaborare un documento di 30 MB.

4. Una volta che LLM ha elaborato i dati, riceverai alcuni avvisi che possono essere tranquillamente ignorati. Infine, in fondo, troverai un URL locale. Copialo.

5. Ora incolla l’URL copiato nel browser web e il gioco è fatto. Il tuo chatbot AI basato su ChatGPT addestrato su misura è pronto. Per iniziare, puoi chiedere al chatbot AI di cosa tratta il documento.

6. Puoi porre ulteriori domande e il bot ChatGPT risponderà in base ai dati che hai fornito all’IA. Quindi è così che puoi creare un chatbot AI addestrato su misura con il tuo set di dati. Ora puoi addestrare e creare un chatbot AI basato su qualsiasi tipo di informazione desideri. Le possibilità sono infinite.

7. Puoi anche copiare l’URL pubblico e condividerlo con i tuoi amici e familiari. Il collegamento sarà attivo per 72 ore, ma devi anche tenere acceso il computer poiché l’istanza del server è in esecuzione sul tuo computer.

8. Per arrestare il chatbot AI addestrato in modo personalizzato, premi “Ctrl + C” nella finestra Terminale. Se non funziona, premi di nuovo “Ctrl + C”.

9. Per riavviare il server AI chatbot, spostati semplicemente di nuovo nella posizione Desktop ed esegui il comando seguente. Tieni presente che l’URL locale sarà lo stesso, ma l’URL pubblico cambierà dopo ogni riavvio del server.

python app.py

10. Se vuoi addestrare il chatbot AI con nuovi dati, elimina i file all’interno della cartella “docs” e aggiungine di nuovi. Puoi anche aggiungere più file, ma fornire informazioni sullo stesso argomento, altrimenti potresti ricevere una risposta incoerente.

11. Ora, esegui nuovamente il codice nel Terminale e creerà un nuovo file “index.json”. Qui, il vecchio file “index.json” verrà sostituito automaticamente.

python app.py

12. Per tenere traccia dei tuoi token, vai su OpenAI online pannello di controllo e controlla quanto credito gratuito è rimasto.

13. Infine, non è necessario toccare il codice a meno che non si desideri modificare la chiave API o il modello OpenAI per un’ulteriore personalizzazione.

Crea un chatbot AI personalizzato utilizzando i tuoi dati

Quindi è così che puoi addestrare un chatbot AI con una knowledge base personalizzata. Ho usato questo codice per addestrare l’intelligenza artificiale su libri di medicina, articoli, tabelle di dati e rapporti da vecchi archivi e ha funzionato perfettamente. Quindi vai avanti e crea il tuo chatbot AI utilizzando il Large Language Model di OpenAI e ChatGPY. Comunque, questo è tutto da noi. Se stai cercando le migliori alternative a ChatGPT, vai al nostro articolo collegato. E per utilizzare ChatGPT sul tuo Apple Watch, segui il nostro tutorial approfondito. Infine, se stai affrontando qualsiasi tipo di problema, faccelo sapere nella sezione commenti qui sotto. Cercheremo sicuramente di aiutarti.