Benvenuto in questa guida passo passo su come creare un chatbot utilizzando l'API ChatGPT. I chatbot sono diventati sempre più popolari e possono essere visti in varie aree come l’assistenza clienti, il recupero di informazioni e l’intrattenimento. Con i progressi nell'elaborazione del linguaggio naturale e nell'intelligenza artificiale, costruire il tuo chatbot è diventato più facile che mai.
In questa guida ti guideremo attraverso il processo di creazione di un chatbot utilizzando l'API ChatGPT. Inizieremo con le nozioni di base, come la configurazione della chiave API e dell'ambiente. Successivamente, ci concentreremo sull'aspetto della programmazione e approfondiremo il codice per estrarre il risultato desiderato. Che tu sia un principiante o uno sviluppatore esperto, questa guida ha qualcosa per tutti.
Prima di iniziare, avrai bisogno di una chiave API ChatGPT. Se non ne hai ancora uno, vai al sito web di OpenAI e registrati per un account. Una volta ottenuta la chiave API, sei pronto per iniziare a creare il tuo chatbot.
Il primo passo è configurare il tuo ambiente di sviluppo. Puoi utilizzare qualsiasi linguaggio di programmazione con cui ti senti a tuo agio, ma per questa guida ci concentreremo sull'uso di Python. Assicurati di avere Python installato sul tuo computer e che le librerie necessarie siano aggiornate. Utilizzeremo la libreria OpenAI Python per interagire con l'API ChatGPT.
Ora che hai configurato il tuo ambiente, è il momento di scrivere del codice. Utilizzeremo la libreria OpenAI Python per effettuare richieste all'endpoint API ChatGPT. La libreria fornisce una funzione dedicata chiamata "openai. ChatCompletion. create()" che utilizza l'endpoint "chat/completion" dell'API ChatGPT. Questo endpoint ci consente di avviare una conversazione inviando una serie di messaggi al modello e ricevendo risposte generate dal modello.
In questo tutorial ti guideremo attraverso un esempio completo di come costruire un chatbot. Inizieremo definendo la richiesta di conversazione iniziale, che in genere include il messaggio di un utente e la risposta di un modello. Puoi sostituire la richiesta di conversazione di esempio con la tua per personalizzare il chatbot in base alle tue esigenze. Tieni presente che l'API ha un limite di risposta di 4096 token, quindi assicurati che la tua conversazione rientri in questo limite.
Una volta definito il prompt della conversazione, puoi effettuare una richiesta all'endpoint dell'API utilizzando la funzione `openai. ChatCompletion. create()`. Ciò restituirà la risposta del modello, che potrai quindi estrarre e utilizzare nella tua applicazione. È importante notare che la qualità e l'accuratezza della risposta dipendono dai dati di addestramento e dalle istruzioni fornite al modello.
In conclusione, creare un chatbot utilizzando l'API ChatGPT è un processo semplice che ti consente di creare agenti conversazionali intelligenti. Seguendo questa guida passo passo, sarai in grado di creare il tuo chatbot e migliorarlo con funzionalità e aggiornamenti aggiuntivi. Quindi, cominciamo e liberiamo il potere dell'intelligenza artificiale per creare fantastici chatbot!
Passaggio 1: impostazione dell'ambiente
Prima di iniziare a creare un chatbot utilizzando l'API ChatGPT, devi configurare il tuo ambiente di sviluppo. Questo passaggio è fondamentale in quanto garantisce di disporre di tutti gli strumenti e le dipendenze necessari per creare e testare il tuo chatbot.
1. Configurazione dell'ambiente
Inizia scegliendo un linguaggio di programmazione e un ambiente per costruire il tuo chatbot. Per questo esempio utilizzeremo Node. js, un popolare ambiente runtime JavaScript.
Se non hai familiarità con Node. js, puoi installarlo seguendo la documentazione ufficiale fornita sul sito web di Node. js.
2. Installazione delle dipendenze
Con Node. js installato, ora puoi accedere alla cartella del tuo progetto e creare una nuova applicazione Node. js. Per fare ciò, apri il terminale o il prompt dei comandi ed esegui il seguente comando:
npm ini t-y
Questo comando inizializza un nuovo progetto Node. js con le impostazioni predefinite. Crea unpacchetto. json
file che memorizza informazioni sul tuo progetto e sulle sue dipendenze.
Successivamente, devi installare le dipendenze richieste per il tuo chatbot. In questo caso utilizzerai il fileassi
libreria per effettuare richieste HTTP edotenv
per gestire le variabili d'ambiente.
Per installare le dipendenze, eseguire il comando seguente:
npm installa axios dotenv
3. Ottenere la chiave API OpenAI
Per utilizzare l'API ChatGPT, è necessario ottenere una chiave API da OpenAI. La chiave API è un identificatore univoco che consente alla tua applicazione di accedere ai servizi ChatGPT.
Per ottenere la tua chiave API, accedi alla piattaforma OpenAI e vai alla sezione API. Segui le istruzioni fornite da OpenAI per generare la tua chiave API.
Una volta ottenuta la chiave API, è importante mantenerla sicura e non condividerla mai pubblicamente.
4. Effettuare richieste API
Ora che hai configurato il tuo ambiente e ottenuto la chiave API, puoi iniziare a effettuare richieste API all'endpoint ChatGPT.
Nella tua applicazione Node. js, crea un nuovo file JavaScript (ad esempio,chatGPTAPIExample. js
) e importare le dipendenze richieste:
const axios = require('axios');
const dotenv = require('dotenv');
dotenv. config();// Carica le variabili d'ambiente da un file . env (se presente)
Successivamente, devi costruire la richiesta API all'endpoint ChatGPT. Ciò richiede di fornire i dati necessari, inclusa la chiave API, il tipo di contenuto e i messaggi che desideri inviare per le risposte basate sulla chat.
Ecco un esempio di costruzione della richiesta API:
const instance = axios.create({
baseURL: 'https://api. openai. com/v1/',
headers: {
'Tipo di contenuto': 'application/json',
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`
}
});
const chatGPTRequest = {
messaggi: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Who won the World Series in 2020?' },
{ role: 'assistant', content: 'The Los Angeles Dodgers won the World Series in 2020.' },
{ role: 'user', content: 'Where was it played?' }
]
};
istanza. post('chat/completamenti', chatGPTRequest)
.then(response => {
const { choices } = response.data;
const chatGPTResponse = scelte[0]. message. content;
console. log('ChatGPT: ', chatGPTResponse);// Emette la risposta del chatbot
})
.catch(error => {
console. log('Errore: ', errore);// Gestire eventuali errori di richiesta API
});
Il codice precedente utilizza il fileassi
libreria per connettersi all'endpoint API ChatGPT, passando le intestazioni necessarie e i messaggi per le risposte basate sulla chat. La risposta dall'API viene quindi estratta e stampata sulla console.
Si noti che ilprocess. env. OPENAI_API_KEY
recupera la chiave API dalle variabili di ambiente, che hai definito nel file. env
file.
Seguendo questi passaggi, hai configurato il tuo ambiente di sviluppo, installato le dipendenze necessarie, ottenuto una chiave API da OpenAI e creato il codice per effettuare richieste API all'endpoint API ChatGPT.
Nel passaggio successivo, gestiremo i token di completamento dinamico e i metadati per guidare il comportamento del chatbot.
Passaggio 2: raccolta dei dati di formazione
Prima di procedere alla fase successiva dell'implementazione dell'API ChatGPT, è importante raccogliere i dati di addestramento che verranno utilizzati per addestrare il tuo chatbot. La qualità e la diversità dei tuoi dati di addestramento influenzeranno notevolmente le prestazioni del tuo chatbot.
Per iniziare, devi disporre di una raccolta di conversazioni di messaggi che ti aiuteranno ad addestrare il chatbot. Ogni conversazione di messaggi dovrebbe consistere in un elenco di messaggi, in cui ogni messaggio ha un "ruolo" ("sistema", "utente" o "assistente") e un "contenuto" (il testo del messaggio).
Puoi fornire più conversazioni per acquisire un'ampia gamma di interazioni utente e ogni conversazione deve contenere almeno due messaggi: uno dell'utente e uno dell'assistente. Per esempio:
Ruolo | Contenuto |
---|---|
utente | Com'è il tempo oggi? |
assistente | Mi dispiace, non posso fornire le informazioni meteo attuali. Sono un chatbot addestrato a rispondere a domande sulle opere d'arte di Piet Mondrian. C'è qualcosa di specifico che vorresti sapere? |
Una volta avviate le conversazioni dei messaggi, puoi procedere al passaggio successivo e utilizzare l'API ChatGPT per addestrare il tuo modello. Ma prima di ciò, ci sono alcuni punti importanti da notare:
- Assicurati di avere un account OpenAI e di aver seguito il processo di creazione di una chiave API. Questa chiave API verrà utilizzata per l'integrazione.
- Tieni presente che ti verrà addebitato un costo per l'utilizzo dell'API, quindi assicurati di disporre di un budget se prevedi di fare un uso estensivo del chatbot.
- L'API segue un sistema basato su token in cui invii una richiesta e ricevi token di completamento come risposta. Il numero massimo di token per richiesta è limitato, quindi è fondamentale gestire i token in modo efficiente per rientrare nel limite consentito (ad esempio, 4096 token per gpt-3. 5-turbo).
- Quando lavori con linguaggi di programmazione back-end come Node. js, dovresti aprire un file writer per registrare le interazioni a scopo di debug e analisi.
- Esiste un'opzione per includere metadati in ogni messaggio, che può essere utile per aggiungere ulteriore contesto o istruzioni per il modello.
- Se stai aggiornando l'interfaccia della chat lato client, devi assicurarti che invii sempre la cronologia delle conversazioni più recente all'API. Questo è importante per generare risposte accurate.
- È importante scegliere un modello linguistico adatto per il tuo chatbot. Puoi prendere in considerazione l'utilizzo del modello "gpt-3. 5-turbo", consigliato da OpenAI per la maggior parte dei casi d'uso.
- Durante lo sviluppo del chatbot, l'attenzione dovrebbe essere rivolta alla sperimentazione e all'iterazione di diversi approcci per migliorare le prestazioni del modello.
Tenendo presente questi punti, sei pronto per passare alla fase successiva della creazione del chatbot e dell'integrazione dell'API nel tuo sviluppo front-end o back-end.
Passaggio 3: addestramento del modello Chatbot
Ora che abbiamo esplorato le nozioni di base dell'API ChatGPT e imparato come inviare un semplice messaggio al chatbot, è tempo di approfondire l'addestramento del modello per interazioni più avanzate.
Quando si utilizza l'API CHATGPT, un concetto importante da capire è l'uso di "temperature". Nel contesto dell'API, il parametro di temperatura controlla la casualità dell'output del modello. Un valore di temperatura più elevato (ad es. 0, 8) rende l'output più casuale e creativo, mentre un valore inferiore (ad esempio 0, 2) rende l'output più focalizzato e deterministico.
Costruire il modello
Per iniziare a costruire il nostro chatbot, dobbiamo definire un backend che gestirà le interazioni della chat. Questo backend può essere creato utilizzando qualsiasi linguaggio di programmazione a tua scelta. In questa guida passo-passo, useremo JavaScript con Node. js per la nostra implementazione backend.
Prima di creare il backend, assicurati di avere node. js installato sul tuo sistema. Puoi confermarlo eseguendo il seguente comando nel tuo terminale o prompt dei comandi:
nod o-v
Se è installato node. js, è necessario visualizzare il numero di versione visualizzato. In caso contrario, è possibile scaricare e installare node. js dal sito ufficiale.
Una volta installato node. js, possiamo procedere con la creazione del backend. Segui questi passi:
Passaggio 1: installazione dei pacchetti richiesti
Il primo passo è impostare una nuova directory per il nostro progetto. Apri il prompt del terminale o dei comandi, vai nella posizione desiderata ed esegui il seguente comando:
Mkdir Chatbot-Backend
Successivamente, navigare nella directory appena creata utilizzando il comando seguente:
CD Chatbot-Backend
Ora, dobbiamo inizializzare un file package. json. Questo file terrà traccia delle dipendenze del progetto. Esegui il seguente comando:
npm ini t-y
Questo genererà un file package. json con valori predefiniti. Il flag "-y" viene utilizzato per accettare automaticamente i valori predefiniti senza suggerire.
Per comunicare con l'API Openai Chatgpt, useremo il pacchetto Axios, che è un popolare client HTTP per JavaScript. Installalo in esecuzione:
NPM Installa assios
Inoltre, dobbiamo installare il pacchetto Dotenv per gestire le variabili di ambiente per il nostro progetto. Questo pacchetto ci consente di archiviare informazioni sensibili (come la nostra chiave API) al di fuori del nostro codice. Installa Dotenv eseguendo:
NPM Installa Dotenv
Ora, abbiamo i pacchetti necessari installati per il nostro progetto.
Passaggio 2: creazione del backend di chatbot
Crea un nuovo file chiamato "Index. js" nella directory Chatbot-Backend utilizzando l'editor di codice preferito. Apri il file e aggiungi il seguente codice:
const axios = require('axios'); richiedere ('dotenv'). config (); const apikey = process. env. openai_api_key; async function sendMessageToChatGPT(message) { try { const response = await axios.post('https://api.openai.com/v1/chat/completions', { messages: [{ role: 'system', content: 'You are a helpful assistant.' }, { role: 'user', content: message }], prompt: "Quanto segue è una conversazione con un assistente di intelligenza artificiale", max_tokens: 100, Temperatura: 0, 6, }, { headers: { 'Tipo di contenuto': 'application/json', 'Authorization': `Bearer ${apiKey}`, }, }); return response. data. choices [0] . message. content; } catch (error) { console. error ('Errore:', errore. response. data); Restituisci 'Scusa, qualcosa è andato storto.'; } }
In questo frammento di codice, importiamo il pacchetto Axios e il pacchetto Dotenv. Quindi recuperiamo la nostra chiave API dalle variabili di ambiente utilizzandoprocess. env. OPENAI_API_KEY
.
ILSendMessagetochatgpt
La funzione invia un messaggio all'API CHATGPT e restituisce la risposta generata. Usa gli assiosinviare
Metodo per effettuare una richiesta post all'endpoint APIhttps://api. openai. com/v1/chat/completions
. Inviamo la chiave API nell'intestazione di autorizzazione insieme alla richiesta.
Il payload della richiesta contiene la cronologia della conversazione (messaggi), un prompt e altri parametri comemax_tokens
(token massimi nella risposta) etemperatura
(Controlla la casualità della risposta).
Estraiamo il messaggio generato dalla risposta dell'API usandorisposta. data. choices [0] . message. content
e restituirlo.
Passaggio 3: aggiunta di richieste di endpoint API e gestione
Per ricevere richieste e inviare risposte dal nostro chatbot, dobbiamo creare un endpoint API. Aggiungi il seguente codice all'esistenzaindice. js
file:
const espress = requisito ('express'); const app = express (); app. use (express. json ()); app.post('/chat', async (req, res) => { const message = req. body. message; const response = Aspetta sendMessagetochatgpt (messaggio); res.json({ response }); }); port const = 3000; app.listen(port, () => { console.log(`Server is listening on port ${port}`); });
In questo frammento di codice, importa il pacchetto Express e creiamo un'istanza dell'applicazione Express. Aggiungiamo quindi ilExpress. json ()
Middleware per analizzare i dati JSON in arrivo.
Successivamente, definiamo un percorso post/chiacchierata
che si aspetta un organo di richiesta con aMessaggio
campo. Estraiamo il messaggio dal corpo di richiesta e lo passiamo alSendMessagetochatgpt
funzione.
La risposta generata viene inviata come oggetto JSON nella risposta utilizzandores.json({ response })
.
Infine, specifichiamo la porta su cui ascolterà il nostro server (in questo caso, 3000) e avvia il server utilizzandoapp. listen
.
Il backend del chatbot è ora pronto a ricevere richieste e generare risposte utilizzando l'API CHATGPT.
Conclusione
In questo passaggio, abbiamo imparato a impostare il bac k-end per il nostro modello di chatbot usando node. js e i pacchetti richiesti. Abbiamo anche creato un endpoint API per gestire le richieste e inviare risposte.
Nel prossimo passaggio, passeremo alla parte finale della guida e vedremo come integrare il nostro chatbot con un'interfaccia frontend usando JavaScript.