Prompt engineering

Udforskning af OpenAIs ChatGPT Code Interpreter: En dybdeundersÃļgelse af dets muligheder

mm
FÃļj Unite.AI til dine foretrukne kilder pÃĨ Google

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.

TrÃĶningsdata for Codex-model - chatgpt code interpreter

TrÃĶningsdata for Codex-model: https://arxiv.org/abs/2107.03374

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.

Chatgpt finjusteret arkitektur

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.

Chatgpt ÃĨben AI trÃĶningsdataset eksempel

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

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.

installation af brugerdefinerede biblioteker i chatgpt code interpreter

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.

Jeg har brugt de sidste fem ÃĨr pÃĨ at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har fÃļrt mig til at bidrage til over 50 forskellige software-ingeniÃļrprojekter, med en sÃĶrlig fokus pÃĨ AI/ML. Min fortsatte nysgerrighed har ogsÃĨ fÃļrt mig mod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.