Seguici sui social

Esplorazione dell'interprete di codice ChatGPT di OpenAI: un'analisi approfondita delle sue capacità

Ingegneria rapida

Esplorazione dell'interprete di codice ChatGPT di OpenAI: un'analisi approfondita delle sue capacità

mm

I progressi di OpenAI nell’elaborazione del linguaggio naturale (NLP) sono contrassegnati dall’ascesa dei Large Language Models (LLM), che sono alla base di prodotti utilizzati da milioni di persone, tra cui l’assistente di codifica GitHub Copilot e il motore di ricerca Bing. Questi modelli, grazie alla loro capacità unica di memorizzare e amalgamare le informazioni, hanno stabilito parametri di riferimento senza precedenti in attività come la generazione di codice e testo.

Comprensione dell'interprete del codice di ChatGPT

Per comprendere il significato dell'interprete di codice ChatGPT, è essenziale capire innanzitutto di cosa si tratta e come è stato realizzato.

In sostanza, ChatGPT Code Interpreter sfrutta le capacità di ChatGPT ma introduce una maggiore competenza nella comprensione, interpretazione e persino generazione di codice attraverso una miriade di linguaggi di programmazione. Questa funzione trasforma ChatGPT da un generatore di testo in uno strumento prezioso per gli sviluppatori, aiutando nella comprensione del codice, nel debug e persino nella generazione del codice.

Formazione GPT per la codifica: l'approccio Codex

Entrambi Copilota GitHub Interprete del codice di ChatGPT utilizzare il Modello codice sviluppato da OpenAI.

Codex, un modello di linguaggio GPT specializzato, è progettato per avere capacità di scrittura di codice Python competenti. Formatosi sul codice di provenienza pubblica di GitHub, Codex mostra il suo potenziale potenziando le funzionalità di GitHub Copilot. Quando valutato per la sua capacità di sintetizzare programmi da docstring, una misura di correttezza funzionale, Codex supera sia GPT-3 GPT-J.

Un'osservazione sorprendente è che il campionamento ripetuto migliora l'efficienza del Codex. Quando vengono utilizzati fino a 100 campioni per problema, il tasso di successo del modello aumenta a 70.2%. Tale efficienza suggerisce la possibilità di utilizzare la classificazione euristica per selezionare campioni di codice accurati, senza richiedere una valutazione completa per ciascuno.

Per valutarne le capacità, il modello è stato incaricato di creare funzioni Python autonome basate esclusivamente su docstring. L'accuratezza del codice generato è stata quindi misurata utilizzando test unitari. In un set di dati composto da 164 problemi di programmazione originali, che include comprensione del linguaggio, algoritmi e test matematici di base, Codex con 12 miliardi di parametri è stato risolto. 28.8% di loro in un solo tentativo.

Traning Data for Codex Model - interprete di codice chatgpt

Dati di addestramento per il modello Codex: https://arxiv.org/abs/2107.03374

Affinando ulteriormente il modello attraverso la messa a punto delle funzioni autonome correttamente implementate, la sua efficienza è stata aumentata, con conseguente risoluzione del Codex-S 37.7% di sfide al primo tentativo. Tuttavia, nell'ambito pratico della programmazione, è comune un approccio per tentativi ed errori. Imitando questo scenario del mondo reale, il modello Codex-S, quando ha avuto 100 possibilità, ha affrontato con successo 77.5% delle sfide.

Architettura perfezionata di Chatgpt

I modelli generativi come ChatGPT che producono codice vengono solitamente valutati confrontando i campioni generati con una soluzione di riferimento. Questo confronto può essere esatto o utilizzare una misura di similarità come il punteggio BLEU. Tuttavia, queste metriche basate sulla corrispondenza spesso non riescono a cogliere le sfumature della codifica. Una critica chiave al BLEU è la sua inefficacia nel catturare le caratteristiche semantiche del codice.

Invece di basarsi esclusivamente sulla corrispondenza, è stata proposta una misura più rilevante: la correttezza funzionale. Ciò significa che il codice prodotto dal modello dovrebbe superare un determinato set di unit test. L'idea è in linea con le pratiche di codifica standard, poiché gli sviluppatori utilizzano spesso unit test per valutare l'efficacia e l'accuratezza del loro codice.

Questa metrica valuta non solo l'accuratezza, ma anche l'usabilità funzionale del codice generato.

