L’Interprete di Codice di ChatGPT: Rivoluzione nel Mondo della Programmazione

Articolo riservato agli utenti registrati

Autore Brian Tristam Williams

Le capacità di ChatGPT hanno raggiunto nuove vette con il rilascio del plugin ChatGPT Code interpreter. Code Interpreter è ora disponibile per tutti gli utenti ChatGPT Plus. Ma, cos’è e cosa fa? Approfondiamo questo plugin unico e utile di ChatGPT.

ChatGPT sta rivoluzionando la nostra interazione con l’intelligenza artificiale. Con l’aggiunta recente dell’Interprete di Codice, si è trasformato in qualcosa di più di un semplice chatbot: è ora un potente assistente per sviluppatori, scienziati dei dati e appassionati di programmazione.

La missione di OpenAI di ampliare le capacità dell’IA ha portato a sviluppi innovativi, come i vari modelli di ChatGPT, significativi progressi nel trattamento del linguaggio naturale. L’aggiornamento recente, GPT-4, si basa su questa solida base, ma è l’introduzione del plugin Code Interpreter che lo rende davvero unico.

Interprete di Codice

Chiariamo il significato di “interprete” di questa ultima versione. Anche la versione gratuita, GPT-3.5, è in grado di interpretare il codice (cioè capire cosa fa il codice) e fornire feedback significativi in linguaggio naturale. Questo non è ciò a cui si riferisce la novità di OpenAI. Questo nuovo interprete esegue effettivamente il nostro codice Python come un linguaggio interpretato, nel proprio ambiente sandbox e firewall, insieme al proprio disco virtuale. Proprio come quando si usava la “modalità immediata” nel vecchio e tradizionale BASIC, la sessione Python rimane nella sessione di chat.

L’Interprete di Codice è una vera rivoluzione. Va oltre l’esecuzione del codice Python: interpreta, debugga e anche converte file tra formati diversi. Gli utenti possono inserire problemi matematici e l’interprete li risolverà. Può anche prendere dati in vari formati di file, analizzarli e visualizzarli, il che significa che non è limitato solo all’esecuzione diretta del codice. Può generare visualizzazioni dei dati a una velocità che ha lasciato stupiti gli analisti di dati di lunga data.

Casi d’Uso

Le applicazioni dell’Interprete di Codice sono molteplici e molte devono ancora essere scoperte. Ecco alcune di quelle che abbiamo già testato:

  • Testing del codice: gli utenti possono testare frammenti di codice in tempo reale, assicurandosi che funzionino come previsto.
  • Collaborazione: i team possono collaborare direttamente sui progetti di programmazione all’interno della chat.
  • Strumento di apprendimento: è una risorsa eccellente per gli studenti che imparano Python, offrendo sessioni di programmazione interattive. È come avere un insegnante privato dall’altra parte della chat.
  • Sperimentazione: gli sviluppatori possono provare approcci di programmazione diversi senza uscire dalla chat.
  • Risoluzione di problemi matematici: che sia algebra delle scuole superiori o calcolo differenziale, i giusti input ti porteranno alla soluzione e ti guideranno su come arrivarci.
  • Conversione di formati: prendi dati in vari formati di file, analizzali, puliscili e visualizzali.

Per Iniziare

Anche se c’è una versione gratuita di ChatGPT, è necessario essere abbonati a Plus per utilizzare plugin come l’Interprete di Codice. Al momento della scrittura, è in fase Beta, quindi sarà necessario abilitare la funzione. Su un browser desktop, vai sul tuo profilo nell’angolo in basso a sinistra, seguito dall’icona delle impostazioni (Figura 1). Quindi, nella finestra di dialogo successiva, clicca su “Funzioni Beta” e assicurati che entrambi i toggle dei Plugin e dell’Interprete di Codice siano attivi (Figura 2).

Figura 1: Come accedere alle Impostazioni in ChatGPT.

Figura 2: Assicurati che i Plugin e l’Interprete di Codice siano abilitati.

Chiudi la finestra di dialogo e inizia una nuova chat. In cima alla finestra di chat, ti verrà data l’opzione di scegliere tra GPT-3.5 e GPT-4. Quest’ultimo ha un menu a discesa che ti permetterà di selezionare tra la modalità Predefinita, l’Interprete di Codice e altri plugin. Clicca sull’Interprete di Codice (Figura 3).


Figura 3: Accedere all’Interprete di Codice in GPT-4.h3

Utilizzare l’interprete di ChatGPT

Oltre a essere un ambiente di esecuzione Python, l’Interprete di Codice è in grado di analizzare una vasta varietà di file, dai PDF, ai fogli Excel, ai valori separati da virgole (CSV).

Con così tanti casi d’uso è difficile scegliere, ma un esperimento iniziale che ho fatto è stato analizzare un libro completo di Elektor che ho editato l’anno scorso. Questi sono i passaggi di base che ho seguito, che puoi usare per iniziare a trovare informazioni dai tuoi dati:

  • Carica il suo PDF cliccando sul segno “+” a sinistra del campo di input (Figura 4), navigando fino al file e selezionandolo per il caricamento. Il libro che ho usato, “Sviluppa le tue Applicazioni Bluetooth Low Energy per Raspberry Pi, ESP32, e nRF52 con Python, Arduino, e Zephyr”, di Koen Vervloesem, è un file da 41 megabyte composto da 258 pagine, quindi mi aspettavo di incontrare dei problemi da parte di ChatGPT.

