Nå kan OpenAI snakke med API-ene og funksjonene dine

OpenAI introduserer en helt ny måte å koble sammen GPT med eksterne verktøy og API-er.

Sammen med et spørsmål kan du nå også sende en beskrivelse av en funksjon GPT kan kalle, og hvilke argumenter funksjonen aksepterer. GPT returnerer så et JSON-objekt med de nødvendige argumentene. 📸: Kurt Lekanger
Sammen med et spørsmål kan du nå også sende en beskrivelse av en funksjon GPT kan kalle, og hvilke argumenter funksjonen aksepterer. GPT returnerer så et JSON-objekt med de nødvendige argumentene. 📸: Kurt Lekanger Vis mer

OpenAI, som står bak blant annet ChatGPT, har annonsert en rekke oppdateringer til gpt-3.5-turbo og gpt-4.

I tillegg til lavere priser for å bruke API-ene, er det én nyhet som er spesielt interessant for utviklere som bygger applikasjoner på toppen av disse språkmodellene.

Med såkalt Function Calling i OpenAIs Chat Completions-API kan du kort fortalt få gpt-3.5 og gpt-4 til å bruke API-er og funksjoner du har laget til dem.

Det gjør det mulig å lage smartere chatbot-er, eller konvertere "prompts" skrevet i naturlig språk til API-kall eller database-spørringer mot for eksempel et kundesystem.

Oppdager når den trenger å kalle en funksjon

OpenAI beskriver det hele slik selv:

"Utviklere kan nå beskrive funksjoner til gpt-4-0613 og gpt-3.5-turbo-0613 og få modellen til å intelligent velge å levere ut et JSON-objekt som inneholder argumenter for å kalle disse funksjonene."

Modellene har blitt finjustert for å både oppdage når det er behov for å kalle en funksjon – avhengig av brukerens input – og til å respondere med JSON som stemmer overens med funksjonssignaturen. Med "Function Calling" kan utviklere få strukturerte data tilbake fra modellen, på en mer pålitelig måte.

OpenAI nevner flere mulige bruksområder:

  • Lag chatboter som kan svare på spørsmål ved å kalle eksterne verktøy, som for eksempel ChatGPT-plugins.
  • Konvertere naturlig språk til API-kall eller databasespørringer. For eksempel kan "Hvem er mine topp ti kunder denne måneden" få GPT til å lage argumenter til et API eller en SQL-spørring, og deretter oppsummere det som kommer fra API-et i naturlig språk til slutt.
  • Hente ut strukturerte data fra tekst. For eksempel kalle en funksjon som henter ut alle personer nevnt i en Wikipedia-artikkel.

Slik bruker du det

Selv om det kalles "Function Calling", er det ikke slik at Chat Completions-API-et til OpenAI kaller disse funksjonene på egen hånd. I stedet generes det JSON som du kan bruke til å kalle funksjonen selv i din egen kode.

Du finner en detaljert fremgangsmåte her og her, men kort fortalt er dette trinnene:

#1. Kall modellen med brukerinput + funksjonsbeskrivelse

I dette eksempelet fra OpenAI er spørsmålet vi stiller til GPT "What's the weather like in Boston right now?"

Vi bruker i dette tilfellet curl til å kalle Chat Completions-API-et med både spørsmålet og beskrivelse av vårt API som kan sjekke været. Beskrivelsen vi gir til GPT er "Get the current weather in a given location", og hva slags parametre funksjonen tar (type, beskrivelse for GPT, osv.).

image: Nå kan OpenAI snakke med API-ene og funksjonene dine

#2. Bruk responsen til å kalle API-et ditt

Når GPT oppdager at det er nødvendig å kalle den funksjonen eller API-et vi har opplyst den om at vi har, vil den svare med "finish_reason": "function_call", navnet på funksjonen den vil du skal kalle, samt argumenter i det formatet du oppga da du beskrev funksjonen.

image: Nå kan OpenAI snakke med API-ene og funksjonene dine

#3. Send responsen tilbake til modellen for å få GPT til å oppsummere

Etter at du har kalt funksjonen eller API-et ditt med argumentene du fikk fra GPT, kan du sende alt sammen tilbake til GPT-modellen og få den til å summere opp.

Hvis GPT er fornøyd med svaret du har fått ut av funksjonen din, vil den returnere med "finish_reason": "stop" og en fin beskrivelse på språket du stilte spørsmålet i (i vårt tilfelle noe sånt som "The weather in Boston is currently sunny with a temperature of 22 degrees Celsius."). Vil den at du kaller flere funksjoner, vil den si ifra – hvis ikke er du ferdig.

Lavere priser

I tillegg til Function Calling og en del forbedringer, har OpenAI også som nevnt redusert prisene.

Prisen på GPT-3.5-turbo, altså den forrige modellen – ikke GPT 4 – har blitt redusert med 25 prosent. Ny pris er 0,0015 dollar per 1000 input-tokens og 0,002 dollar per 1000 output-tokens.

Ifølge OpenAI tilsvarer det rundt 700 "sider" med tekst per dollar (ca. 10,50 kroner).