Les 7 van 8 · 40 min · Inclusief lab

Je eigen model meebrengen

In deze les ga je

  • Per taak een modelbron kiezen: aanbieders-API, gelicentieerd model, open-weight of gefinetuned
  • Elk model via één interface bereiken zodat een wissel een configuratiewijziging is
  • Een veilige wissel uitvoeren met een baseline, een schaduwrun en een verkeerssplitsing
  • Benoemen wat er bij een wissel meestal breekt en hoe je het vangt
Ga naar de kenniscontrole

Het model is een afhankelijkheid, behandel het als zodanig

Modellen veranderen sneller dan elk ander onderdeel van je stack. Een aanbieder trekt een versie in, een nieuw open-weightmodel verslaat je huidige op jouw taak, een klant vraagt dat data in een regio blijft. Als een model wisselen betekent dat je de agent herschrijft, heb je een lock-in gebouwd.

Bij NexOps ontwerpen we de harness zo dat het model één regel configuratie per taak is. Prompts, tools, guardrails en de evaluatieset blijven staan. In deze les leggen we uit hoe je daar komt en hoe je een model zonder drama wisselt. We rangschikken geen modellen. Rankings verouderen in weken en jouw taak bepaalt de winnaar.

Waar een model vandaan kan komen

OptieWaar het draaitEen goede keuze als
Een API van een aanbiederHet platform van de aanbieder, bereikt via de gatewayJe het sterkste algemene model wilt en de data daarheen mag
Een model waarvoor je al een licentie hebtJe bestaande overeenkomst, aangesloten en beheerd in de gatewayEr een contract ligt dat de taak dekt
Een open-weightmodelJe eigen infrastructuur, bijvoorbeeld in een EU-regio of on-premisesData moet blijven waar jij bepaalt, of het volume stabiel en hoog is
Een eigen gefinetuned modelGeserveerd op endpoints die je beheertDe taak smal is en een kleiner model het goed kan

Kies per taak, niet per bedrijf. Een classificatiestap en een schrijfstap hebben zelden hetzelfde model nodig.

Eén interface voor elk model

Het wisselen is alleen goedkoop als elk model op dezelfde manier bereikbaar is. Op Databricks zijn twee bouwstenen relevant.

Model Serving external models. Model Serving kan modellen van derden achter één uniform endpoint aanbieden. Je voegt een external_model-blok toe onder served_entities met de modelnaam, de aanbieder en de taak (llm/v1/chat, llm/v1/completions of llm/v1/embeddings). De documentatie noemt aanbieders zoals OpenAI, Anthropic, Cohere, Amazon Bedrock en Google Cloud Vertex AI, plus een custom provider voor OpenAI-compatibele proxy's. Databricks bewaart de credentials van de aanbieder versleuteld. Bevat een endpoint meerdere externe modellen, dan moet je een traffic_config definiëren met een aandeel per model.

Unity Gateway. De Agent Bricks-documentatie beschrijft Unity Gateway als toegang tot frontier- en open modellen via één API, zodat je van model kunt wisselen zonder agentcode te veranderen. Gatewayfuncties die je bij wissels gebruikt: toegangsbeheer via Unity Catalog-privileges, rate limits en budgetten, logging naar Delta-tabellen en verkeerssplitsing met failover over modelbestemmingen.

Twee kanttekeningen uit de documentatie. De MLflow Deployments CRUD-API uit de voorbeelden voor externe modellen staat als Public Preview beschreven en netwerkconnectiviteitsconfiguratie voor externe modellen is ook Public Preview. Controleer de actuele status van elke functie voor je een productie-uitrol erop plant.

Houd het model uit je code

Op welk platform je ook werkt, pas hetzelfde patroon toe in de agent: vraag om een rol, niet om een model.

Illustratie

yaml
# Schematische configuratie, geen echte syntaxis van een product.
tasks:
  classify_request:
    model_endpoint: small-model-a        # een rolnaam die het platform oplost
  draft_reply:
    model_endpoint: large-model-b
  extract_fields:
    model_endpoint: our-fine-tuned-model
 
release_gate:
  evaluation_set: real-cases
  quality: must_not_drop
  cost_per_task: within_budget
rollout: shadow_run_then_traffic_split

De agent leest model_endpoint en roept het aan via de gemeenschappelijke interface. Het model wisselen betekent één waarde wijzigen en de poort draaien.