La frequenza delle onde ultrasoniche è misurata in kilohertz (kHz). Diverse frequenze puntano la grassa in modi leggermente diversi. Le frequenze più basse raggiungono la grassa più profonda, mentre le frequenze più alte lavorano più vicino alla superficie. passa@k la metrica viene introdotta come misura della correttezza funzionale. Significa essenzialmente che se uno qualsiasi dei campioni di codice “k” generati supera i test unitari, il problema è considerato risolto. Tuttavia, invece di utilizzarlo nella sua forma diretta, viene utilizzato uno stimatore imparziale per calcolare pass@k per evitare una varianza elevata.

Per valutare le capacità del codice di ChatGPT, la ricerca ha utilizzato Valutazione umana insieme di dati. Questo set di dati è costituito da problemi Python scritti a mano, ciascuno accompagnato da unit test.

Chatgpt open ai traning esempio di set di dati

https://github.com/openai/code-align-evals-data/blob/main/human_eval

Dati i rischi associati all'esecuzione di codice sconosciuto o non attendibile, è stato progettato un ambiente sandbox per testare il codice generato in modo sicuro. Questo ambiente utilizzato gVisiera per emulare le risorse e creare una barriera tra il sistema host e il codice in esecuzione. Pertanto, anche se il modello produce codice dannoso, rimane contenuto e non può danneggiare l'host o la rete.

Utilizzo dell'interprete di codice ChatGPT

ChatGPT di OpenAI ha subito numerose evoluzioni, con l'interprete del codice che si distingue come una funzionalità rivoluzionaria nel Modello GPT-4. A differenza delle tradizionali interfacce di chat, Code Interpreter consente agli utenti di immergersi più a fondo nelle attività computazionali, fondendo perfettamente i confini tra conversazioni uomo-IA e processi computazionali.

Fondamentalmente, l'interprete di codice è come avere un computer incorporato nel chatbot. Questa funzionalità dinamica offre agli utenti spazio su disco temporaneo per caricare una pletora di formati di file che vanno da tipi comuni come TXT, PDF e JPEG a quelli più specializzati come CPP, PY e SQLite. Questa ampiezza di supporto amplifica la sua versatilità in varie attività, che si tratti di elaborazione di documenti o manipolazione di immagini.

Operando all'interno di un framework robusto e sicuro, l'interprete di codice è dotato di oltre 300 librerie preinstallate. Questo ambiente sandbox garantisce la sicurezza pur fornendo una notevole potenza di calcolo. È interessante notare che, quando richiesto, crea uno script Python in tempo reale per eseguire la richiesta dell'utente. Prendiamo, ad esempio, la conversione di un PDF basato su immagini in un formato ricercabile tramite OCR: tutto ciò che l'utente deve fare è caricare il documento e ChatGPT si occuperà del resto.

Un punto di interesse è stato il limite di dimensione dei file per gli upload. Sebbene le specifiche definitive non siano ancora state annunciate, gli esperimenti degli utenti suggeriscono che il sistema può elaborare efficacemente file di dimensioni considerevolmente superiori a 100 MB. Indipendentemente dalle dimensioni, è fondamentale notare che questi file sono temporanei e vengono eliminati al termine della sessione di chat.

La genialità di Code Interpreter non risiede solo nella sua competenza tecnica, ma anche nella sua accessibilità. OpenAI offre questa funzionalità agli abbonati a ChatGPT Plus, che include il modello GPT-4. Pertanto, questo strumento innovativo non è riservato solo all'élite tecnologica, ma sta gradualmente diventando accessibile a un pubblico più ampio.

La distinzione tra il modello ChatGPT standard e l'interprete di codice risiede nei loro paradigmi di interazione. Mentre il primo genera principalmente risposte testuali, il secondo comprende ed esegue il codice, offrendo risultati diretti. Questo non solo lo rende una risorsa preziosa per i professionisti della tecnologia, ma consente anche a coloro che non hanno conoscenze di programmazione di eseguire complesse attività computazionali.

