Een gegenereerde titelkaart met als kop 'Een beslissingsmodel dat je lokaal kunt draaien', met als ondertitel 'Liquid AI d1-3B arriveert in Ollama's bibliotheek', met chips met de tekst 3B parameters, alleen Q8_0, 32K context, en een diagram van een toestand die bij één endpoint binnenkomt dat een waarschijnlijkheid in plaats van tekst retourneert, met onderaan 'Feiten volgens ollama.com/library/d1 en het Ollama-register, 15 oktober 2026; benchmarks door leverancier Liquid AI gerapporteerd.'
Engineering & Research

Liquid AI d1-3B landt op Ollama: een stil lokaal eindpunt voor een beslissingsmodel

Auteur

Rowan Sterling

Publicatiedatum

Nieuwste modellen · 20Bekijk alle modellen →
Benchmarks: Artificial Analysis · dagelijks bijgewerkt
Terug naar alle berichten

Er is een nieuwe d1 in de bibliotheek van Ollama, en het is geen chatmodel. De vermelding beschrijft het in één regel — "een 3B-beslissingsmodel van Liquid AI, gebouwd op LFM2.5-VL-3B" — en die ene zin bevat de twee feiten die er het meest toe doen. Liquid AI d1-3B, het kleine model dat Liquid AI bovenop Liquid AI LFM2.5-VL-3B en op 5 oktober 2026 als open gewichten uitbracht, is nu zo verpakt dat één pull het op je eigen machine zet; en het retourneert nog steeds gekalibreerde waarschijnlijkheden voor getypte vragen in plaats van gegenereerde tekst, precies zoals het onderliggende checkpoint doet. Als je een triage-, routerings-, moderatie- of gatingstap in een pipeline hebt, is dit de eerste keer dat die specifieke modelfamilie slechts één commando verwijderd is van draaien zonder API-sleutel, zonder prijs per aanroep en zonder dat er toestandstekst je hardware verlaat.

Het woord "quiet" doet hier echter echt werk, en het is de moeite waard om precies te zijn over welke helft van dit verhaal gedocumenteerd is en welke helft niet. De eigen blog van Liquid AI heeft Ollama nooit genoemd: de meest recente post van het lab, op 13 oktober 2026, behandelt een ander model in de LFM2.5-lijn, en de twee d1-posts — de vision-aankondiging van 5 oktober en de release "Open d1" van 7 oktober — beschrijven gewichten, een API en een benchmarkscore, geen lokale runtime. De bibliotheekpagina van Ollama voor d1 bevat evenmin een aankondiging, en de documentatie-index van de leverancier evenmin, die GGUF als beschikbaar markeert voor Liquid AI d1-3B en het audio-capabele broertje Liquid AI d1-omni-600M terwijl die llama.cpp, Ollama en MLX alleen als generieke deployment-opties noemt. Wat bestaat, is een gepubliceerd pakket, een registry-entry met een digest die je kunt verifiëren, een werkende readme, en een downloadteller die 10,4K aangaf toen dit op 15 oktober 2026 werd geschreven. Wat niet bestaat, is een zin van de leverancier die zegt: "Dit hebben wij gedaan."

A screenshot of the Ollama library page for d1, headed 'd1', described as a 3B decision model from Liquid AI built on LFM2.5-VL-3B, with 3 models, 3 tags, 3.7GB, a 32K context window, text and image input, and the tags latest, 3b and 3b-q8_0 listed beside a 10.4K download count and an 'Updated 2 hours ago' stamp.

Wat de listing daadwerkelijk bevat

Er worden drie tags vermeld — d1:latest, d1:3b en d1:3b-q8_0 — en alle drie verwijzen naar dezelfde manifest-digest, 8c2d9ddae441. Dat is het eerste dat je over de pagina moet begrijpen: de "3 modellen"-teller van de bibliotheek is een telling van tags, niet van checkpoints. Eén artefact, drie namen, 3,7 GB, een contextvenster van 32K, en tekst- en beeldinvoer. Als je hoopte een grootte of een kwantisatie te kunnen kiezen, valt er nog niets te kiezen.

