Prompt engineering
Udforskning af OpenAIs ChatGPT Code Interpreter: En dybdeundersøgelse af dets muligheder

OpenAIs fremgang i Natural Language Processing (NLP) er markeret af opkomsten af Large Language Models (LLMs), der danner grundlag for produkter, der anvendes af millioner, herunder kodningsassistenten GitHub Copilot og søgemaskinen Bing. Disse modeller har, gennem deres unikke evne til at huske og sammenføje information, sat usammenlignelige standarder for opgaver som kode- og tekstgenerering.
Forståelse af ChatGPT’s Code Interpreter
For at forstå betydningen af ChatGPT Code Interpreter, er det essentielt at først forstå, hvad det er og hvordan det er bygget.
I essensen udnytter ChatGPT Code Interpreter ChatGPT’s muligheder, men introducerer en forbedret kompetence i at forstå, fortolke og endda generere kode på tværs af en mangfoldighed af programmeringssprog. Denne funktion transformerer ChatGPT fra en tekstgenerator til et uvurderligt værktøj for udviklere, der hjælper med kodeforståelse, fejlfinding og endda kodegenerering.
Træning af GPT til kodning: Codex-tilgangen
Både GitHub Copilot og ChatGPT’s Code Interpreter anvender Codex-modellen udviklet af OpenAI.
Codex, en specialiseret GPT-sprogmodel, er designet til at have kompetent Python-kode-skriver-egenskaber. Trænet på offentligt kildekode fra GitHub, viser Codex sin potentiale ved at aktivere funktioner i GitHub Copilot. Når det vurderes for sin evne til at syntetisere programmer fra docstrings, en måling af funktionel korrekthed, overgår Codex både GPT-3 og GPT-J.
En slående observation er, at gentagen sampling forbedrer Codex’ kompetence. Når op til 100 eksempler per problem anvendes, øges modellens succesrate til 70,2%. Sådan effektivitet antyder muligheden for at bruge heuristisk rangordning til at vælge nøjagtige kodeeksempler, uden at kræve fuld vurdering for hvert.
For at vurderere dets muligheder, blev modellen sat til at oprette selvstændige Python-funktioner baseret udelukkende på docstrings. Den genererede kodes nøjagtighed blev derefter vurderet ved hjælp af enhedstests. I en dataset, der består af 164 originale programmeringsproblemer, herunder sprogforståelse, algoritmer og grundlæggende matematiktests, løste Codex med 12B parametre 28,8% af dem på en enkelt forsøg.
Ved at finjustere modellen yderligere gennem finjustering af korrekt implementerede selvstændige funktioner, blev dets effektivitet forbedret, hvilket resulterede i, at Codex-S løste 37,7% af udfordringerne på første forsøg. Men i den praktiske verden af programmering er en prøve-og-fejl-tilgang almindelig. I en simulering af denne virkelige scenarie, løste Codex-S-modellen, når den fik 100 chancer, 77,5% af udfordringerne.
Generative modeller som ChatGPT, der producerer kode, vurderes normalt ved at sammenligne genererede eksempler med en reference-løsning. Denne sammenligning kan enten være eksakt eller anvende en ligningsmåling som BLEU-scoren. Men disse sammenligningsbaserede målinger kan ofte ikke fange nuancerne i kodning. En kritik af BLEU er dets ineffektivitet i at fange kodes semantiske egenskaber.
I stedet for at anvende sammenligning alene, er en mere relevant måling blevet foreslået: funktionel korrekthed. Dette betyder, at koden produceret af modellen skal bestå en given samling af enhedstests. Ideen er i linje med standard kodningspraksis, da udviklere ofte anvender enhedstests til at vurderere effektiviteten og nøjagtigheden af deres kode.
Dette mål vurderer ikke kun nøjagtigheden, men også den funktionelle brugbarhed af den genererede kode.
Pass@k-målet introduceres som et mål for funktionel korrekthed. Det betyder essentielt, at hvis blot ét af de “k” genererede kodeeksempler består enhedstestene, anses problemet for løst. Men i stedet for at anvende dette i sin direkte form, anvendes en ubiased estimator til at beregne pass@k for at undgå høj varians.
For at vurderere ChatGPT’s kodekapaciteter, anvendtes HumanEval-datasettet. Dette dataset består af håndskrevne Python-problemer, hver ledsaget af enhedstests.
Givet de risici, der er forbundet med at køre ukendt eller upålidelig kode, blev en sandbox-miljø designet til at teste den genererede kode sikkert. Denne miljø anvendte gVisor til at emulere ressourcer og oprette en barriere mellem værtsystemet og den kørende kode. Derfor, selv hvis modellen producerer ondsindet kode, forbliver den indesluttet og kan ikke skade værts- eller netværksystemet.
Brug af ChatGPT Code Interpreter
OpenAIs ChatGPT har gennemgået talrige evolutioner, med Code Interpreter som en revolutionerende funktion i GPT-4-modellen. I modsætning til traditionelle chat-grænseflader, tillader Code Interpreter brugerne at dykke dybere ind i beregningsopgaver, samtidig med at det sunde grænserne mellem menneske-AI-samtaler og beregningsprocesser.
Udforskning af fordelene ved ChatGPT Code Interpreter
Data Visualisering & Analyse
ChatGPT går ud over omfanget af traditionelle diagrammer, ved at tilbyde både konventionelle og innovative grafiske repræsentationer. Dette sikrer, at brugerne kan se deres data i formater, der giver de mest meningsfulde indsigt.
Men det er ikke kun om at visualisere rå data. ChatGPT-modellen er dygtig til at behandle og raffinere data. Selvom det er kraftfuldt, bør brugerne udøve forsigtighed.
Finansanalytikere vil finde Code Interpreters evne til at analysere og visualisere aktiekurser særligt nyttigt. Gennem samarbejdende integration kan brugerne uploade data og visualisere dem i forskellige formater. Denne funktions betydning er tydelig, når personer kan udføre komplekse dataanalyser.
Videoen nedenfor demonstrerer, hvordan ChatGPT’s kodeinterpreter skabte en omfattende TSLA-aktieanalyse.
Vigtige punkter:
- Teslas aktie har oplevet volatilitet, men har også vist sig at være robust med perioder med vækst.
- Høje handelsvolumener på bestemte dage indikerer betydelig markedssammenhæng eller reaktioner på nøglebegivenheder.
- Den negative årlige afkast (YTD) antyder, at investorer bør analysere både interne selskabsfaktorer og eksterne markedsbetingelser, når de overvejer fremtidige investeringer.
Implementering af Computer Vision og OCR
Ansigtsgenkendelse, en essentiel funktion i computer vision, blev tilgangen med en klassisk teknik: Haar Cascade-klassificator fra OpenCV.
Billedet nedenfor viser brugen af den klassiske Haar Cascade-klassificator.
Processen med at udtrække tekst fra billeder, kendt som optisk tegnkendelse (OCR), blev ubesværet opnået ved hjælp af Tesseract, hvor teksten derefter blev struktureret af GPT-4, hvilket forbedrede forståeligheden.
I følgende video kan du se, hvordan Tesseract (OCR) udtrækker tekst fra et certifikatbillede.
Code Interpreter excellerer i området af video-, lyd- og billedmanipulation. Med direkte kommandoer kan brugerne opnå detaljerede redigeringer, såsom omvandling af GIF’er til MP4’er med bestemte forbedringer. Upload blot din fil, indtast dine ønskede ændringer, og se magien ske.
Python Ekstern Bibliotek i din ChatGPT Code Interpreter
ChatGPT Code Interpreter er en dynamisk programmeringsplatform udstyret med et omfattende sæt af Python-biblioteker. Disse dækker alt fra datavisualisering med Seaborn til avanceret maskinlæring via Torch. Men det er mere end et statisk værktøj.
Inspireret af denne Chatgpt-side fra Korakot Chaovavanich.
Startende med den seneste nltk-udgave, uploadede vi en .whl-fil til Interpreteren. Vi instruerede derefter ChatGPT til at finde det passende site-packages-bibliotek ved at analysere en eksisterende pakkes placering. Næste skridt involverede udpakning af wheel-filen til en midlertidig placering og flytning af filerne til det identificerede site-packages-bibliotek. Men dette ramte et problem.
Søgende efter en løsning, instruerede vi: “Venligst sikr, at NLTK bliver installeret i Python-miljøet og er tilgængeligt efter installation.”
ChatGPT svarede og tilbød en løsning. Det foreslog at tilføje den midlertidige bibliotek til sys.path, så Python kan identificere og hente moduler fra den udpakkede nltk-pakke i den placering. Denne taktik fungerede vidunderligt, hvilket resulterede i en succesfuld installation af NLTK.
Gennem brugen af .whl-filer viste installationen en blanding af ingeniøri og tilpasning. ChatGPT Code Interpreter, på trods af de initielle udfordringer, manifesterede sin fleksibilitet og engagement i at tilpasse sig kodernes behov, sikrer både nybegyndere og erfarna en forbedret kodningsoplevelse.
I en fascinerende demonstration af interpreterns muligheder, fremhævede en ny tweet af @DominikPeters en unik demonstration. Peters anmodede GPT-4 om at generere en quiz om Paris’ arrondissementer, og modellen leverede en fungerende hjemmeside. Den fungerende quiz er tilgængelig for en praktisk oplevelse på dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Afslutning
OpenAIs gennembrud med ChatGPT Code Interpreter er intet mindre end transformationelt for både kodere og ikke-kodere. Dets fleksibilitet i at håndtere en bred vifte af opgaver – fra at hjælpe udviklere med fejlfinding til at generere Parisianske quizzes – er en vidnesbyrd om den uendelige potentiale for AI i at forbedre vores digitale oplevelser. Her er en destilleret essens af vores dybdeundersøgelse:
Forstå dit værktøj: Ligesom du ville venne dig med en kollega, bliv bekendt med Code Interpreter. Det er designet oven på Codex, der er finjusteret fra GPT-4. Dets kompetence spænder over flere programmeringssprog, hvilket gør det til en ideal makker for alle dine kodnings-eventyr.
Embracér AI-revolutionen: Traditionelle kodningspraksis er på vej til at se en seismisk skift. Med AI-drevne værktøjer som ChatGPT Code Interpreter kan opgaver som fejlidentifikation, kodegenerering og endda kodereview accelereres.
Ud over kode: Interpreterns indsats er ikke begrænset til tekst eller kode. Dets evne til at håndtere multiple filformater, fra simple TXT-filer til komplekse PY-skripter, understreger dets nytteværdi på tværs af forskellige domæner.
Aldrig stop med at eksperimentere: Vores udforskning med NLTK-biblioteksinstallationen reflekterer vigtigheden af vedvarende og tilpasning, værdier som Code Interpreter inkorporerer. Hvis der er et problem, er der ofte en vej rundt.
Deltag i AI-samtalen: Virkelige anvendelser, som vist i Paris’ arrondissementer-quiz, understreger den enorme virkelige nytteværdi af værktøjet. Embracér det, udforsk det, og lad det forstærke dine projekter.
Ovenstående video er lavet med Gen-2 og Midjourney.
For at samme det op, er ChatGPT Code Interpreter mere end bare et værktøj; det ændrer måden, vi forbindes med teknologi på. For både innovatorer og entusiaster lover det en verden fuld af kodningspotentialer.



