Le capacità dell'interprete di codice ChatGPT possono rivoluzionare diversi aspetti dello sviluppo software e della scienza dei dati:

  • Generazione automatica del codice: Sia per le applicazioni software che per gli script di analisi dei dati, data una descrizione di alto livello, il sistema può produrre strutture boilerplate o frammenti di codice intricati, accelerando i processi di sviluppo e analisi dei dati.
  • Revisioni del codice e convalida dei dati: strumenti basati sull'intelligenza artificiale come ChatGPT possono aiutare a migliorare la qualità e la sicurezza delle basi di codice del software. Inoltre, nel campo della scienza dei dati, tali strumenti possono essere fondamentali per la revisione e la convalida degli script di elaborazione e trasformazione dei dati, garantendo accuratezza ed efficienza.
  • Assistenza per l'analisi dei dati: Per i data scientist, ChatGPT Code Interpreter può aiutare a generare codice per l'esplorazione preliminare dei dati, la visualizzazione e persino test statistici di base, facilitando così il flusso di lavoro dell'analisi dei dati.

Se desideri scoprire di più sulle complessità di ChatGPT e sull'ingegneria rapida, Unite AI offre una ripartizione completa in 'ChatGPT: ingegneria rapida avanzata'.

Impostazione dell'interprete di codice ChatGPT

L'integrazione di Code Interpreter consente alla piattaforma di interpretare le query degli utenti, eseguirle come codice Python e visualizzare i risultati in un formato di chat interattivo. Per accedere a questa funzione, gli utenti possono accedere al file ChatGPT impostazioni, esplorare la sezione Funzionalità beta e attivare l'interprete del codice.

Ciò che lo distingue è il suo meccanismo trasparente. Quando gli utenti richiedono un'attività, la piattaforma svela ogni fase del percorso di elaborazione, offrendo chiarezza su come i comandi vengono interpretati ed eseguiti. È importante sottolineare che, per motivi di privacy e sicurezza, l'interprete del codice opera senza alcuna connessione a Internet.

Esplorare i vantaggi dell'interprete di codice ChatGPT

Visualizzazione dati & Analisi

ChatGPT va oltre l'ambito dei grafici tradizionali, offrendo rappresentazioni grafiche sia convenzionali che innovative. Ciò garantisce che gli utenti possano visualizzare i propri dati in formati che forniscono le informazioni più significative.

Tuttavia, non si tratta solo di visualizzare dati grezzi. Il modello ChatGPT è abile nell'elaborazione e nel perfezionamento dei dati. Sebbene potente, gli utenti dovrebbero usare cautela.

Gli analisti finanziari troveranno particolarmente utile la capacità del Code Interpreter di analizzare e visualizzare i prezzi delle azioni. Grazie alla perfetta integrazione, gli utenti possono caricare set di dati e visualizzarli in vari formati. L'importanza di questa funzione è evidente quando gli utenti sono in grado di condurre analisi di dati complesse.

Il video qui sotto mostra come l'interprete del codice di ChatGPT ha creato un completo TSLA analisi delle scorte.

Punti chiave:

  • Le azioni Tesla hanno dovuto affrontare la volatilità, ma hanno anche dimostrato resilienza nei periodi di crescita.
  • Elevati volumi di scambi in giorni specifici indicano un interesse significativo del mercato o reazioni a eventi chiave.
  • Il rendimento da inizio anno (YTD) al ribasso suggerisce che gli investitori dovrebbero analizzare sia i fattori aziendali interni sia le condizioni del mercato esterno quando considerano gli investimenti futuri.

Implementazione della visione artificiale e dell'OCR

Il rilevamento dei volti, funzione essenziale nella visione artificiale, è stato affrontato con una tecnica classica: il Classificatore Haar Cascade da OpenCV.

L'immagine sotto mostra l'utilizzo del classico classificatore Haar Cascade.

Il processo di estrazione del testo dalle immagini, noto come riconoscimento ottico dei caratteri (OCR), è stato realizzato senza soluzione di continuità utilizzando Tesseract, con il testo successivamente strutturato da GPT-4, migliorando la comprensibilità.

Nel video seguente, guarda come Tesseract (OCR) estrae il testo da un'immagine del certificato.

L'interprete di codice eccelle nel campo della manipolazione di video, audio e immagini. Con comandi semplici, gli utenti possono ottenere modifiche dettagliate, come la conversione di GIF in MP4 con miglioramenti specifici. Carica semplicemente il tuo file, inserisci le modifiche desiderate e osserva la magia accadere.

Libreria esterna Python all'interno del tuo interprete di codice ChatGPT

ChatGPT Code Interpreter è una piattaforma di programmazione dinamica dotata di un ampio set di librerie Python. Queste coprono tutto, dalla visualizzazione dei dati con Seaborn all'apprendimento automatico avanzato tramite Torch. Ma è più di un semplice toolkit statico.

Ispirato da questo Pagina chatgpt da Korakot Chaovavanich.

