Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

ChatGPT: generare codice e comandi da Terminale

Utilizzare ChatGPT da Terminale con Shell GPT e le API di OpenAI per creare codice, cercare comandi ed eseguirli
Utilizzare ChatGPT da Terminale con Shell GPT e le API di OpenAI per creare codice, cercare comandi ed eseguirli
Link copiato negli appunti

Nella lezione precedente abbiamo seguito tutta la procedura necessaria per integrare ChatGPT nel Terminale della nostra distribuzione Linux. Grazie a Python, alla libreria Shell GPT e alle API di OpenAI possiamo infatti interrogare il modello generativo GPT tramite la linea di comando. Scopriamo quindi quali aspetti del nostro lavoro possono essere facilitati grazie a questo nuovo strumento.

Gestire i parametri di input

La versione standard di ChatGPT presenta un semplice modulo nel quale digitare la propria richiesta. Nel caso della nostra integrazione sul Terminale abbiamo invece la possibilità di utilizzare dei parametri con i quali definire il modo in cui deve essere generato un output. Analizziamo di seguito quelli che potrebbero risultare più utili nell'affrontare i task di amministrazioni di sistema e programmazione.

Parametro Descrizione
--chat Permette di inizializzare una sessione di chat associando ad essa un nome e un prompt specifico.
--code Consente di generare output sotto forma di codice.
--shell Permette di generare output sotto forma di istruzioni da linea di comando.
--execute Esegue le istruzioni generate dal parametro precedente.

Questi parametri possono essere utilizzati anche in combinazione tra loro o integrati con altre opzioni messe a disposizione da Shell GPT. Di seguito verranno proposti alcuni esempi, prima di iniziare ricordiamoci però di accedere alla nostra directory di progetto (dirGPT) e di attivare l'ambiente virtuale (TerminaleGPT) dedicato a Shell GPT tramite il comando:

source TerminaleGPT/bin/activate

Inizializzare una sessione di chat

Il modo più semplice di utilizzare il parametro --chat può essere riassunto tramite la seguente istruzione:

sgpt --chat cifra "Registra il numero 8"

Nel caso specifico l'opzione --chat permette di produrre una sessione univoca chiamata cifra. A quest'ultima viene poi associato un prompt ("Registra il numero 8") di cui il chatbot dovrà tenere conto nel prompt successivo. Come riutilizzare le informazioni memorizzate in sessione? Ad esempio in questo modo:

sgpt --chat cifra "Moltiplica il numero registrato per se stesso"

Il sistema ricorderà che il numero registrato è 8, lo moltiplicherà per se stesso restituendo in output il risultato corretto.

È possibile inizializzare più sessioni contemporaneamente con nomi differenti, per visualizzarne una lista basta usare l'istruzione:

sgpt --list-chat

Nello stesso modo è possibile visualizzare tutte le iterazioni relative ad una specifica sessione di chat tramite l'opzione --show-chat. In questo modo:

sgpt --show-chat cifra

Generare codice con --code

Il parametro --code for

--code --code
sgpt --chat for_py --code "Usa il ciclo for di Python per sommare.."

Fatto questo il codice prodotto rimarrà residente in sessione (for_py while

sgpt --chat for_py --code "Sostituisci il ciclo for con il while"

Il risultato dei due prompt può essere utile per confrontare le due espressioni generate dal sistema e utilizzare quella più performante per l'economia della propria applicazione.

Comandi da Terminale con --shell

La linea di comando di Linux prevede un numero enorme di istruzioni e combinazioni tra parametri, impossibile ricordarle tutte. A questo proposito il nostro chatbot e l'opzione --shell apropos whatis man --execute

Cominciamo con qualcosa di semplice, chiedendo ad esempio al sistema quale sia il comando per visualizzare la lista dei file e delle cartelle presenti nella directory corrente:

sgpt --shell "Elenca i file e le cartelle della directory corrente"

L'output in figura è corretto: ls -a

Esattamente come accade con --code --shell --chat

L'immagine precedente mostra ad esempio la creazione di una sessione di chat, a cui è stato attribuito il nome CMD --shell ls -a dir ls -a

Eseguire comandi da Terminale con --execute

--execute --shell --shell --execute prompt
sgpt --shell --execute "prompt"

Immaginiamo per esempio di voler creare nella directory corrente una cartella chiamata chat bot --shell

Ora, se volessimo ripetere lo stesso comando richiedendo inoltre al chatbot di eseguirlo per noi, dovremmo agire in questo modo:

Il sistema richiederà di confermare il comando da Shell, quindi per lanciarne l'esecuzione sarà sufficiente premere il tasto "y". A questo punto potremo verificare che la nostra operazione abbia avuto successo, magari lanciando al chatbot una richiesta come:

sgpt --shell --execute "Mostra cartelle e sottocartelle della directory corrente"

Conclusioni

Integrare il modello generativo GPT nel proprio Terminale Linux permette di creare rapidamente codice e comandi da Shell. Scopriremo presto altri ambiti in cui utilizzare questo strumento per incrementare la nostra produttività.

Ti consigliamo anche