Modellen en prijzen

Beheer LLM-providers en models, synchroniseer models vanuit externe registers, voer statuscontroles uit en configureer API-sleutels per organization voor onafhankelijke facturatie.

Providerbeheer

Entity Enricher ondersteunt een breed scala aan LLM-providers. Elke provider kan meerdere modellen hebben met individuele prijzen, mogelijkheden en configuratie.

Providers en modellen staan naast elkaar omdat ze zo worden beheerd: de API-sleutel hoort bij de provider, prijzen en mogelijkheden bij elk model.

Ondersteunde providers

AnthropicOpenAIGoogleGoogle VertexMistralDeepSeekGroqTogether AIFireworks AICoherexAIMoonshotZ.AINVIDIA NIMOllamaAzure OpenAI

Providertypes

StandaardDe meeste providers (Anthropic, OpenAI, Mistral, enz.) gebruiken standaard API-eindpunten met bearer-tokenauthenticatie. Een Standard-provider kan ook verwijzen naar een aangepast OpenAI-compatibel eindpunt — zie Aangepaste & bedrijfseindpunten hieronder.
AzureAzure OpenAI gebruikt aangepaste deployment-endpoints met API-versieconfiguratie.
OllamaSelf-hosted Ollama-instanties met aangepaste endpoint-URL's en automatische modelontdekking.

Aangepaste en zakelijke endpoints

Veel teams sturen LLM-verkeer via een bedrijfs-AI-gateway, een regionaal endpoint of een provider die niet standaard is ingebouwd — bijvoorbeeld een enterprise LiteLLM-proxy, Cloudflare AI Gateway of Alibaba DashScope (voor Qwen-modellen). Je voegt deze toe als een eigen Standard (OpenAI-compatible)provider met een aangepaste base-URL.

Een gateway-provider toevoegen

  1. Maak een provider aan met een naam die niet een van de ingebouwde namen is (bijv. acme-openai-gw). Ingebouwde namen zoals openai of anthropic zijn gereserveerd.
  2. Kies het type Standaard (OpenAI-compatibel) en vul Aangepast API-eindpunt (basis-URL) in — bijv. https://gateway.example.com/v1. Dit veld is vereist voor elke provider waarvoor Entity Enricher geen ingebouwde client heeft.
  3. Voeg de sleutel van de gateway toe als Organisatiesleutel voor die provider (API Keys → AI Provider Keys), zodat facturering en rotatie per organisatie plaatsvinden.
  4. Voeg de modellen toe die de gateway aanbiedt. De model-identifier wordt letterlijk verzonden, dus die moet exact overeenkomen met wat de gateway verwacht.

Goed om te weten

  • Ingebouwde providers verbergen het endpoint-veld. Anthropic, OpenAI, Mistral en de andere herkende providers kennen hun endpoint al, dus er valt niets in te stellen. Als een aangepaste provider later ingebouwd wordt, blijft het opgeslagen endpoint zichtbaar zodat je het kunt wissen.
  • Alleen publieke HTTPS. Endpoints moeten publieke https://-URL's zijn. Loopback- en privébereiken (localhost, 10.x, 192.168.x) worden geweigerd om SSRF te voorkomen — een zelf gehoste server moet bereikbaar zijn via internet. Gebruik voor een lokale Ollama in plaats daarvan de speciale Ollama-tunnel.
  • OpenAI-compatibel wire-formaat. Aanroepen naar een aangepaste provider verlopen via de OpenAI-compatibele API, dus het endpoint moet het OpenAI-/v1-protocol spreken (chat completions, /models).
  • Verbinding testen test {endpoint}/models om de sleutel en de basis-URL te verifiëren voordat je een enrichment uitvoert.

Snelheidsbudgetten en gelijktijdigheid (per sleutel)