De veilige wissel, stap voor stap

  1. Leg de baseline vast. Draai het huidige model op de evaluatieset en bewaar kwaliteit en kosten per taak. Daartegen vergelijk je.
  2. Draai de kandidaat op dezelfde set. Dezelfde prompts, tools en scorers. Kijk naar de resultaten per groep, niet alleen naar het gemiddelde. Een model dat het gemiddelde verbetert en de veiligheidsgroep breekt, is gefaald.
  3. Verwacht promptverschillen. Modellen reageren verschillend op dezelfde instructie. Sta per kandidaat één ronde promptaanpassing toe en leg die vast, zodat de vergelijking eerlijk blijft.
  4. Controleer de kosten per taak. Een groter model heeft misschien minder herpogingen nodig. Meet in plaats van aan te nemen (les 6).
  5. Schaduwrun. Stuur echt verkeer op de achtergrond naar de kandidaat, vergelijk de antwoorden en laat gebruikers alleen het antwoord van het huidige model zien.
  6. Splits verkeer. Verplaats via de gateway een klein deel van het live verkeer naar de kandidaat. Bekijk kwaliteitsscorers op productietraces en de kosten. Vergroot het aandeel stapsgewijs.
  7. Houd de uitgang open. Terugdraaien is één stap: de taak wijst weer naar het vorige model. Houd de vorige configuratie een releasecyclus lang inzetbaar.

Wat er tijdens een wissel misgaat

  • Formaat van toolaanroepen. Modellen verschillen in hoe betrouwbaar ze geldige toolaanroepen maken. Je strikte schema's (les 2) vangen dit op.
  • Contextlengte. Een kleiner venster kan de geschiedenis ongemerkt afkappen. Traceer tokentellingen.
  • Uitvoerstijl. Een nieuw model kan uitgebreider zijn, wat de kosten verandert en formaatcontroles kan breken.
  • Veiligheidsgedrag. Weigeren en reageren op injectie verschilt per model. Draai de aanvalscases uit les 5 opnieuw.
  • Latency. Meet, want een groter model op een druk endpoint kan een responstijddoel breken.

Open-weight en soevereine opties

Moet data in een regio blijven die je beheert, dan is een open-weightmodel op eigen infrastructuur een optie, en een gefinetuned kleiner model voor een smalle taak ook. De regel van hierboven blijft gelden: het zelf gehoste model moet je evaluatieset halen voor het verkeer krijgt. Zelf hosten voegt werk toe, zoals capaciteit, patching en monitoring, dus kies het met een reden: datalocatie, stabiel hoog volume of een smalle taak.

Verbieden regelgeving of contracten dat data naar een aanbieder gaat, zet die regel dan in het gatewaybeleid, zodat hij voor elke agent geldt en niet alleen voor agents die het team zich herinnerde te configureren.

Samenvatting

Behandel het model als een vervangbare afhankelijkheid. Bereik elk model via één interface, kies per taak en wissel met dezelfde evaluatieset, dezelfde kostenpoort, een schaduwrun, een verkeerssplitsing en een terugdraaiactie van één stap.

Volgende les: agents draaien in productie, waar al deze onderdelen samenkomen.

Het idee in één schema

Een veilige modelwissel

  1. BaselineKwaliteit en kosten nu
  2. Kandidaat op dezelfde set
  3. SchaduwrunEcht verkeer, verborgen
  4. VerkeerssplitsingKlein deel, dan meer
  5. Houd de uitgang openTerugdraaien in één stap

Kenniscontrole

Beantwoord elke vraag. Je ziet meteen de reden achter elk antwoord.

0 van 3 beantwoord

  1. Vraag 1 van 3Wat maakt een modelwissel goedkoop?
  2. Vraag 2 van 3Waarom kijk je bij een wissel naar resultaten per groep?
  3. Vraag 3 van 3Welke uitspraak past bij de documentatie over externe modellen in Model Serving?

Praktisch lab

Doel. Bouw een configuratiegedreven modelregister en voer een wissel uit met een schaduwvergelijking.

Waar je het draait

Lokale Python Draai dit lab op je eigen computer met Python 3.10 of nieuwer in een virtuele omgeving.

Handleiding voor Python-omgevingen

Stappen

  1. Schrijf models.yaml met drie taken gekoppeld aan endpointnamen. Schrijf een functie get_client(task) die het leest.
  2. Implementeer drie stubclients met verschillend gedrag (een uitgebreid, een beknopt, een die soms ongeldige JSON teruggeeft).
  3. Draai de evaluatieset uit les 4 op de baseline en op een kandidaat door één regel in models.yaml te wijzigen.
  4. Schrijf shadow_compare(baseline, candidate, cases) dat de cases teruggeeft waar de antwoorden verschillen en ze logt.
  5. Voeg een verkeerssplitsing van 10 procent toe met een hash van het case-id en schrijf het terugdraaien als wijziging van één regel.

Verwacht resultaat

Je wisselt het model door één waarde te wijzigen, ziet resultaten per groep voor beide, krijgt een lijst met afwijkende cases en toont het terugdraaien.

Verdiepen

Officiële documentatie en aanbevolen cursussen van de aanbieders.

Lees bij NexOps

Artikelen uit onze eigen projecten over hetzelfde onderwerp.

Bronnen

Laatst gecontroleerd 2026-11-11

We controleren elke bron aan de hand van de officiële documentatie. Producten veranderen, dus bevestig details daar voordat je bouwt.