Fra og med 11. mars 2025 har vi lansert byggesteinene i vår nye agent-plattform. For detaljer, se API-dokumentasjonen vår for Responses API, verktøy inkludert Web Search, File Search og Computer Use, og Agents SDK med Tracing.
Funksjonskall lar deg koble OpenAI-modeller til eksterne verktøy og systemer. Dette er nyttig til mange ting, som å gi AI-assistenter flere muligheter eller bygge dype integrasjoner mellom applikasjonene dine og LLM-er.
Les mer i vår utviklerveiledning for funksjonskall.
I juni 2024 lanserte vi strukturerte utdata. Når du slår det på ved å sette `strict: true` i funksjonsdefinisjonen, garanterer strukturerte utdata at argumentene modellen genererer for et funksjonskall, samsvarer nøyaktig med JSON Schema du oppga i funksjonsdefinisjonen.
I oktober 2024 lanserte vi funksjonen 'Generate Anything', som lar utviklere beskrive en funksjon, lime den inn direkte eller lime inn koden sin og generere et gyldig funksjonsskjema. Les mer om 'Generate Anything' i denne hjelpesenterartikkelen
Hvordan kan jeg bruke funksjonskall?
Funksjonskall er nyttig i mange ulike brukstilfeller, for eksempel:
Gjøre det mulig for assistenter å hente data:
en AI-assistent må hente de nyeste kundedataene fra et internt system når en bruker spør: «hva er de siste bestillingene mine?» før den kan generere svaret til brukeren
Gjøre det mulig for assistenter å utføre handlinger:
en AI-assistent må planlegge møter basert på brukerpreferanser og kalenderens tilgjengelighet.
Gjøre det mulig for assistenter å utføre beregninger:
en assistent for matematikkundervisning må utføre en matematisk beregning.
Bygge rike arbeidsflyter:
en pipeline for datauttrekk som henter råtekst, deretter konverterer den til strukturerte data og lagrer dem i en database.
Funksjonskall støttes i Responses API, som samler funksjoner som tidligere var delt mellom Chat Completions API (API for samtalesvar) og Assistants API.
Hvordan kan jeg bruke JSON-modus?
Når JSON-modus er slått på, er modellens utdata gyldig JSON, bortsett fra i enkelte kanttilfeller som du bør oppdage og håndtere på riktig måte.
For å be om JSON-modus med Responses API eller Chat Completions API (API for samtalesvar) kan du sette response_format til { "type": "json_object" } på støttede modeller, men dette fungerer bare når forutsetningene for modell/melding/verktøy er oppfylt (for eksempel at modellen støtter json_object, at samtalen inneholder en instruksjon om å produsere JSON, og at eventuelle verktøybegrensninger er kompatible). For JSON-modus med response_format: {"type": "json_object"} må minst én forespørselsmelding inneholde json i en eller annen form, for eksempel JSON, json eller Json; ellers returnerer API-et en feil. Når funksjonskall brukes på kompatible modeller/baner, brukes JSON-begrensninger automatisk på argumenter for funksjonskall; inkompatible modeller eller kombinasjoner av verktøy-/response-format kan bli avvist eller bruke kanskje ikke JSON-begrenset sampling.
Viktige merknader:
Når du bruker JSON-modus, må du alltid instruere modellen om å produsere JSON via en melding i samtalen, for eksempel i systemmeldingen din. Hvis du ikke inkluderer en eksplisitt instruksjon om å generere JSON, kan modellen generere en endeløs strøm av mellomrom, og forespørselen kan fortsette helt til den når token-grensen. For å bidra til at du ikke glemmer dette, avviser JSON-modus forespørsler med mindre de relevante inndatameldingene eller instruksjonene inneholder ordet
jsoni en eller annen form, uten hensyn til store og små bokstaver.JSON-modus garanterer ikke at utdata samsvarer med et bestemt skjema, bare at de er gyldige og kan parses uten feil. Du bør bruke strukturerte utdata for å sikre at resultatet samsvarer med skjemaet ditt, eller, hvis det ikke er mulig, bruke et valideringsbibliotek og eventuelt nye forsøk for å sikre at utdata samsvarer med ønsket skjema.
Applikasjonen din må oppdage og håndtere kanttilfellene som kan føre til at modellens utdata ikke er et fullstendig JSON-objekt (se nedenfor)