Elke aanroep met een API-sleutel wordt afgestemd op het budget dat de provider die sleutel toekent — verzoeken en tokens per minuut, per model — zodat een fan-out nooit tegen 429-fouten aanloopt. Het budget wordt niet ingetypt: het wordt uitgelezen uit de response-headers van de provider zelf, aangeleerd na een afwijzing wanneer de provider niets vermeldt, of, als laatste redmiddel, door een eigenaar ingevoerd.

  • Uitgelezen bij de provider. Mistral, OpenAI, Azure, Groq, xAI, Anthropic en Cohere vermelden de limieten van de sleutel bij elke respons; de eerste aanroep naar een model leert ze en de aanroepen daarna respecteren ze.
  • Aangeleerd als de provider niets meldt. Google, DeepSeek, Moonshot, Z.AI, Together en Alibaba melden niets: bij een afwijzing wordt een budget aangeleerd van 80% van wat er in de laatste minuut is verstuurd, dat daarna langzaam weer groeit. Eigenaren kunnen ook zelf een regel invoeren op de pagina API-sleutels.
  • Begrensd per sleutel en model. Elke organisatiesleutel en de gedeelde globale sleutel heeft eigen budgetten, per model — bij Mistral kan één sleutel op het ene model 15 verzoeken per minuut toestaan en op het andere 1000.
  • Gelijktijdigheid volgt daaruit. Het aantal lopende aanroepen wordt afgeleid uit dat budget en de gemeten latency. De instelling Max. gelijktijdige aanroepen per sleutel van de provider is alleen bedoeld voor targets die nooit met 429 antwoorden maar vastlopen op parallelle aanroepen, zoals een laptop waarop Ollama draait.
  • Zichtbaar per sleutel. De actie Snelheidslimieten op een sleutel toont de regels, waar elke regel vandaan komt en het actuele verbruik van de huidige minuut. Een capability-probe legt de door de provider opgegeven limieten ook vast in de kolommen TPM en RPM van de tabel Modellen.

Dit staat los van de limiet max gelijktijdige jobs van je abonnement, die bepaalt hoeveel enrichment-jobs je hele organization tegelijk uitvoert over alle providers heen.

Modelmogelijkheden

Elk model houdt zijn mogelijkheden bij, die als pictogrammen worden getoond in de modelkiezer:

MogelijkheidBeschrijving
VisionKan afbeeldingen en visuele invoer verwerken
Tool-aanroepenOndersteunt function calling / tool use
Audio-invoerKan audio-invoer verwerken
PDF-invoerKan PDF-documenten verwerken
PromptcachingOndersteunt prompt-caching voor kostenreductie
RedenerenUitgebreid denken / chain-of-thought-mogelijkheden
EmbeddingsZet tekst om in een vector in plaats van te antwoorden — waarmee semantische ID's worden opgelost. Embeddingmodellen vormen een eigen familie, met hun eigen vectorgrootte, en verschijnen nooit in een verrijkingskiezer

Het platform het model laten kiezen

Een model benoemen is optioneel. Enrichment, schemageneratie en samplegeneratie accepteren allemaal auto — en behandelen een weggelaten model als auto — dat op de server wordt bepaald, per taak, op het moment dat de job start. De run vermeldt welk model is gekozen, dus automatisch betekent nooit ondoorzichtig.

1. De vastgezette standaard van je organisatie

Eigenaren kunnen per taak een voorkeursmodel vastzetten onder Instellingen → Organisatie → Modelselectie. Als er een is ingesteld voor de betreffende taak, wint die.

2. Anders het best gemeten model

Zonder vastgezet model valt de keuze op het model met de beste gemengde score uit je scorebron-benchmarks — je eigen metingen van kwaliteit, snelheid en kosten op je eigen schema's. Is er helemaal geen scorebron, dan wordt het verzoek geweigerd in plaats van gegokt.

3. Beperkt tot wat de taak nodig heeft

Zoeken op internet inschakelen, of een document bijvoegen dat ongewijzigd verstuurd moet worden, beperkt de kandidaten tot modellen die dat ook echt kunnen — en komt er geen enkele in aanmerking, dan krijg je een expliciete foutmelding in plaats van een stille downgrade.

  1. 1Kwaliteit, snelheid en kosten, gescoord met je eigen benchmarks
  2. 2Laat het op Auto staan, of leg één model vast voor deze taak
  3. 3Elke taak toont waar Auto op dit moment op uitkomt, en de bijbehorende score
De gewichten worden per taak ingesteld, zodat schemageneratie kan sturen op kwaliteit terwijl verrijking op kosten leunt. Een model met streepjes in plaats van scores is hier nooit gemeten, en Auto kiest het nooit.

Een model kan ook voor één taak worden geblokkeerd zonder gedeactiveerd te worden: een model dat goed verrijkt maar slechte schema's genereert, kun je alleen verbergen in de keuzelijsten voor schema- en voorbeeldgeneratie, hetzij voor je organisatie, hetzij globaal door een beheerder. Overal elders blijft het volledig beschikbaar — een zachter instrument dan de deactivering hieronder.

Automatische prijssynchronisatie

Systeembeheerder

