AI functies voor developers: embeddings, function calling en meer

Moderne AI-platforms bieden meer dan een chatinterface. Via API's kun je als developer gebruikmaken van functies zoals embeddings, function calling, RAG en streaming. Dit artikel legt de belangrijkste mogelijkheden uit. Zie ook het overzicht van AI tools voor ontwikkelaars voor de tools die deze functies aanbieden.

Function calling (tool use)

Met function calling geef je een AI-model de mogelijkheid om een functie aan te roepen in plaats van een tekstantwoord te geven. Het model beslist wanneer een tool nodig is, jij voert die tool uit en geeft het resultaat terug.

Dit is de basis voor AI-agents: het model kan zoeken, berekeningen uitvoeren, een database bevragen of een API aanroepen — via functies die jij zelf definieert. Dit principe ligt ook ten grondslag aan Claude Orchestratie.

// Het model roept aan:
{ "name": "get_weather", "input": { "city": "Amsterdam" } }

// Jij voert de functie uit en geeft terug:
{ "temperature": 14, "condition": "bewolkt" }

Embeddings

Een embedding is een numerieke representatie van tekst. Semantisch vergelijkbare teksten krijgen vergelijkbare embeddings. Dat maakt het mogelijk om:

  • Semantisch te zoeken in een documentencollectie
  • Vergelijkbare items te vinden (aanbevelingssystemen)
  • Tekst te clusteren of classificeren

Embeddings worden opgeslagen in een vectordatabase, zoals Pinecone, Weaviate of pgvector in PostgreSQL.

RAG (Retrieval-Augmented Generation)

RAG combineert zoeken met genereren. In plaats van het model te laten vertrouwen op wat het tijdens training heeft geleerd, zoek je eerst relevante documenten op en geef je die mee in de prompt.

Dit is handig als je een chatbot wilt bouwen die antwoorden geeft op basis van je eigen data, zoals documentatie, kennisbanken of interne stukken.

  1. Zet documenten om naar embeddings en sla ze op in een vectordatabase
  2. Zet de gebruikersvraag om naar een embedding
  3. Zoek de meest relevante documenten op
  4. Geef de documenten en de vraag mee in de prompt
  5. Het model genereert een antwoord op basis van die context

Streaming

Standaard wacht een API-aanroep tot het volledige antwoord klaar is. Met streaming worden tokens direct teruggestuurd zodra ze gegenereerd zijn. De tekst verschijnt zichtbaar terwijl het model nog bezig is, wat de gebruikerservaring een stuk soepeler maakt.

Structured output

Je kunt een model dwingen om te antwoorden in een vast JSON-formaat. Handig als je de uitvoer direct wilt verwerken in je applicatie, zonder parsing van vrije tekst.

// Verwacht formaat meegeven:
{ "naam": "string", "leeftijd": "number", "stad": "string" }

// Model antwoordt altijd in dit formaat

Fine-tuning

Met fine-tuning train je een bestaand model bij op je eigen voorbeelden. Het model leert zo een specifieke stijl, domein of taak. Fine-tuning is zinvol als je veel voorbeelden hebt en consistentie in de uitvoer belangrijk is. Het is duurder en complexer dan werken met prompts alleen.

Vision (afbeeldingen als input)

Multimodale modellen accepteren naast tekst ook afbeeldingen als invoer. Je kunt een screenshot, diagram of foto meesturen en het model vragen om dat te analyseren, beschrijven of te gebruiken als context bij een opdracht.

Zie ook