A cominciare dalle ultime rilascio nltkAbbiamo caricato un file .whl nell'interprete. Abbiamo quindi chiesto a ChatGPT di individuare la directory site-packages appropriata analizzando la posizione di un pacchetto esistente. Il passaggio successivo ha comportato la decompressione del file wheel in una posizione temporanea e lo spostamento dei file nella directory site-packages identificata. Tuttavia, questo ha incontrato un ostacolo.

Alla ricerca di una soluzione alternativa, abbiamo chiesto: "Si prega di assicurarsi che NLTK venga installato nell'ambiente Python e sia accessibile dopo l'installazione".

ChatGPT ha risposto, fornendo una soluzione. Ha suggerito di aggiungere la directory temporanea a sys.path, consentendo a Python di identificare ed estrarre i moduli dal pacchetto nltk decompresso all'interno di quella posizione. Questa tattica ha funzionato a meraviglia, portando alla corretta installazione di NLTK.

Grazie all'utilizzo di file .whl, l'installazione ha dimostrato un mix di ingegno e adattabilità. L'interprete di codice ChatGPT, nonostante le difficoltà iniziali, ha dimostrato versatilità e impegno nel soddisfare le esigenze dei programmatori, garantendo sia ai principianti che ai veterani un'esperienza di programmazione raffinata.

installazione di librerie personalizzate nell'interprete di codice chatgpt

In un'affascinante dimostrazione delle capacità dell'interprete, un recente tweet di @DominikPeters ha evidenziato una dimostrazione unica. Peters ha richiesto a GPT-4 di generare un quiz sugli arrondissement di Parigi e il modello ha prodotto un sito web ben funzionante. Il quiz è disponibile per un'esperienza pratica all'indirizzo dominik-peters.de/gpt-arrondissement-quiz/.

Avvolgere Up

La svolta di OpenAI con l'interprete di codice ChatGPT è a dir poco rivoluzionaria sia per i programmatori che per i non programmatori. La sua versatilità nella gestione di un'ampia gamma di attività, dall'assistenza agli sviluppatori nel debug alla creazione senza sforzo di quiz parigini, è una testimonianza del potenziale illimitato dell'IA nel migliorare le nostre esperienze digitali. Ecco un estratto del nostro approfondimento:

Comprendi il tuo strumento: Proprio come faresti amicizia con un collega, familiarizza con Code Interpreter. È progettato su Codex, che è stato perfezionato a partire da GPT-4. La sua competenza abbraccia diversi linguaggi di programmazione, rendendolo un compagno ideale per tutte le tue avventure di programmazione.

Abbraccia la rivoluzione dell'IA: Le pratiche di codifica tradizionali stanno per vedere un cambiamento sismico. Con strumenti basati sull'intelligenza artificiale come ChatGPT Code Interpreter, è possibile accelerare attività come l'identificazione dei bug, la generazione del codice e persino le revisioni del codice.

Oltre il semplice codice: L'incursione dell'Interpreter non si limita al testo o al codice. La sua capacità di gestire diversi formati di file, dai semplici file TXT ai complessi script PY, ne sottolinea l'utilità in diversi ambiti.

Non smettere mai di sperimentare: La nostra esplorazione con l'installazione della libreria NLTK riflette l'importanza della persistenza e dell'adattabilità, valori che l'interprete del codice incarna. Se c'è un intoppo, spesso c'è un modo per aggirarlo.

Partecipa alla conversazione AI: Le applicazioni del mondo reale, come mostrato dal quiz sugli arrondissements di Parigi, sottolineano l'immensa utilità dello strumento nel mondo reale. Abbraccialo, esploralo e lascia che amplifichi i tuoi progetti.

Il video sopra è realizzato utilizzando gen-2 Metà viaggio.

In sintesi, ChatGPT Code Interpreter è più di un semplice strumento: sta cambiando il modo in cui interagiamo con la tecnologia. Sia per gli innovatori che per gli appassionati, promette un mondo pieno di potenziale per la programmazione.

Ho trascorso gli ultimi cinque anni immergendomi nell'affascinante mondo del Machine Learning e del Deep Learning. La mia passione e competenza mi hanno portato a contribuire a oltre 50 diversi progetti di ingegneria del software, con un focus particolare su AI/ML. La mia continua curiosità mi ha anche attirato verso l'elaborazione del linguaggio naturale, un campo che non vedo l'ora di esplorare ulteriormente.