Houd modelprijzen up-to-date door te synchroniseren vanuit externe registers. Het synchronisatieproces detecteert automatisch nieuwe modellen, prijswijzigingen en verwijderde modellen.

LiteLLM-register

De standaardprijsbron. Haalt gegevens op uit LiteLLM's door de community onderhouden register op GitHub met echte API-modelnamen, prijzen, contextlengtes en mogelijkheden.

Dekt ~30 providers. Bevat geen weergavenamen, benchmarks of generatiesnelheid.

PricePerToken

Een alternatieve bron van pricepertoken.com. Bevat weergavenamen, benchmarks (coderings- en wiskundescores) en generatiesnelheid (tokens per seconde).

Dekt ~20 providers. Biedt rijkere metadata dan LiteLLM.

Z.AI

Een officiële geverifieerde catalogus van GLM-model-identifiers, met prijzen die rechtstreeks uit de Z.AI-documentatie zijn overgenomen en hiaten in mogelijkheden die daar zijn onderzocht.

Vervangt Z.AI-vermeldingen die eerder uit LiteLLM en PricePerToken zijn geïmporteerd.

Synchronisatieproces

  1. Dry-run-voorbeeld — Zie wat er verandert voordat je het toepast. Bekijk nieuwe modellen, prijsupdates en deactiveringen.
  2. Bronspecifieke matching — Elke bron beïnvloedt alleen modellen van die bron. Handmatige modellen worden nooit aangeraakt.
  3. Stabiele sync-sleutels — Modellen worden gematcht op een stabiele identifier, niet op naam. Je kunt modellen hernoemen zonder de synchronisatie te breken.
  4. Transactioneel toepassen — Alle wijzigingen worden in één databasetransactie toegepast voor consistentie.
  5. Automatisch aanmaken van providers — Als een gesynchroniseerd model bij een onbekende provider hoort, wordt de provider automatisch aangemaakt.

Model-gezondheidscontroles

Valideer proactief of modellen bereikbaar zijn door een minimale health check-prompt uit te voeren. Zo worden defecte modellen opgespoord voordat gebruikers fouten tegenkomen tijdens verrijking.

GeslaagdModel reageert succesvol. Als het eerder automatisch werd gedeactiveerd, wordt het opnieuw geactiveerd.
Niet gevondenModel geeft een 'niet gevonden'-fout terug. Het wordt automatisch gedeactiveerd om toekomstige fouten te voorkomen.
Overige foutAuthenticatiefouten, time-outs of rate limits worden gerapporteerd, maar leiden niet tot deactivering.

Statuscontroles kunnen worden uitgevoerd op alle modellen, de modellen van een specifieke provider of een enkel model. Resultaten worden in realtime gestreamd via SSE met een voortgangsbalk die het aantal geslaagde/mislukte controles toont.

Automatische deactivering

Wanneer een verrijkingsaanroep mislukt met een “model niet gevonden”-fout, wordt het model automatisch gedeactiveerd om herhaalde fouten te voorkomen. Dit gebeurt in realtime tijdens normale verrijkingsbewerkingen.

Reden voor deactiveringIngesteld doorAutomatisch heractiveerd?
Model niet gevondenVerrijkingsfouten, health checks, of een mogelijkhedentest die geen enkele route beantwoordtJa (via prijssynchronisatie of validatie)
Geen gestructureerde uitvoerMogelijkhedentest: noch het tool-kanaal noch het native kanaal op enige bereikbare routeJa, alleen door een latere capability-probe
Synchronisatie verwijderdPrijssynchronisatie (model verdwenen)Ja (als het model opnieuw in het register verschijnt)
HandmatigBeheerdersschakelaar in de UINee (alleen handmatige reactivering)

Breng je eigen sleutel mee (BYOK)

Organisaties kunnen hun eigen API-sleutels voor LLM-providers configureren voor onafhankelijke facturering en gebruiksregistratie. Het systeem gebruikt een sleutelresolutie in twee niveaus met LRU-selectie:

1e
Sleutelpool organisatie

Sleutels per organisatie geconfigureerd op de pagina API Keys. Ondersteunt meerdere sleutels per provider met LRU-rotatie. Versleuteld met Fernet.

2e
Globale sleutelpool

Platformbrede sleutels beheerd door beheerders. Gedeeld over alle organizations. Ondersteunt ook meerdere sleutels per provider met LRU-rotatie.

