Skip to main content

Module models

Module models 

Source
Expand description

Where the weights come from.

A published crate cannot carry its models. crates.io caps a package at 10 MB and the full model set is ~388 MB, so the crate ships what genuinely fits and resolves the rest at runtime.

The split is not arbitrary, and one half of it is a licensing constraint rather than a size one:

whatsizehow it arrives
trained heads and the reasoning core~1.5 MBcompiled into the crate
relation head~2 MBcompiled into the crate
the bert-tiny embedding table15.2 MBdownloaded — too large to package
our tagger / SPLADE / LoRA weights100s of MBdownloaded from our own model repo
third-party models (needle3, model2vec, PP-OCR)100s of MBfetched from their repos, never re-hosted

That last row is the important one. We trained the tagger, the facet heads and the LoRA, so we may redistribute them. needle3 belongs to Cactus, bert-tiny to Google, and the others to their authors — re-hosting someone else’s weights under our name would be wrong regardless of whether it is convenient, so those are fetched from the repository that published them and the licence is recorded here.

Nothing downloads without being asked: resolve searches locally first and returns ModelError::NotFound with the exact fetch instruction if it comes up empty.

Modules§

bundled
The trained parameters small enough to travel with the crate.

Structs§

Artifact
One resolvable set of weights.

Enums§

ModelError
Why a set of weights could not be produced.
Source
Where a set of weights comes from, and what we are permitted to do with it.

Constants§

ARTIFACTS
Every artifact the engine knows how to find.

Functions§

artifact
Look up an artifact by name.
fetch_hint
The instruction that would make a missing artifact present.
resolve
Find the directory holding an artifact, without downloading anything.
search_roots
Directories searched for models, in order.
status
A short report of what is present and what is missing — useful in a CLI or a bug report.