Het register achter de pagina is informatiever dan de pagina. De config-blob van het pakket meldt een modelfamilie van lfm2, een modeltype van 2.7B, een bestandstype van Q8_0 en een minimale runtime van Ollama 0.40.4. Het wordt geleverd in twee gewichtslagen: een generatief model van 2.87 GB en een aparte projector van 856 MB. Die tweede laag is de vision-encoder, en de aanwezigheid ervan vertelt je dat de lokale build het multimodale pad behoudt in plaats van d1 tot tekst terug te brengen — het model kan nog steeds een foto naast een supportticket lezen en vragen over beide beantwoorden. De twee getallen op deze pagina die met elkaar in tegenspraak lijken — "3B" in de beschrijving en "2.7B" in het register — kun je het beste lezen als de stam en het geheel: de modelkaart van Liquid AI zet het checkpoint op 3.12B parameters, inclusief een vision-encoder van 400M parameters, en de taalstam is het kleinere getal. Die berekening is van ons, niet van de leverancier, en wordt geboden als uitleg, niet als specificatie.

Er staat nergens een kalenderdatum op de bibliotheekpagina. Er worden relatieve tijdstempels weergegeven — "Bijgewerkt 2 uur geleden" op het moment van vastleggen — en een downloadteller, wat betekent dat de dag waarop deze vermelding voor het eerst verscheen niet uit de vermelding zelf valt af te leiden. De gedateerde aanknopingspunten staan allemaal op Hugging Face en bij de leverancier: de repository met gewichten voor Liquid AI d1-3B is op 5 oktober 2026 aangemaakt, een bijbehorende GGUF-repository op 6 oktober, en Liquid AI publiceerde op 7 oktober het bericht over de release. Als je een datum wilt plakken op "wanneer werd dit lokaal uitvoerbaar", is het eerlijke antwoord vandaag dat het pakket bestaat en nu wordt opgehaald, en dat niemand buiten Ollama kan zeggen op welke ochtend het is verschenen.

Waarom een verpakkingsevenement een echt evenement is

Ollama opende op 29 september 2026 een categorie voor beslissingsmodellen, toen het de /v1/systemone-endpoint en een --ask CLI-flag uitbracht voor modellen die getypte vragen in één enkele forward pass beantwoorden. Nimble en Clef waren de eerste families die door die deur gingen. Wat het nieuwe d1-pakket toevoegt, is iets anders dan een nieuwe benchmarkrij: het neemt een model dat tot nu toe ofwel in een Python-omgeving met een meegeleverde modelklasse leefde, ofwel achter een gehost endpoint, en het maakt van lokale inferentie een commando.

Het contract is het waard om te herhalen, want het is niet wat de meeste lezers bedoelen met 'een model draaien'. Je geeft d1 een toestand — een string, een JSON-object, een array, of een string plus afbeeldingen — en een set benoemde vragen, en je krijgt antwoorden terug zonder dat er ook maar één token wordt gegenereerd. noul is een ja/nee-vraag die wordt beantwoord als één enkele kans tussen 0 en 1. choice retourneert het geselecteerde label, een betrouwbaarheid en een volledige kansverdeling over je opties. score plaatst de toestand op een geordende rubric van twee tot tien niveaus en retourneert het waarschijnlijkheidsgewogen niveau plus de kans van elk niveau. Eén toestand, tot 64 vragen, één doorgang over de invoer. Ollama's eigen voorbeeldantwoord voor een supportticket retourneert usage.output_tokens: 0, wat de zuiverste denkbare formulering van het ontwerp is.

Voor iedereen wiens pipeline al een beslissingsmodel via HTTP aanroept, verandert de lokale route drie dingen tegelijk: latentie, doordat het verzoek de machine niet meer verlaat; kosten, doordat er geen meter per aanroep is; en gegevensverwerking, doordat de tickettekst en de foto die je classificeert nooit het netwerk passeren. Als wat je verwerkt een klantbericht of een intern document is, is dat laatste meestal het enige argument dat hoeft te worden aangevoerd.

Het uitvoeren ervan, en de beperkingen die de documentatie eromheen stelt

Er zijn drie ondersteunde manieren om binnen te komen, en ze staan allemaal gedocumenteerd op de bibliotheekpagina. Het CLI-pad is ollama run d1 --ask "Is een terugbetaling aangevraagd?" met de status die via een bestand wordt doorgegeven, en --choice en --level flags voor de andere twee vraagtypen. Het HTTP-pad is een POST naar http://localhost:11434/v1/systemone met een model, een status, een optionele images-array en een questions-object. Het SDK-pad wijst de Python-client van TypeSafe naar localhost, waar de API-sleutel wordt genegeerd en elke placeholder-waarde werkt.

