EU GPT logo
EU GPT

Public preview — Deze API is in public preview. Endpoints, schemas en limieten kunnen wijzigen vóór general availability.

API

Tools

Ingebouwde tools, auto-approval voor API-callers en hoe tool calls verschijnen in de stream.

EU GPT levert een vaste set server-side tools. Het model bepaalt wanneer ze gebruikt worden; het platform voert ze uit; de resultaten worden transparant terug-gevoerd in het gesprek.

Je registreert geen tools per request. Je geeft geen tool-schemas door. De tool-catalogus is de catalogus.

De ingebouwde tools#

ToolWat het doetTypisch gebruik
web_searchDuckDuckGo-zoekopdracht via ddgs. Geeft titels, snippets, URL’s terug.”Wat is het laatste over …”, “Vind nieuws over …”.
web_fetchHaalt een URL op en extraheert de leesbare inhoud.”Lees dit artikel en vat het samen.”
calculatorVeilige math-expression-evaluatie. Hallucineert nooit rekenkunde.Alles met cijfers — totalen, percentages, conversies.
current_datetimeGeeft de huidige datum en tijd terug (optioneel in een timezone).”Welke dag is het?”, relatieve tijdsverwijzingen.

Auto-approval voor API-callers#

In de web-UI vragen gevoelige tools (web search, web fetch) de gebruiker om expliciete approval voor uitvoering. In de API wordt die gate standaard omzeild — calls worden uitgevoerd zonder roundtrip via je applicatie.

De auto-approved set is:

web_search
web_fetch
calculator
current_datetime

Dit ruilt caller-controle in voor simpliciteit. Het is de juiste default omdat API-integraties geen interactieve prompts kunnen tonen.

Hoe tool calls verschijnen in de stream#

Tools draaien op de server, maar hun uitvoering is zichtbaar in de gestreamde events zodat je UI kan tonen wat er gebeurt.

De event-sequence voor een web-search-dan-antwoord-beurt ziet er zo uit:

response.created
response.output_item.added       (function_call, name="web_search")
response.output_item.done        (status="completed", output=[search hits])
response.content_part.added      (text content begins)
response.output_text.delta       (model text answering, possibly citing)
response.output_text.delta       …
response.output_text.done
response.completed

Het output_item.added / output_item.done-paar draagt de tool-call-shape:

{
  "type": "response.output_item.done",
  "item": {
    "type": "function_call",
    "name": "web_search",
    "arguments": "{\"query\":\"GDPR penalties 2025\"}",
    "output": "[…search results JSON…]",
    "status": "completed"
  }
}

Als je een chat-UI rendert: toon een “searching the web…”-indicator op output_item.added voor een function call en vervang die door het aantal resultaten op output_item.done.

Tool-fouten#

Als een tool faalt (bv. de web fetch krijgt een 500, de calculator krijgt onzin), zal het output_item.done-event status: "failed" hebben en zal het output-veld een gestructureerde foutbeschrijving bevatten. Het model gaat hier meestal soepel mee om — het zal retryen met een ander argument of antwoorden zonder de tool — maar je wilt misschien “search failed, answering from training data”-hints aan je gebruikers tonen.

Sequentiële en parallelle tool calls#

Het model kan meerdere tools per beurt aanroepen, en parallelle calls worden gelijktijdig uitgevoerd. Je ziet interleaved output_item.added-events vóórdat één ervan voltooit. Sorteer resolutie op sequence_number als je ze moet correleren.

Custom tools#

Custom tools (je eigen functies) zijn vandaag geen onderdeel van de publieke API. De web-UI biedt een “agent builder” voor organisatie-gescopede agents met custom tools, en een programmatic equivalent volgt. De shape zal die van Chat Completions’ tools[]-parameter spiegelen wanneer het komt.