OpenAI
Deze pagina is automatisch vertaald. Bekijk het oorspronkelijke Engelstalige artikel.

Functies aanroepen in de OpenAI API

Wat is functies aanroepen en hoe werkt het in de OpenAI API?

Bijgewerkt: 7 days ago

Per 11 maart 2025 hebben we de bouwstenen van ons nieuwe Agents-platform uitgebracht. Zie voor meer informatie onze API-docs voor onze Responses API, Tools waaronder Web Search, File Search en Computer Use, en onze Agents SDK met Tracing.

Met functies aanroepen kun je OpenAI-modellen verbinden met externe tools en systemen. Dit is handig voor veel toepassingen, zoals AI-assistenten meer mogelijkheden geven of diepe integraties bouwen tussen je applicaties en LLM's.

Lees meer in onze developergids voor functies aanroepen.

In juni 2024 hebben we gestructureerde output gelanceerd. Wanneer je dit inschakelt door `strict: true` in te stellen in je functiedefinitie, garandeert gestructureerde output dat de argumenten die het model genereert voor een functieaanroep exact overeenkomen met het JSON Schema dat je in de functiedefinitie hebt opgegeven.

In oktober 2024 hebben we de functie 'Generate Anything' gelanceerd, waarmee ontwikkelaars een functie kunnen beschrijven, die direct kunnen plakken of hun code kunnen plakken en een geldige functieschema kunnen genereren. Lees meer over 'Generate Anything' in dit Helpcentrum-artikel

Hoe kan ik functies aanroepen gebruiken?

Functies aanroepen is nuttig voor een groot aantal usecases, zoals:

  • Assistenten gegevens laten ophalen:

    • een AI-assistent moet de nieuwste klantgegevens ophalen uit een intern systeem wanneer een gebruiker vraagt: “wat zijn mijn recente bestellingen?” voordat die een antwoord voor de gebruiker kan genereren

  • Assistenten acties laten uitvoeren:

    • een AI-assistent moet vergaderingen plannen op basis van gebruikersvoorkeuren en kalenderbeschikbaarheid.

  • Assistenten berekeningen laten uitvoeren:

    • een assistent voor wiskundebijles moet een berekening uitvoeren.

  • Rijke workflows bouwen:

    • een pipeline voor gegevensextractie die ruwe tekst ophaalt, die vervolgens omzet in gestructureerde data en opslaat in een database.

Functies aanroepen wordt ondersteund in de Responses API, die mogelijkheden samenbrengt die eerder waren verdeeld over de Chat Completions-API en de Assistants API.

Hoe kan ik de JSON-modus gebruiken?

Wanneer de JSON-modus is ingeschakeld, is de output van het model gegarandeerd geldige JSON, behalve in enkele randgevallen die je passend moet detecteren en afhandelen.

Om JSON-modus aan te vragen met de Responses API of de Chat Completions-API, kun je de response_format instellen op { "type": "json_object" } bij ondersteunde modellen, maar dit werkt alleen wanneer aan de voorwaarden voor model/bericht/tool is voldaan (bijvoorbeeld het model ondersteunt json_object, de conversatie bevat een instructie om JSON te produceren en eventuele toolbeperkingen zijn compatibel). Voor JSON-modus met response_format: {"type": "json_object"} moet minstens één aanvraagbericht json in een of andere vorm bevatten, zoals JSON, json of Json; anders retourneert de API een fout. Wanneer functies aanroepen wordt gebruikt op compatibele modellen/paden, worden JSON-beperkingen automatisch toegepast op argumenten voor functieaanroepen; incompatibele modellen of combinaties van tool-/response-format kunnen worden geweigerd of maken mogelijk geen gebruik van JSON-constrained sampling.

Belangrijke opmerkingen:

  • Wanneer je de JSON-modus gebruikt, moet je het model altijd via een bericht in de conversatie instrueren om JSON te produceren, bijvoorbeeld via je systeembericht. Als je geen expliciete instructie opneemt om JSON te genereren, kan het model een eindeloze stroom witruimte genereren en kan de aanvraag blijven doorlopen totdat de tokenlimiet is bereikt. Om te helpen ervoor te zorgen dat je dit niet vergeet, weigert de JSON-modus aanvragen tenzij de relevante invoerberichten of instructies het woord json in een of andere vorm bevatten, hoofdletterongevoelig.

  • De JSON-modus garandeert niet dat de output overeenkomt met een specifiek schema, alleen dat deze geldig is en zonder fouten kan worden geparseerd. Je moet gestructureerde output gebruiken om te zorgen dat deze overeenkomt met je schema, of als dat niet mogelijk is, een validatiebibliotheek en mogelijk retries gebruiken om te zorgen dat de output overeenkomt met je gewenste schema.

  • Je applicatie moet de randgevallen detecteren en afhandelen die ertoe kunnen leiden dat de modeloutput geen volledig JSON-object is (zie hieronder)

Was dit artikel nuttig?