ChatGPT è un modello di linguaggio avanzato sviluppato da OpenAI. Grazie alle API di OpenAI, è possibile utilizzare ChatGPT per una vasta gamma di applicazioni, come la stesura di e-mail, la scrittura di codice Python, la risposta a domande su documenti, la creazione di agenti conversazionali e molto altro. In questa guida, vedremo come effettuare una chiamata API per modelli di conversazione basati su ChatGPT e forniremo consigli utili per ottenere risultati validi.
Contents
Cos’è ChatGPT
ChatGPT è un modello di linguaggio avanzato creato da OpenAI. Questo modello è in grado di generare testo di alta qualità che risponde a domande, svolge compiti e persino ha conversazioni naturali. Grazie alla sua grande capacità di elaborazione del linguaggio naturale, ChatGPT può essere utilizzato in una vasta gamma di applicazioni.
Introduzione ai modelli di conversazione ChatGPT
I modelli conversazionali basati su ChatGPT accettano una serie di messaggi come input e restituiscono un messaggio generato dal modello come output. Anche se il formato di chat è stato progettato per rendere le conversazioni a più turni più facili, è altrettanto utile per le attività a singolo turno senza conversazioni. Ad esempio, ChatGPT può essere utilizzato per rispondere a domande o svolgere compiti senza dover fare riferimento a una conversazione precedente.
Ecco un esempio di chiamata API per un modello di conversazione basato su ChatGPT:
1 2 3 4 5 6 7 8 9 10 11 12 | import openai openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "Ciao! Sono un assistente virtuale che può rispondere alle tue domande sulla cucina."}, {"role": "user", "content": "Quali sono le ricette di pasta più semplici?"}, {"role": "assistant", "content": "Una delle ricette di pasta più semplici è la pasta al pomodoro."}, {"role": "user", "content": "Come si prepara la pasta al pomodoro?"}, {"role": "assistant", "content": "Per preparare la pasta al pomodoro, cuoci la pasta e poi mescola il sugo di pomodoro con la pasta. Aggiungi sale e pepe a piacere e servilo caldo."} ] ) |
Come si può vedere, la chiamata API richiede un modello di ChatGPT specifico e una serie di messaggi che includono un messaggio di sistema, un messaggio utente e uno o più messaggi di assistente.
I messaggi di sistema e di assistente sono utilizzati per impostare il comportamento dell’assistente virtuale e memorizzare le risposte precedenti, mentre il messaggio utente è quello che contiene la richiesta dell’utente.
Utilizzo dei token
I modelli di linguaggio elaborano il testo in token, che sono porzioni di testo che possono essere di una o più parole. La quantità di token utilizzata in una chiamata API influisce sulla durata dell’elaborazione, sul costo e sulla correttezza della risposta.
Il numero totale di token in una chiamata API deve essere inferiore al limite massimo consentito dal modello. Ad esempio, per il modello ChatGPT “gpt-3.5-turbo” il limite massimo è di 4096 token.
Per controllare il numero di token utilizzati in una chiamata API, è possibile verificare il campo “usage” nella risposta API.
Se una conversazione supera il limite massimo di token del modello, sarà necessario ridurla o troncarla in qualche modo.
Formato di risposta
Una risposta API di esempio appare come segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { 'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve', 'object': 'chat.completion', 'created': 1677649420, 'model': 'gpt-3.5-turbo', 'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87}, 'choices': [ { 'message': { 'role': 'assistant', 'content': 'La pasta al pomodoro è un piatto semplice e gustoso, perfetto per una cena veloce.'}, 'finish_reason': 'stop', 'index': 0 } ] } |
In Python, è possibile estrarre la risposta dell’assistente con response['choices'][0]['message']['content']
.
Istruzioni per i modelli di conversazione
I modelli di conversazione sono in grado di comprendere le istruzioni fornite loro.
Di solito, le conversazioni iniziano con un messaggio di sistema che istruisce l’assistente. Ad esempio, “Ciao! Sono un assistente virtuale che può rispondere alle tue domande sulla cucina.”
Se il modello non genera l’output desiderato, è possibile iterare e sperimentare. Ad esempio, è possibile rendere l’istruzione più esplicita, specificare il formato desiderato della risposta o chiedere al modello di pensare passo dopo passo o di discutere pro e contro prima di prendere una decisione.
Altri fattori che possono influire sulla risposta generata dal modello di conversazione sono la temperatura e il numero massimo di token. Una temperatura più alta rende la risposta più casuale, mentre una temperatura più bassa la rende più deterministica. Il numero massimo di token può essere impostato per limitare la lunghezza della risposta.
Fine-tuning di ChatGPT
Ad oggi non è possibile utilizzare i modelli ChatGPT per il fine-tuning. Non si sa se questa opzione verrà fornita in futuro.
Conclusioni
In questa guida, abbiamo visto come utilizzare le API di ChatGPT per modelli di conversazione. Abbiamo anche esaminato come gestire i token, il formato della risposta e come istruire i modelli di conversazione.
Le API di ChatGPT sono uno strumento potente per creare assistenti virtuali e chatbot in grado di comunicare in modo naturale con gli utenti.
Tuttavia, per ottenere i migliori risultati, è importante seguire alcune linee guida e istruire correttamente il modello di conversazione.
Inoltre, è importante considerare il numero di token utilizzati in ogni chiamata API e come essi influenzano il costo e la correttezza della risposta.
Con un po’ di pratica e sperimentazione, le API di ChatGPT possono aiutare a creare assistenti virtuali efficaci e interattivi per una vasta gamma di applicazioni, dal supporto clienti all’istruzione online, fino alla creazione di personaggi per videogiochi e molto altro ancora.