Prompt engineering
Explorarea Interpretorului de Cod ChatGPT de la OpenAI: O Imersiune Adâncă în Capabilitățile Sale

Progresul OpenAI în domeniul Procesării Limbajului Natural (NLP) este marcat de apariția Modelelor Lingvistice Mari (LLM), care stau la baza produselor utilizate de milioane de oameni, inclusiv asistentul de codare GitHub Copilot și motorul de căutare Bing. Aceste modele, prin capacitatea lor unică de a memora și a combina informații, au stabilit standarde fără precedent în sarcini precum generarea de cod și text.
Înțelegerea Interpretorului de Cod ChatGPT
Pentru a înțelege importanța Interpretorului de Cod ChatGPT, este esențial să înțelegem mai întâi ce este și cum a fost construit.
În esență, Interpretorul de Cod ChatGPT folosește capacitățile ChatGPT, dar introduce o îmbunătățire a capacității de a înțelege, interpreta și chiar genera cod în multiple limbi de programare. Această funcție transformă ChatGPT dintr-un generator de text într-un instrument de neprețuit pentru dezvoltatori, ajutând la înțelegerea codului, la depistarea erorilor și chiar la generarea de cod.
Antrenarea GPT pentru Codare: Abordarea Codex
Atât GitHub Copilot, cât și Interpretorul de Cod ChatGPT utilizează modelul Codex, dezvoltat de OpenAI.
Codex, un model de limbaj GPT specializat, este proiectat pentru a avea capacități de scriere a codului Python. Antrenat pe cod sursă publică de pe GitHub, Codex demonstrează potențialul său prin alimentarea funcțiilor din GitHub Copilot. Atunci când este evaluat pentru capacitatea sa de a sintetiza programe din docstring-uri, o măsură a corectitudinii funcționale, Codex depășește atât GPT-3, cât și GPT-J.
O observație remarcabilă este că eșantionarea repetată îmbunătățește capacitățile Codex. Când se utilizează până la 100 de eșantioane pe problemă, rata de succes a modelului crește la 70,2%. O astfel de eficiență sugerează posibilitatea de a utiliza o ierarhizare euristică pentru a selecta mostre de cod corecte, fără a necesita o evaluare completă pentru fiecare.
Pentru a evalua capacitățile sale, modelul a fost însărcinat cu crearea de funcții Python independente pe baza exclusivă a docstring-urilor. Apoi, acuratețea codului generat a fost evaluată utilizând teste unitare. Într-un set de date care include 164 de probleme de programare originale, incluzând înțelegerea limbajului, algoritmi și teste de matematică de bază, Codex cu 12B de parametri a rezolvat 28,8% dintre ele la prima încercare.
Prin îmbunătățirea modelului prin ajustarea fină a funcțiilor implementate corect, eficiența sa a fost îmbunătățită, rezultând ca Codex-S să rezolve 37,7% dintre provocări la prima încercare. Cu toate acestea, în lumea reală a programării, o abordare de încercare și eroare este comună. Mimând acest scenariu real, modelul Codex-S, atunci când i s-au oferit 100 de șanse, a rezolvat cu succes 77,5% dintre provocări.
Modelele generative precum ChatGPT, care produc cod, sunt de obicei evaluate prin compararea mostrelor generate cu o soluție de referință. Această comparație poate fi fie exactă, fie poate utiliza o măsură de similaritate, cum ar fi scorul BLEU. Cu toate acestea, aceste metrice bazate pe potrivire adesea nu reușesc să înțeleagă nuanțele codării. O critică cheie a BLEU este ineficacitatea sa în capturarea caracteristicilor semantice ale codului.
În loc de a se baza exclusiv pe potrivire, o măsură mai relevantă a fost propusă: corectitudinea funcțională. Acest lucru înseamnă că codul produs de model ar trebui să treacă un set dat de teste unitare. Ideea este aliniată cu practicile standard de codare, deoarece dezvoltatorii adesea folosesc teste unitare pentru a evalua eficacitatea și acuratețea codului lor.
Această metrică evaluează nu numai acuratețea, ci și utilitatea funcțională a codului generat.
Metrica pass@k este introdusă ca o măsură a corectitudinii funcționale. Ea înseamnă, în esență, că dacă oricare dintre cele “k” mostre de cod generate trece testele unitare, problema este considerată rezolvată. Cu toate acestea, în loc de a o utiliza în forma sa directă, un estimator nebiasat este utilizat pentru a calcula pass@k, pentru a evita varianța ridicată.
Pentru a evalua capacitățile de codare ale ChatGPT, cercetarea a utilizat setul de date HumanEval. Acest set de date constă în probleme de programare Python scrise de mână, fiecare însoțită de teste unitare.
Având în vedere riscurile asociate cu rularea de cod necunoscut sau neîncredere, a fost proiectat un mediu de izolare pentru a testa codul generat în siguranță. Acest mediu a utilizat gVisor pentru a emula resurse și a crea o barieră între sistemul gazdă și codul în execuție. Astfel, chiar dacă modelul produce cod malign, acesta rămâne conținut și nu poate dăuna sistemului gazdă sau rețelei.
Folosirea Interpretorului de Cod ChatGPT
ChatGPT de la OpenAI a suferit numeroase evoluții, iar Interpretorul de Cod se remarcă ca o funcție revoluționară în modelul GPT-4. În contrast cu interfețele de chat tradiționale, Interpretorul de Cod permite utilizatorilor să se aventureze mai adânc în sarcini computaționale, estompând liniile dintre conversațiile om-AI și procesele computaționale.
La baza sa, Interpretorul de Cod este similar cu un computer încorporat în chatbot. Această funcție dinamică oferă utilizatorilor spațiu pe disc temporar pentru a încărca o varietate de formate de fișiere, de la tipurile comune precum TXT, PDF și JPEG, la cele mai specializate, cum ar fi CPP, PY și SQLite. Acest suport amplifică versatilitatea sa în diverse sarcini, fie că este vorba de prelucrarea documentelor sau de manipularea imaginilor.
Funcționând într-un cadru robust și securizat, Interpretorul de Cod dispune de peste 300 de biblioteci preinstalate. Acest mediu izolat asigură securitatea, oferind în același timp o putere computațională substanțială. În mod interesant, atunci când este solicitat, el creează un script Python în timp real pentru a executa cererea utilizatorului. De exemplu, conversia unui PDF bazat pe imagine într-un format căutabil utilizând OCR; tot ce trebuie să facă utilizatorul este să încarce documentul, iar ChatGPT se ocupă de rest.
Un punct de interes a fost limita de dimensiune a fișierelor pentru încărcare. Deși specificațiile definitive urmează să fie anunțate, experimentele utilizatorilor sugerează că sistemul poate procesa eficient fișiere considerabil mai mari de 100MB. Indiferent de dimensiune, este important de remarcat că aceste fișiere sunt tranzitorii, fiind eliminate după încheierea sesiunii de chat.
Genialitatea Interpretorului de Cod nu constă doar în abilitățile sale tehnice, ci și în accesibilitate. OpenAI oferă această funcție abonaților ChatGPT Plus, care vine cu modelul GPT-4. Astfel, acest instrument de transformare nu este doar pentru elita tehnologică, ci devine treptat accesibil unui public mai larg.
Diferența dintre modelul standard ChatGPT și Interpretorul de Cod constă în paradigmele lor de interacțiune. În timp ce primul generează în principal răspunsuri textuale, cel din urmă înțelege și execută cod, oferind rezultate directe. Acest lucru nu numai că îl face un activ de valoare pentru profesioniștii din domeniul tehnologiei, ci și împuternicește pe cei fără cunoștințe de codare să efectueze sarcini computaționale complexe.
Capacitățile Interpretorului de Cod ChatGPT pot revoluționa mai multe aspecte ale Dezvoltării de Software și Științei Datelor:
- Generarea Automată de Cod: Atât pentru aplicații software, cât și pentru scripturi de analize de date, dată o descriere de nivel înalt, sistemul poate produce structuri de cod de bază sau fragmente de cod complexe, accelerând procesele de dezvoltare și analiză a datelor.
- Revizuirea și Validarea Codului: Uneltele bazate pe IA, cum ar fi ChatGPT, pot ajuta la îmbunătățirea calității și securității bazelor de cod software. În plus, în domeniul științei datelor, astfel de unelte pot fi instrumentale în revizuirea și validarea scripturilor de prelucrare și transformare a datelor, asigurând acuratețea și eficiența.
- Asistență pentru Analiza Datelor: Pentru oamenii de știință din domeniul datelor, Interpretorul de Cod ChatGPT poate ajuta la generarea de cod pentru explorarea preliminară a datelor, vizualizarea și chiar testele statistice de bază, facilitând fluxul de lucru al analizei datelor.
Dacă sunteți interesați să aflați mai multe despre nuanțurile ChatGPT și ingineria prompturilor, Unite AI oferă o analiză cuprinzătoare în ‘ChatGPT: Ingineria Avansată a Prompturilor‘.
Configurarea Interpretorului de Cod ChatGPT
Integrarea Interpretorului de Cod permite platformei să interpreteze cererile utilizatorilor, să le execute ca cod Python și să afișeze rezultatele într-un format de chat interactiv. Pentru a accesa această funcție, utilizatorii pot naviga la setările ChatGPT, explora secțiunea Funcții Beta și activa Interpretorul de Cod.
Ceea ce îl diferențiază este mecanismul său transparent. Pe măsură ce utilizatorii solicită o sarcină, platforma dezvăluie fiecare etapă a călătoriei de prelucrare, oferind claritate cu privire la modul în care comenzile sunt interpretate și executate. Important, din motive de confidențialitate și securitate, Interpretorul de Cod funcționează fără nicio conectare la internet.
Explorarea Beneficilor Interpretorului de Cod ChatGPT
Vizualizarea și Analiza Datelor
ChatGPT merge dincolo de scopul graficelor tradiționale, oferind atât reprezentări grafice convenționale, cât și inovatoare. Acest lucru asigură că utilizatorii pot vizualiza datele lor în formate care oferă cele mai semnificative informații.
Însă nu este vorba doar despre vizualizarea datelor brute. Modelul ChatGPT este priceput în prelucrarea și rafinarea datelor. Deși puternic, utilizatorii ar trebui să exercite precauție.
Analiștii financiari vor găsi capacitatea Interpretorului de Cod de a analiza și vizualiza ratele stocurilor deosebit de utilă. Prin integrarea fără efort, utilizatorii pot încărca seturi de date și le pot vizualiza în diverse formate. Această funcție este evidentă atunci când indivizii pot efectua analize complexe de date.
Video-ul de mai jos demonstrează cum interpretorul de cod ChatGPT a creat o analiză cuprinzătoare a stocului TSLA.
Puncte Cheie:
- Stocul Tesla a înregistrat volatilitate, dar a arătat și perioade de creștere.
- Volumul mare de tranzacționare în anumite zile indică un interes semnificativ al pieței sau reacții la evenimente cheie.
- Revenirea anuală în scădere (YTD) sugerează că investitorii ar trebui să analizeze atât factorii interni ai companiei, cât și condițiile de piață externe atunci când iau în considerare investiții viitoare.
Implementarea Viziunii Computaționale și a Recunoașterii Optice a Caracterelor (OCR)
Detectarea feței, o funcție esențială în viziunea computațională, a fost abordată cu o tehnică clasică: clasificatorul Haar Cascade de la OpenCV.
Imaginea de mai jos prezintă utilizarea clasificatorului Haar Cascade clasic.
Procesul de extragere a textului din imagini, cunoscut sub numele de recunoaștere optică a caracterelor (OCR), a fost realizat cu ușurință utilizând Tesseract, textul fiind ulterior structurat de GPT-4, îmbunătățindu-i inteligibilitatea.
În următorul video, vedeți cum Tesseract (OCR) extrage text dintr-o imagine a unui certificat.
Interpretorul de Cod excellează în domeniul manipulării video, audio și imagini. Cu comenzi simple, utilizatorii pot obține editări detaliate, cum ar fi conversia GIF-urilor în MP4 cu îmbunătățiri specifice. Pur și simplu încărcați fișierul dvs., introduceți modificările dorite și urmăriți magia care se întâmplă.
Biblioteca Externă Python în Interpretorul de Cod ChatGPT
Interpretorul de Cod ChatGPT este o platformă de programare dinamică echipată cu o gamă largă de biblioteci Python. Acestea acoperă totul, de la vizualizarea datelor cu Seaborn la învățarea automată avansată prin Torch. Dar nu este doar un instrument static.
Inspirat de această pagină ChatGPT de la Korakot Chaovavanich.
Începând cu cea mai recentă lansare nltk, am încărcat un fișier .whl în Interpretor. Apoi, am instruit ChatGPT să localizeze directorul potrivit de site-packages, analizând locația unui pachet existent. Următoarea etapă a implicat dezarhivarea fișierului wheel într-un loc temporar și mutarea fișierelor în directorul identificat de site-packages. Cu toate acestea, acest lucru a întâmpinat un obstacol.
În căutarea unei soluții, am solicitat: “Vă rog să asigurați că NLTK este instalat în mediul Python și este accesibil după instalare.”
ChatGPT a răspuns, oferind o soluție. A sugerat adăugarea directorului temporar la sys.path, permițând Python să identifice și să extragă modulele din pachetul nltk dezarhivat în acea locație. Această tactică a funcționat minunat, ducând la instalarea cu succes a NLTK.
Prin utilizarea fișierelor .whl, instalarea a demonstrat o combinație de ingeniozitate și adaptabilitate. Interpretorul de Cod ChatGPT, în ciuda provocărilor inițiale, și-a arătat versatilitatea și angajamentul de a satisface nevoile programatorilor, asigurând atât pentru începători, cât și pentru veterani, o experiență de programare rafinată.
Într-o demonstrație fascinantă a capacităților interpretorului, un tweet recent de la @DominikPeters a evidențiat o prezentare unică. Peters a solicitat GPT-4 să genereze un test despre arondismentele din Paris, iar modelul a livrat un site funcțional. Testul funcțional este disponibil pentru experiență directă la dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Concluzii
Prin intermediul Interpretorului de Cod ChatGPT, OpenAI marchează o avanpremieră în lumea codării pentru dezvoltatori și non-dezvoltatori deopotrivă. Versatilitatea sa în gestionarea unei game largi de sarcini – de la a ajuta dezvoltatorii în depistarea erorilor până la generarea de chestionare despre Paris – este un testament al potențialului nelimitat al IA în îmbunătățirea experiențelor noastre digitale. Iată esența noastră a acestei imersiuni:
Înțelegeți-vă Instrumentul: La fel cum ați face cunoștință cu un coleg, familiarizați-vă cu Interpretorul de Cod. Acesta este construit pe baza Codex, care la rândul său este ajustat fin din GPT-4. Capacitățile sale se extind pe multiple limbi de programare, făcându-l un companion ideal pentru toate aventurile dvs. de codare.
Îmbrățișați Revoluția IA: Practicile tradiționale de codare sunt pe punctul de a suferi o schimbare seismică. Cu unelte bazate pe IA, cum ar fi Interpretorul de Cod ChatGPT, sarcini precum identificarea erorilor, generarea de cod și chiar revizuirea codului pot fi accelerate.
Dincolo de Cod: Incursiunea Interpretorului nu este limitată la text sau cod. Capacitatea sa de a lucra cu multiple formate de fișiere, de la fișiere TXT simple la scripturi PY complexe, subliniază utilitatea sa în diverse domenii.
Nu Încetați Niciodată să Experimentați: Experiența noastră cu instalarea bibliotecii NLTK reflectă importanța persistenței și adaptabilității, valori pe care Interpretorul de Cod le încorporează. Dacă există un obstacol, există adesea o cale de ocolire.
Alăturați-vă Conversației IA: Aplicațiile din lumea reală, cum ar fi testul despre arondismentele pariziene, subliniază utilitatea imensă a instrumentului. Îmbrățișați-l, explorați-l și lăsați-l să amplifice proiectele dvs.
Video-ul de mai sus a fost realizat cu Gen-2 și Midjourney.
În concluzie, Interpretorul de Cod ChatGPT este mai mult decât un instrument; el schimbă modul în care interacționăm cu tehnologia. Atât pentru inovatori, cât și pentru entuziaști, el promite o lume plină de potențial de codare.






















