Sinds vorige maand ondersteunt OpenAi function calling in de modellen GPT3.5 en GPT4. Met function calling geef je het model de mogelijkheid om externe informatie op te vragen. Dat maakt de modellen veel krachtiger.

Wat is Function Calling?

Function calling, in de context van Chat GPT, betekent dit dat bepaalde vooraf gedefinieerde of getrainde functionaliteiten worden geactiveerd op basis van de input van de gebruiker. Dit maakt conversational modellen zoals GPT veel krachtiger want het model kan nu ineens wél met actuele gegevens werken.

Hoe Werkt Function Calling in Chat GPT?

Stel je vraagt het model:

👱🏻‍♂️Is Forest Gump een betere film dan Terminator 2?

Daar heeft hij geen antwoord op:

🤖Sorry, als een AI-model heb ik geen realtime toegang tot internetgegevens. Daarom kan ik geen huidige beoordeling van die films geven. Ik raad je aan om de meest recente informatie rechtstreeks op een betrouwbare filminformatiesite te zoeken.

Maar gelukkig hebben we function calling! Als je nou zelf een functie hebt (ja, je moet wel een beetje kunnen programmeren) die de rating opzoekt dan kan je die meegeven aan het model.

Wat je nu doet met function calling is aan het model mee geven dat je een functie hebt die movie ratings kan opzoeken, hoe deze heet en welke parameter (movie_name) je mee moet geven.

Als het model vervolgens bij het beantwoorden van een vraag concludeert dat er een movie rating moet worden opgezocht, dan geeft het model niet direct een antwoord maar komt terug met het verzoek om de functie aan te roepen met (in dit geval Forrest Gump of Terminator 2) als parameter.

Je roept de functie aan en geeft het antwoord vervolgens weer terug aan het model.

Tenslotte komt het model dan met het juiste antwoord in een nette tekst. In feite gaat het dus zo:

📺Ik heb een functie voor je. Hij heet lookup_movie_rating en hij kan de IMDB rating van films opzoeken. Als parameter geef je de naam van een film mee. De functie geeft de rating terug als getal.

👱🏻‍♂️Is Forrest Gump een betere film dan Terminator 2?

🤖Roep de functie lookup_movie_rating voor me aan met als parameter “Forrest Gump”

👱🏻‍♂️Ik heb de functie voor je aangeroepen. Het antwoord was: 8.8

🤖Roep de functie lookup_movie_rating voor me aan met als parameter “Terminator 2”

👱🏻‍♂️Ik heb de functie voor je aangeroepen. Het antwoord was: 8.6

🤖Ik heb het voor je opgezocht. Bij IMDB heeft Forrest Gump een rating van 8.8 en Terminator 2 een rating van 8.6. Je kunt dus zeggen dat Forrest Gump over het algemeen wordt beschouwd als een wat betere film.

Bovenstaande werkt natuurlijk niet vanuit de GPT chat interface. Je zult daadwerkelijk die functie moeten make en GPT dan aanroepen via de API. Daaraan kan je ook meegeven dat je die functie beschikbaar hebt.

In de praktijk ziet de eindgebruiker dan ook niks van alle tussenliggende calls heen en weer:

👱🏻‍♂️Is Forrest Gump een betere film dan Terminator 2?

🤖Ik heb het voor je opgezocht. Bij IMDB heeft Forrest Gump een rating van 8.8 en Terminator 2 een rating van 8.6. Je kunt dus zeggen dat Forrest Gump over het algemeen wordt beschouwd als een wat betere film.

Voor meer informatie:

https://platform.openai.com/docs/guides/gpt/function-calling


Vorige post: Will my job be replaced by AI?