De limieten komen uit Ollama's endpointdocumentatie, niet van Liquid AI, en ze zijn strakker dan die van een generatief model: verzoeken moeten binnen 64 KiB passen zonder afbeeldingen en 32 MiB ermee, streaming wordt niet ondersteund, cloudgehoste modellen worden botweg geweigerd, en afbeeldingen moeten base64 PNG, JPEG of WebP zijn die in de request body worden meegestuurd — externe URL's worden geweigerd. Afbeeldingen worden gedeeld door elke vraag in een verzoek, dus een afbeelding die alleen de eerste reactie hoeft te overwegen, moet als een aparte aanroep worden verzonden. Invoer wordt nooit afgekapt, wat betekent dat een te grote state een fout is in plaats van een stilzwijgend afgekapte prompt.

A screenshot of Ollama's documentation page for decision models, breadcrumbed Docs / Capabilities / Decision models, explaining that these models answer typed questions in a single forward pass with no output tokens, with a CLI quickstart reading ollama run nimble --ask, a curl example posting a state and a questions object to http://localhost:11434/v1/systemone, definitions of the noul, choice and score question types, and a supported-model list naming Nimble, Tev1, Clef and Clef Flash with no mention of d1.

Twee documentatiedetails zijn het vermelden waard als onopgelost. Ollama's endpointreferentie beschrijft het keuzetype als het accepteren van 2 tot 255 optiesleutels, terwijl de capaciteitenpagina voor beslissingsmodellen 2 tot 26 zegt — een van de twee is verouderd, en het is niet duidelijk welke. En de capaciteitenpagina noemt de ondersteunde modellen Nimble, Tev1, Clef en Clef Flash, zonder d1 te vermelden, hoewel de readme van het d1-pakket zelf aangeeft dat het werkt via /v1/systemone en --ask. Het pakket vereist Ollama 0.40.4; de gedocumenteerde ondergrens voor het endpoint zelf is 0.35.0. Niets daarvan is een tegenstrijdigheid die je ervan weerhoudt het model op te halen, maar lees de versievereiste op het pakket in plaats van die in de capaciteitengids.

De nummers, en wie ze allemaal heeft geproduceerd.

Nu het deel dat de meeste voorzichtigheid verdient. Elk prestatiecijfer dat aan dit model wordt gekoppeld, is afkomstig van Liquid AI, en voor zover wij kunnen nagaan bestaat er geen onafhankelijke evaluatie van Liquid AI d1-3B. De door de leverancier gerapporteerde resultaten, herhaald op de Ollama-pagina en op de modelkaart, zijn de volgende:

• Beslissingsindex 0.2.1 — 48,57 voor d1-3B, tegenover 47,11 voor Decider 35B-A3B, wat Liquid omschrijft als de beste score voor een beslissingsmodel met minder dan 10B parameters. • Visie — een gemiddelde van 74,1 over elf openbare beeldbenchmarks, tegenover 73,9 voor de LFM2.5-VL-3B-basis waarop het is gebouwd. • Latentie — 8 ms per beslissing op een RTX 4090, 9 ms op een AMD MI325X en 30 ms op een Apple M5 Pro. • Doorvoer — 475 beslissingen per seconde op de 4090 en 1.106 op de MI325X wanneer vragen in batches worden gebundeld. • Ablatie — dezelfde vragenset zonder afbeeldingen beantwoord scoort 45,1, wat Liquids eigen maatstaf is voor hoeveel het visiepad bijdraagt.

De vision-rij is degene die de verwachtingen zou moeten temperen. Een verbetering van 0,2 punt ten opzichte van het basismodel op een reeks beeldbenchmarks valt binnen de ruis van de meeste benchmarkrapportage; wat de decision head je ook oplevert, het is geen materieel betere beeldencoder. De ablatierij is in de andere richting interessanter — een verschuiving van ongeveer 29 punten wanneer afbeeldingen worden toegevoegd — maar vergelijkt twee verschillende vragensets, niet twee versies van dezelfde. En de Decision Index is een instrument van een derde partij waarop Liquid zijn eigen inzendingen heeft gescoord in plaats van ze in te dienen voor openbare rangschikking, dus beschouw 48,57 als een leveranciersclaim op andermans meetlat. De snelheidscijfers zijn ook niet gecontroleerd: 8 ms op een 4090 is een plausibel getal voor een 3B-model dat één forward pass uitvoert, en het blijft zo dat niemand een run heeft gepubliceerd die niet zijn eigen run is.

