Velkommen til Bygg med AI-API-er! Dette er leksjon 1 av 9. Du kan starte uten konto — fremgangen lagres mens du jobber, og du kan ta en pause når som helst.
Fra chatgrensesnitt til API
Samme modell, men som et programmert kall — request inn, svar ut.
Du har prøvd chatvinduene. Denne leksjonen viser det programmereren trenger å se bak dem: det samme språkmodell-API-et, men som et kall fra koden din — request inn, respons ut. Ingen magi, bare data som reiser over nettet.
Samme modell, ny inngang
Et chatvindu er bare en klient: den samler det du skriver i en meldingsliste, sender listen til et API, og tegner svaret pent på skjermen. Når du kaller det samme API-et fra kode, tar du over begge jobbene — du bygger selv listen som skal sendes, og du bestemmer selv hva som skal skje med svaret.
// Request — det du sender inn (forenklet skisse)const request = { model: "språkmodell", // hvilken modell du snakker med messages: [ { role: "system", content: "Du er kundeservice for et bakeri." }, { role: "user", content: "Hva koster grove rundstykker?" }, ], temperature: 0.4, // hvor mye svaret får lov å sprike max_tokens: 200, // taket for svarets lengde};Hva du sender inn, hva du får ut
messages— meldingslisten. Hver melding har enrole(system, bruker eller assistent) og encontent-tekst. Hele kurset bygger på denne listen.temperature— hvor kreativt svaret skal være. Mer om det i leksjon 5.max_tokens— taket for svarets lengde, også i leksjon 5.model— hvilken modell du snakker med. Navnene varierer mellom leverandørene, formen gjør det ikke.
// Respons — det som kommer tilbake (forenklet skisse)const respons = { choices: [ { message: { role: "assistant", content: "Grove rundstykker koster 24 kroner stykket.", }, }, ], usage: { input_tokens: 28, // det du sendte output_tokens: 9, // det som kom tilbake },};To ting å merke seg. Svaret ligger inni en liste — hos de fleste leverandører heter den choices, og teksten henter du med respons.choices[0].message.content. Og usage-feltet forteller hva kallet kostet i tokens: det du sendte og det du fikk tilbake, begge veier. Vi regner på prisene i leksjon 7.
Prøv selv
Hvor bor det?
Trykk på hvert felt for å se hvilken side av kallet det hører hjemme på.
Det finnes ikke feil her — trykk på alle tre hvis du vil.
Hvorfor kode slår chatvinduet
- Gjenbruk — samme kall, samme instruks, hver gang. Boten din svarer like pent klokka tre om natten som du gjør klokka ni.
- Automasjon — kallet kan fyres av av noe annet: et skjema, en netthendelse, en kø. Ingen må sitte og lime tekst inn i et vindu.
- Strukturert mottak — svaret er data, ikke tekst på en skjerm. Du kan lese ut felt, validere dem og sende dem videre.
Meldingsformatet — en array med rolle- og tekst-objekter — er i praksis det du finner hos de store leverandørene. SDK-ene deres pakker det inn i litt ulike navn, men formen du bygger her er den samme. Du lærer én ting og bruker den overalt.
Obs
Vi kaller aldri et ekte API herfra
Arbeidsområdet på skol.no kjører i nettleseren din — og der hører ingen API-nøkler hjemme. En nøkkel i frontend-kode er lesbar for alle som åpner devtools. Derfor er alle API-figurer i kurset statiske, og øvelsene øver på dataformene — som er nøyaktig de SDK-ene tar imot. Nøkkelen din hører hjemme på serveren din; leksjon 8 kommer tilbake til det.
Du kan nå
- forklare hva et språkmodell-API er: request inn (meldinger + parametere), respons ut (svar + bruksstatistikk)
- si hvorfor kode slår chatvinduet — gjenbruk, automasjon og strukturert mottak
- vite at ingen kall går til et ekte API fra dette kurset, og hvorfor nøkler hører hjemme på serveren