Hvis du er interessert i en programmerings-AI, må du begynne å bruke StarCoder.
BigCode ga nylig ut en ny kunstig intelligent LLM (Large Language Model) kalt StarCoder med sikte på å hjelpe utviklere med å skrive effektiv kode raskere. Her vil du lære om StarCoder, hvordan StarCoder fungerer og hvordan du kan bruke StarCoder for å forbedre din kodingsevne.
Hva er StarCoder?
StarCoder er en LLM designet utelukkende for programmeringsspråk med sikte på å hjelpe programmerere med å skrive kvalitet og effektiv kode innenfor reduserte tidsrammer.
Den er skrevet i Python og trent til å skrive over 80 programmeringsspråk, inkludert Objektorientert programmering språk som C++, Python og Java og prosedyreprogrammering språk som Fortran og C.
Hvordan fungerer StarCoder?
StarCoder LLM bruker en Multi-Query Attention Technique som gjør StarCoder i stand til å forstå kodens innhold og generere nøyaktige forslag. Denne teknikken innebærer å analysere flere spørringer samtidig for å gi relevante svar.
StarCoder LLMs opplæringsprosess innebar å samle inn og kompilere enorme mengder data fra flere programmeringsspråk hentet fra GitHub-depoter. Ved å utnytte dette mangfoldige datasettet kan StarCoder generere presise og effektive kodeforslag.
Slik bruker du StarCoder LLM
Det er enkelt å komme i gang med StarCoder LLM. Du kan bruke hvilket som helst av StarCoders verktøy, inkludert Playground eller Chatbot, for å skrive effektiv kode. Slik kan du bruke StarCoder til å skrive bedre programmer.
1. Kodefullføring
StarCoder, gjennom bruk av StarCoder Playground Interface, kan skrape gjennom og fullføre programmene dine eller oppdage manglende deler av programmet basert på konteksten til koden skrevet så langt. For å bruke StarCoder Playground, skriv inn den ufullstendige koden i kodeprompten.
For eksempel:
StarCoder foreslår en JavaScript array-metoden for å fullføre den bedte koden når du klikker på generere knappen som viser funksjonen for kodefullføring.
2. Kodegenerering fra naturlig språkforespørsler
StarCoder er ikke en instruksjonsmodell som er i stand til å forstå naturlige språkoppfordringer, som f.eks "Lag en funksjon som finner primtall mellom 1 og 100". Du kan imidlertid bruke StarCoders Chatbot (Tech Assistant) for å legge inn instruksjoner og bruke StarCoder som en instruksjonsmodell, som vist på bildet nedenfor:
Dette bildet viser StarCoders tekniske assistent som blir bedt om å skrive en Python funksjon som finner summen av primtall mellom én og hundre.
På samme måte kan du bruke denne chatboten til å oppdage feil i kodens struktur, noe StarCoder gjør ved å kjøre den bestemte koden gjennom tusenvis av lignende programmer fra GitHub-repositories. Dette kan spare deg for tid og krefter på å feilsøke kodene dine.
I tillegg til funksjonene som er oppført ovenfor, tilbyr StarCoder LLM flere muligheter. Dette inkluderer en Visual Studio Code Extension som gir kodefullføring, og bidrar til å øke produktiviteten mens du utvikler programvare.
Gjeldende begrensninger for StarCoder LLM
Selv om StarCoder LLM er en imponerende AI (kunstig intelligens) verktøyet, det har noen begrensninger. En av hovedbegrensningene er dens avhengighet av treningsdata. Kvaliteten og kvantiteten på treningsdataene begrenser ytelsen til StarCoder LLM.
Når du bruker LLM for kodegenerering eller fullføring, kan du også støte på tilfeller der StarCoders tilbakemelding kan være mer nøyaktig. I tillegg synes StarCoder det er vanskelig å behandle store mengder data som mates til den via noen av kanalene som Playground og chatbot. Forhåpentligvis vil BigCode gjøre forbedringer av disse begrensningene.
LLM-er er ikke så kompliserte
StarCoder er bare et annet eksempel på en LLM som beviser den transformative kapasiteten til AI. LLM-er fortsetter å endre måten visse prosesser innen ingeniør- og vitenskap utføres på.
LLM-er er ikke så kompliserte som de ser ut til. De bruker dyp læring for å analysere data og få en forståelse av grammatikk, syntaks og kontekst for å lage svar. Å forstå hva LLM-er er og hvordan du kan bruke LLM-er kan hjelpe deg å utnytte potensialet deres.