Bij elke verrijking wordt vastgelegd welke sleutel is gebruikt, zodat je de kosten per sleutel kunt volgen. Sleutels ondersteunen health checks en gebruikstellers. Binnen een pool wordt de ingeschakelde sleutel met de oudste tijdstempel van laatst gebruikt als volgende gekozen; een sleutel verlaat de rotatie alleen als je hem handmatig uitschakelt, dus een providerfout haalt nooit stilzwijgend een sleutel uit dienst. Lees in de handleiding API Keys hoe je sleutels beheert.

Importeren & Exporteren

Exporteer je volledige provider- en modelconfiguratie als JSON voor back-up of overdracht naar een andere instantie. Importeren is altijd een upsert: bestaande providers en modellen worden op naam gematcht en ter plekke bijgewerkt, terwijl nieuwe worden toegevoegd — er wordt niets verwijderd.

De export bevat providerinstellingen, modelconfiguraties, prijzen, mogelijkheden en de canonieke modelspecificaties — maar nooit API-sleutels, die apart worden opgeslagen. Configureer API-sleutels na het importeren apart. Systeembeheerders maken een back-up van de volledige globale catalogus; organisatie-eigenaren exporteren en importeren alleen de providers en modellen van hun eigen organisatie — de gedeelde globale catalogus kan niet via import worden aangemaakt of bewerkt.

Openbare modelcatalogus

De modellenpagina toont de wereldwijde catalogus aan iedereen: leveranciersprijzen, gemeten mogelijkheden en de scores die elk model behaalde op de benchmarkscenario's die als globale scorebronnen zijn gepubliceerd. De pagina leest twee statische JSON-bestanden die door de nachtelijke modelvernieuwing worden herschreven en die je kunt downloaden en hergebruiken. Een model dat de provider niet langer aanbiedt (gedeactiveerd als “model not found”) wordt weggelaten; elk ander model uit de catalogus staat in de lijst.

Bestanden

  • /data/models.json — de tabel: één vermelding per provider × model, met opzoektabellen voor providers, scenario's en specs.
  • /data/benchmarks.json — elk openbaar benchmarkresultaat, gegroepeerd per modelsleutel.

Beide worden geleverd met een ETag en een openbare cache van één uur, gzip-gecodeerd als de client dat accepteert. Het veld version wordt opgehoogd bij elke wijziging waarop een consument zich moet aanpassen.

Velden van models.json

generated_at, counts, default_weightsWanneer het bestand is geschreven, hoeveel modellen, providers en scenario's het bevat, en de verhouding kwaliteit / snelheid / kosten (in procenten) achter elke totaalscore.
providers[], scenarios[], specs{}Opzoektabellen: modellen verwijzen via index naar een provider en de scenario's; specs zijn de openbare benchmarkscores van de weights (intelligence, coding, math en de rest onder extra), gekoppeld aan de canonieke sleutel zodat resellers van hetzelfde model ze delen.
models[].key, model, display_name, canonical_keyDe samengestelde sleutel die de API accepteert (provider::model), de ruwe model-id, het label en de provideroverstijgende identiteit.
models[].pricingAdviesprijzen van de leverancier in USD per miljoen tokens: input, output, cache_read, cache_write, cache_write_1h, reasoning_output, plus web_search_per_query met de bijbehorende eenheid. Vóór eventuele abonnementscommissie.
models[].capabilities[]De vlaggen die gelden: vision, pdf_input, audio_input, audio_output, video_input, tool_calls, tool_choice, response_schema, strict_structured_output, reasoning, reasoning_effort, web_search, prompt_caching, embeddings, requires_streaming. Een ontbrekende vlag is false of niet gemeten.
models[].context_length, max_input_tokens, max_output_tokens, deprecation_date, latencyLimieten, de uitfaseringsdatum van de leverancier indien aangekondigd, en de opgehaalde latentiecijfers (tokens per seconde, tijd tot eerste token).
models[].enrichment_capable, disabled_tasks[]Of het model überhaupt een kanaal voor gestructureerde uitvoer heeft, en de taken waarvoor de app het nooit aanbiedt (classificatie en arbitrage vereisen tool calls; schema- en voorbeeldgeneratie volgen de schemageneratie-gate).
models[].scores{task}Per taaktype (enrichment, schema_generation, sample_generation): de gemiddelde kwaliteit, snelheid en kosten over de openbare scenario's van die taak, het totaal volgens de standaardgewichten, en de scenario-indexen. Snelheid en kosten zijn relatief ten opzichte van de andere modellen op hetzelfde scenario.

Hoe de scores voor kwaliteit, snelheid en kosten worden berekend, lees je in Benchmark Scoring.

Volgende stappen