Prompt engineering
Utforsk OpenAIs ChatGPT Code Interpreter: En dyptgående analyse av dens muligheter

OpenAIs fremgang i naturlig språkbehandling (NLP) markeres av oppblomstringen av store språkmodeller (LLM), som utgjør produkter som brukes av millioner, inkludert kodehjelperen GitHub Copilot og søkemotoren Bing. Disse modellene, gjennom deres unike evne til å huske og kombinere informasjon, har satt ubesvarte mål i oppgaver som kode- og tekstgenerering.
Forstå ChatGPTs kodefortolker
For å forstå betydningen av ChatGPTs kodefortolker, er det essensielt å først forstå hva det er og hvordan det ble bygget.
I essensen utnytter ChatGPTs kodefortolker mulighetene i ChatGPT, men introduserer en forbedret kompetanse i å forstå, tolke og sogar generere kode på tvers av en rekke programmeringsspråk. Denne funksjonen transformerer ChatGPT fra en tekstgenerator til et uvurderlig verktøy for utviklere, som hjelper med kodeforståelse, feilsøking og sogar kodegenerering.
Trening av GPT for kode: Codex-tilnærmingen
Både GitHub Copilot og ChatGPTs kodefortolker utnytter Codex-modellen utviklet av OpenAI.
Codex, en spesialisert GPT-språkmodell, er konstruert for å ha kompetente Python-kode-skriverferdigheter. Trenet på offentlig kildekode fra GitHub, viser Codex sitt potensiale ved å drive funksjoner i GitHub Copilot. Når det vurderes for sin evne til å syntetisere programmer fra docstrings, en måling av funksjonell korrekthet, overgår Codex både GPT-3 og GPT-J.
En slående observasjon er at gjentakende sampling forbedrer Codex’ kompetanse. Når opptil 100 prøver per problem brukes, øker modellens suksessrate til 70,2%. Slik effektivitet antyder muligheten for å bruke heuristisk rangering til å plukke akkurat kodeprøver, uten å nødvendiggjøre full evaluering for hver.
For å vurdere dens muligheter, ble modellen tildelt å opprette selvstendige Python-funksjoner basert bare på docstrings. Den genererte koden’s nøyaktighet ble deretter målt ved hjelp av enhetstester. I en datasett bestående av 164 originale programmeringsproblemer, som inkluderer språkforståelse, algoritmer og grunnleggende matematikktester, løste Codex med 12B parametre 28,8% av dem på ett forsøk.
Ved å finjustere modellen videre gjennom finjustering korrekt implementerte selvstendige funksjoner, ble dens effektivitet forbedret, resulterende i at Codex-S løste 37,7% av utfordringene på første forsøk. Imidlertid, i den praktiske verden av programmering, er en prøve-og-feil-tilnærming vanlig. I en lignende virkelig verdenscenario, hvor Codex-S-modellen fikk 100 sjanser, løste den 77,5% av utfordringene.
Generative modeller som ChatGPT som produserer kode vurderes vanligvis ved å sammenligne genererte prøver med en referansekjøring. Denne sammenligningen kan enten være eksakt eller bruke en likhetstest som BLEU-scoren. Imidlertid mangler disse sammenligningsbaserte målinger ofte å fange kodeens nuanser. En kritikk av BLEU er dens ineffektivitet i å fange kodeens semantiske egenskaper.
I stedet for å bare basere seg på sammenligning, er det foreslått en mer relevant måling: funksjonell korrekthet. Dette betyr at koden produsert av modellen skal bestå en gitt sett med enhetstester. Ideen er i linje med standard kodepraksis, da utviklere ofte bruker enhetstester til å måle koden’s effektivitet og nøyaktighet.
Dette målet vurderer ikke bare nøyaktigheten, men også den funksjonelle bruken av den genererte koden.
Pass@k-målet introduseres som et mål på funksjonell korrekthet. Det betyr essensielt at hvis noen av de “k” genererte kodeprøvene består enhetstestene, regnes problemet som løst. Imidlertid, i stedet for å bare bruke dette i sin direkte form, brukes en ubiasert estimator til å beregne pass@k for å unngå høy variasjon.
For å vurdere ChatGPTs kodeevner, ble forskningen utført med HumanEval-datasettet. Dette datasettet består av håndskrevne Python-problemer, hver ledsaget av enhetstester.
Gitt risikoen forbundet med å kjøre ukjent eller upålitelig kode, ble en sandbox-miljø designet for å teste den genererte koden trygt. Denne miljøen brukte gVisor til å emulere ressurser og skape en barriere mellom verts-systemet og den kjørende koden. Dermed, selv om modellen produserer skadelig kode, forblir den innkapslet og kan ikke skade verts-systemet eller nettverket.
Bruk av ChatGPT kodefortolker
OpenAIs ChatGPT har gjennomgått tallrike evolusjoner, med kodefortolkeren som en revolusjonerende funksjon i GPT-4-modellen. I motsetning til tradisjonelle chattegrensesnitt, tillater kodefortolkeren brukerne å dykke dyptere inn i komputasjonelle oppgaver, og sammenfletter linjene mellom menneske-AI-samtaler og komputasjonelle prosesser.
I kjernen er kodefortolkeren lik å ha en datamaskin innbygget i chatteboten. Denne dynamiske funksjonen tilbyr brukerne midlertidig diskplass til å laste opp en mengde filformater, fra vanlige typer som TXT, PDF og JPEG til mer spesialiserte som CPP, PY og SQLite. Denne bredde av støtte forbedrer dens fleksibilitet på tvers av ulike oppgaver, enten det er dokumentbehandling eller bildebehandling.
Opererende innenfor en robust og sikker ramme, er kodefortolkeren utstyrt med over 300 forhåndsinstallerte biblioteker. Denne sandbox-miljøen sikrer sikkerhet samtidig som den tilbyr betydelig komputasjonskraft. Interessant nok, når det ble bedt om å generere en Python-skript i sanntid for å utføre brukerens forespørsel, kunne ChatGPT håndtere det.
En punkt av intrige har vært filstørrelsesgrensen for opplasting. Mens definitive spesifikasjoner ennå ikke er annonsert, antyder bruker-eksperimenter at systemet kan effektivt prosessere filer betraktelig større enn 100MB. Uansett størrelse, er det viktig å merke seg at disse filene er midlertidige, og blir forkastet etter at chatte-sesjonen er avsluttet.
Genialiteten til kodefortolkeren ligger ikke bare i dens tekniske dyktighet, men også i dens tilgjengelighet. OpenAI tilbyr denne funksjonen til abonnenter av ChatGPT Plus, som kommer med GPT-4-modellen. Dermed er dette transformative verktøyet ikke bare for tekniske eliter, men blir gradvis mer tilgjengelig for et bredere publikum.
Forskjellen mellom standard ChatGPT-modellen og kodefortolkeren ligger i deres interaksjonsparadigmer. Mens den førstnevnte primært genererer tekstbaserte svar, forstår og utfører den sistnevnte kode, og tilbyr direkte resultater. Dette gjør den ikke bare til et verdifullt verktøy for tekniske fagfolk, men også til en kraftfull ressurs for de uten kodekunnskaper til å utføre komplekse komputasjonelle oppgaver.
Kodefortolkerens muligheter kan revolusjonere flere aspekter av programvareutvikling og datavitenskap:
- Automatisert kodegenerering: For både programvareapplikasjoner og dataanalyse-skript, gitt en høynivå-beskrivelse, kan systemet produsere boilerplate-strukturer eller intrikate kodeprøver, akselererende utviklings- og dataanalyseprosesser.
- Kodegjennomgang og data-validering: AI-drevne verktøy som ChatGPT kan bidra til å forbedre kvaliteten og sikkerheten til programvarekodebasen. I tillegg, i datavitenskapens verden, kan slike verktøy være instrumentale i å gjennomgå og validere dataprosessering- og transformeringsskript, sikrer nøyaktighet og effektivitet.
- Dataanalyse-hjelp: For data-vitenskapsmenn, kan ChatGPTs kodefortolker hjelpe med å generere kode for preliminær data-utforskning, visualisering og sogar grunnleggende statistiske tester, lettende dataanalyse-arbeidsflyten.
Hvis du er interessert i å finne mer om intrikasjonene i ChatGPT og prompt-engineering, tilbyr Unite AI en omfattende gjennomgang i ‘ChatGPT: Advanced Prompt Engineering‘.
Oppsett av ChatGPT kodefortolker
Kodefortolker-integrasjon tillater plattformen å tolke brukerforespørsler, utføre dem som Python-kode og vise resultater i en interaktiv chatte-format. For å få tilgang til denne funksjonen, kan brukerne navigere til ChatGPT-innstillinger, utforske Beta-funksjoner-seksjonen og aktivere kodefortolkeren.
Hva skiller det fra andre er dens transparente mekanisme. Mens brukerne ber om en oppgave, avdekker plattformen hver steg i prosess-reisen, og tilbyr klarhet på hvordan kommandoer tolkes og utføres. Viktigst, for privatlivs- og sikkerhetsårsaker, opererer kodefortolkeren uten internett-tilkobling.
Utforskning av fordelene med ChatGPT kodefortolker
Data-visualisering og analyse
ChatGPT går utover tradisjonelle diagrammer, og tilbyr både konvensjonelle og innovative grafiske representasjoner. Dette sikrer at brukerne kan se sine data i format som gir mest mening.
Imidlertid er det ikke bare om å visualisere rådata. ChatGPT-modellen er dyktig i å prosessere og finpusse data. Selv om kraftfull, bør brukerne utøve forsiktighet.
Finansanalytikere vil finne kodefortolkerens evne til å analysere og visualisere aksjekurser spesielt nyttig. Gjennom sammenføyning, kan brukerne laste opp datasett og visualisere dem i ulike format. Denne funksjonens betydning er åpenbar når enkeltpersoner kan utføre komplekse data-analyser.
Videoen under demonstrerer hvordan ChatGPTs kodefortolker skapte en omfattende TSLA-aksjeanalyse.
Nøkkel-trekk:
- Teslas aksje har møtt volatilitet, men har også vist seg å være motstandsdyktig med perioder med vekst.
- Høye handelsvolumer på bestemte dager indikerer betydelig markedss interesse eller reaksjoner på nøkkelhendelser.
- Nedadgående år-til-dato (YTD)-avkastning antyder at investorer bør analysere både interne selskapsfaktorer og eksterne markedstendenser når de vurderer fremtidige investeringer.
Implementering av datamaskin-syn og OCR
Ansiktsgjenkjenning, en essensiell funksjon i datamaskin-syn, ble tilnærmet med en klassisk teknikk: Haar Cascade-klassifisering fra OpenCV.
Bildet under viser bruk av den klassiske Haar Cascade-klassifiseringen.
Prosessen med å trekke ut tekst fra bilder, kjent som optisk tegngjenkjenning (OCR), ble sammenføyet med Tesseract, og teksten ble deretter strukturert av GPT-4, og forbedret lesbarheten.
I videoen under ser du hvordan Tesseract (OCR) trekker ut tekst fra et sertifikatbilde.
Kodefortolkeren utmerker seg i området video-, lyd- og bildebehandling. Med enkle kommandoer kan brukerne oppnå detaljerte redigeringer, som å konvertere GIF-filer til MP4-filer med bestemte forbedringer. Bare last opp filen, skriv inn dine ønskede endringer, og se magien skje.
Python ekstern bibliotek i din ChatGPT kodefortolker
ChatGPT kodefortolker er en dynamisk programmeringsplattform utstyrt med et omfattende sett av Python-biblioteker. Disse dekker alt fra data-visualisering med Seaborn til avansert maskinlæring via Torch. Men det er mer enn et statisk verktøy.
Inspirert av denne Chatgpt-siden fra Korakot Chaovavanich.
Startende med den siste nltk-utgaven, lastet vi opp en .whl-fil til fortolkeren. Deretter instruerte vi ChatGPT til å finne den passende site-packages-katalogen ved å analysere en eksisterende pakkes plassering. Neste steg innebar å pakke ut hjulet til en midlertidig plass og flytte filene til den identifiserte site-packages-katalogen. Imidlertid traff dette en hindring.
Ettersom vi søkte en omvei, ba vi om: “Vennligst sikre at NLTK blir installert i Python-miljøet og er tilgjengelig etter installasjon.”
ChatGPT svarte og tilbød en løsning. Den foreslo å legge til den midlertidige katalogen til sys.path, og tillot Python å identifisere og trekke ut moduler fra den upakket nltk-pakken i den plasseringen. Denne taktikken fungerte og resulterte i en vellykket installasjon av NLTK.
Gjennom bruk av .whl-filer, viste installasjonen en blanding av kreativitet og tilpasning. ChatGPT kodefortolker, til tross for de initielle utfordringene, viste sin fleksibilitet og engasjement for å tilpasse seg utvikleres behov, og sikret både nybegynnere og erfarte utviklere en forbedret kode-erfaring.
I en fascinerende demonstrasjon av fortolkerens muligheter, viste en nylig tweet fra @DominikPeters en unik demonstrasjon. Peters ba GPT-4 om å generere en quiz om Paris’ arrondissementer, og modellen leverte en fungerende nettside. Den fungerende quizen er tilgjengelig for en hånd-til-hånd-erfaring på dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Oppsummering
OpenAIs gjennombrudd med ChatGPT kodefortolker er intet mindre enn transformasjonelt for både utviklere og ikke-utviklere. Dens fleksibilitet i å håndtere en rekke oppgaver – fra å hjelpe utviklere med feilsøking til å produsere Paris-quiz – er et bevis på den ubegrensede potensialet til AI i å forbedre våre digitale erfaringer. Her er en kondensert essens av vår dyptgående analyse:
Forstå ditt verktøy: Liksom du ville bli kjent med en kollega, bli kjent med kodefortolkeren. Den er bygget på toppen av Codex, som er finjustert fra GPT-4. Dens kompetanse omfatter flere programmeringsspråk, og gjør den til en ideal kompanjong for alle dine kode-eventyr.
Tilpasse deg AI-revolusjonen: Tradisjonelle kodepraksiser er på vei til å se en seismisk forandring. Med AI-drevne verktøy som ChatGPT kodefortolker, kan oppgaver som feil-identifikasjon, kodegenerering og sogar kode-gjennomgang akselereres.
Ut over bare kode: Kodefortolkerens innflytelse er ikke begrenset til tekst eller kode. Dens evne til å håndtere flere filformater, fra enkle TXT-filer til komplekse PY-skript, understreker dens nytte på tvers av ulike domener.
Aldri stopp eksperimentering: Vår utforskning med NLTK-bibliotekets installasjon reflekterer viktigheten av å være ihærdig og tilpasningsdyktig, verdier som kodefortolkeren inkorporerer. Hvis det oppstår en hindring, er det ofte en måte å gå rundt den på.
Bli med i AI-samtalen: Virkelige anvendelser, som vist i Paris-arrondissement-quiz, understreker den enorme virkelige nytten av verktøyet. Omfavne det, utforske det, og la det forbedre dine prosjekter.
Videoen oven er laget med Gen-2 og Midjourney.
For å sammenfatte, er ChatGPT kodefortolker mer enn bare et verktøy; det endrer måten vi kobler oss til teknologi. For både innovatører og entusiaster, lover det en verden full av kode-potensiale.






