A generated scoreboard card for Liquid AI d1-3B with six dimension rows: Parameters 3.12B total (3B per Ollama); Local package 3.7 GB, Q8_0 only; Context window 32K; Decision Index 0.2.1 48.57, self-scored; Image benchmark mean 74.1 vs 73.9 base; Latency 8 ms per decision (RTX 4090); footed 'All figures vendor-reported by Liquid AI; the Decision Index row was scored by the vendor, not publicly ranked.'

Waar OrcaRouter past, en waar niet

OrcaRouter serveert Liquid AI d1-3B niet. We hebben onze catalogus gecontroleerd voordat we dit schreven — 207 modellen, geen daarvan van Liquid AI, geen daarvan een beslissingsmodel — dus als je d1 via een API wilt aanroepen in plaats van vanaf je eigen hardware, is de gehoste route vandaag het eigen beslissingsendpoint van de leverancier op api.liquid.ai/decisions/v1/systemone, waar een betaald d1-tier afbeeldingen verwerkt en een gratis d1:free-tier alleen tekst doet, plus welke platforms van derden het ook oppikken. Niets in dit stuk mag worden opgevat als een bewering dat wij het hosten.

Wat wij doen grenst aan het probleem dat dit model oplost. De reden dat een beslissingsmodel bestaat, is dat pijplijnen een goedkope, deterministische manier nodig hebben om tussen opties te kiezen, en d1's eigen gedocumenteerde voorbeeld is een ticket dat naar een doeldteam wordt gerouteerd — wat een routeringsprobleem is dat een niveau onder het onze ligt. Wanneer die beslissing een aanroep naar een generatief model dat je huurt in plaats van zelf draait, bewaakt, dan is OrcaRouter één OpenAI-compatibele sleutel voor 200+ gehoste modellen tegen de listprijs van de provider, doorgegeven met 0% opslag, zodat een prijsverlaging van een leverancier je bereikt op de dag dat die ingaat in plaats van bij de volgende contractverlenging. En omdat de lokale helft van deze pijplijn de helft is die jij bezit, ligt het risico in de gehoste helft: automatische failover tussen providers houdt een getriageerd verzoek in leven wanneer het model waarnaar je het hebt gerouteerd uitvalt. Geen van beide is een reden om een 3B-beslissingsmodel te gebruiken. Het zijn redenen waarom het ding aan de andere kant van de beslissing geen single point of failure zou moeten zijn.

Wat zou dit van een verpakkingsnotitie in een verhaal veranderen?

Vijf dingen, waarvan elk op zich de lezing zou veranderen. Liquid AI die de port erkent, of de documentatie-index die Ollama toevoegt aan de deployment-rij die momenteel wordt gevuld met llama.cpp en MLX. Een tweede kwantisatie: Liquid's eigen GGUF-repository levert Q4_K_M, F16 en BF16 naast Q8_0, dus een kleinere lokale build is technisch beschikbaar, alleen niet via dit pakket. Een lokaal pad voor Liquid AI d1-omni-600M, het 587M-parameter zustermodel dat tot dertig seconden audio leest en dat de leverancier bestempelt als een vroege onderzoeksrelease — dat zou meer uitmaken dan de 3B voor on-device werk, en er is nog geen spoor van in welke bibliotheek dan ook. Een onafhankelijke Decision Index-rij, of een publieke leaderboard-vermelding, wat het enige ontbrekende stuk is in deze hele modelfamilie. En dat Ollama d1 toevoegt aan de pagina met beslissingscapaciteiten, wat een wijziging van één regel is die je zou vertellen dat de port gezegend is in plaats van toevallig.

Tot dan is de beslissing eenvoudig genoeg om op je eigen voorwaarden te nemen. Als je al een recente Ollama draait, is de pull één commando, is de download 3,7 GB, en het ding dat het vervangt is ofwel een gehoste aanroep die je liever niet met de tekst van een klant doet, ofwel een Python-omgeving die meer werk kost om te onderhouden dan het model waard is. Als je onafhankelijk bewijs van nauwkeurigheid nodig hebt voordat dit voor echte gebruikers komt te staan, dan bestaat dat bewijs nog niet voor enig d1-model, en geen enkele hoeveelheid lokale packaging creëert dat.

Het uitvoeren van de beslissingsstap op je eigen hardware is ook een goed moment om te kijken naar wat er in deze categorie al is misgegaan: de gedocumenteerde AI-incidenten en agentfouten met beslissingsmodellen zijn verzameld in het OrcaRouter AI Incident Archive, waar elke vermelding zijn eigen bronnen, ernst, betrouwbaarheidsgraad en betwist-markering bevat.