Figura 4: Fai clic sul segno “più” a sinistra del campo di input per caricare il tuo documento.

Innanzitutto, ho caricato il file per intero e ho chiesto a ChatGPT di darmi informazioni su di esso (Figura 5). Il resto della chat tra me (BTW) e l’Interprete di Codice (GPT) è troppo verboso per essere riportato qui, ma ecco un riassunto e alcune conclusioni:


Figura 5: Il file è stato caricato. Iniziamo l’analisi, anche se dobbiamo ricordare al computer delle sue capacità.

  • BTW: Dimmi di questo libro.
  • GPT: Ha 258 pagine e dai metadati di base mi dice che tratta di BLE. Devo guardare dentro e dirti di più?
  • BTW: Sì, per favore.
  • GPT: Errore! Il modo in cui sto analizzando questo in Python non funziona. Leggi tu stesso l’indice del libro.

Quando si arriva a questo punto, si potrebbe essere tentati di rinunciare, ma spesso è possibile persuadere il modello a usare un workaround.

  • BTW: Puoi usare un altro metodo per analizzare il PDF?
  • GPT: Certo, proviamo la libreria PDFMiner invece di PyPDF2. I primi 2000 caratteri mi dicono di cosa tratta il libro.
  • BTW: Leggi l’intero libro, non solo i primi 2000 caratteri.
  • GPT: Va bene.

Dopo averlo convinto ad analizzare effettivamente l’intero documento, c’erano comunque alcuni problemi che l’ambiente doveva affrontare, a causa delle dimensioni e della complessità. L’ambiente di esecuzione del codice è andato in crash e ha dovuto essere ripristinato (da ChatGPT automaticamente), le librerie non funzionavano (ma non per colpa mia) e l’intero libro ha dovuto essere caricato nuovamente. Alla fine, sono riuscito a estrapolare alcune informazioni:

  • I tre accessori/microcontrollori più menzionati sono stati l’nRF52, l’ESP32 e il Raspberry Pi, con rispettivamente 149, 136 e 30 menzioni.
  • Argomenti utili da comprendere prima di iniziare questo libro: una comprensione di base dei linguaggi C e Python; un po’ di esperienza nell’interagire con i microcontrollori; comprensione generale dei protocolli di comunicazione wireless; uso della riga di comando Linux; concetti di base di networking.
  • Il libro contiene 121 URL e l’Interprete di Codice è stato in grado di fornirmi l’intero elenco. Questo è un vantaggio sia per l’editore che per l’autore, che devono verificare se i link funzionano, sono scaduti o hanno errori di battitura. Quindi, ho chiesto all’Interprete di Codice di scrivere uno script Python per controllare tutti questi link e restituire i codici di stato HTTP.

Ho così scoperto che alcuni siti web, compresi quelli importanti, sono cambiati (questo libro ha solo un anno). Inoltre, alcuni dei link nell’ebook sono interpretati erroneamente da Adobe PDF a causa della formattazione (interruzioni di linea, ecc.), il che non influisce sull’edizione stampata su cui abbiamo lavorato. Questo porta a idee utili e fattibili:

  • Per ogni pubblicazione di libro o rivista, uno script automatizzato potrebbe eseguire quotidianamente la convalida di tutti i link, controllando gli errori “404 non trovato” o i nuovi reindirizzamenti sospetti (come potrebbe accadere se un dominio scade e viene acquisito da un terzo) e avvisando l’editore quando necessario.
  • Mentre in passato non era mai stato facile determinare quanti link fossero interrotti una volta che un articolo era stato pubblicato, uno script automatizzato potrebbe passare i dati all’Interprete in un file CSV per un’analisi automatizzata e potremmo avere un’idea di quanto spesso i link diventano non validi rispetto alla loro età.
  • Se i link cambiano così spesso, si potrebbe considerare l’uso di short link, che può essere aggiornato ogni volta che il produttore X o il pubblicatore software Y decide di spostare la propria pagina altrove, o un sito web viene chiuso e dobbiamo fare affidamento su un archivio di terze parti come archive.org.

Il limite è la fantasia

L’esplorazione di base sopra tocca appena la superficie di ciò che è possibile e del suo potenziale. Nei demo mostrati nei post del blog di OpenAI, abbiamo visto il plugin eseguire un’ampia gamma di compiti in modo eccellente, interpretando grandi set di dati, identificando tendenze, confrontando variabili e creando grafici. Il plugin può persino essere utilizzato per creare animazioni GIF da un breve prompt.

Ho fatto molte prove su molti argomenti, incluso una conversazione sulla matematica discreta, l’Amida-kuji, i cicli Hamiltoniani, le Torri di Hanoi e il codice Grey con la mia affidabile e paziente guida, ed è persino riuscita a generare codice Python per visualizzare le idee che volevo testare.

Ora che è passato del tempo, abbiamo visto emergere ancora più utilizzi. E tu l’hai provato? Se sì, facci sapere nei commenti come ti ha aiutato a semplificare la tua vita.

1 Commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu