Skip to main content

Device Models

The Models tab of a device shows what model weights are already sitting on that machine's disk — and lets you launch any of them without downloading anything first.

Cordatus does not go hunting across the filesystem. It looks only where you tell it to, so the tab has two halves: Storage Paths on the left, where you register the directories, and Downloaded Models on the right, where everything found under them is listed.

Devices → your device → Models.

Video placeholder

Fleet-Management/device-models.mp4 — adding a HuggingFace cache path, the models appearing in the table, switching to Ollama and NIM, and deploying one straight from the row.


Storage Paths

The left panel holds the paths, grouped by source: HuggingFace, Ollama and NIM. Pick a source with the segmented selector, then use the + button in the panel header to add a path.

Paths are stored per device. Registering ~/.cache/huggingface on one machine says nothing about any other.

Adding a path

  1. Press + (Add path).
  2. Browse the device's filesystem and choose the directory.
  3. Cordatus validates it on the device and saves it. The list is refreshed straight away.

Validation is about the path itself, not its contents:

MessageMeaning
✓ Valid pathThe directory exists and can be read.
Selected path does not existNothing is there on the device.
Selected path is not a directoryYou picked a file.
This path is already addedDuplicate — the existing entry stays.

A valid path that simply holds no models is not an error. It is saved, and the table stays empty until something appears under it.

Which directory to give

SourceWhat to registerWhat is scanned
HuggingFaceThe HuggingFace cache root, e.g. ~/.cache/huggingface (or the hub folder inside it directly)Directories named models--org--name, both in the path itself and in a hub subfolder. The name is turned back into org/name.
OllamaThe Ollama root, e.g. ~/.ollama — the folder that contains modelsmodels/manifests/registry.ollama.ai/library. Every tag of every model becomes a row, named model:tag, with its size read from the manifest layers.
NVIDIA NIMThe NIM cache rootDirectories named models--…, both in the path itself and under ngc/hub.

You can register more than one path per source — a second disk, a second user's cache. All of them are scanned and the results merged; a model found twice is listed once.

Removing a path

Press the × next to the path and confirm. The dialog is explicit about what happens:

note

This will only remove the path from settings. Your model files will not be deleted.


Downloaded Models

The right panel lists everything found under the registered paths for the selected source. Switch source with the segmented selector in its header; rescans the device.

ColumnHuggingFaceOllamaNVIDIA NIM
Model Nameorg/namemodel:tagorg/name
Source PathWhich registered path it was found under — this is how you tell two copies apart
SizeOn-disk size of the folderSum of the manifest layersOn-disk size
Last Modified
QuantizationRead from the tag (Q4_K_M, FP16, …) when it is in the name
Version
Deploy

The footer counts the rows.

The Custom badge

A model in the HuggingFace path that does not follow the models--… cache naming is still picked up, as long as its folder holds real weights — a config.json, or .safetensors, .bin, .gguf or .pth files. Those rows carry a Custom badge and are named after their folder.

This is how a model you cloned or copied by hand shows up next to the ones the cache downloaded.

note

Custom detection applies to the HuggingFace path only. Ollama and NIM are read through their own directory structures.

Empty states

StateWhat it means
No paths configuredAdd a {type} path to start listing models.Nothing registered yet for this source.
No HuggingFace path configured (and the Ollama / NIM equivalents)The table has nothing to read; add a path on the left.
No HuggingFace models foundThe paths are registered and readable, but nothing matched under them.

Deploy a model from the table

Deploy takes the model on that row into the launch flow with its path already filled in — nothing is downloaded, the container reads the weights straight off the disk.

  • Sources are matched to engines automatically: HuggingFace models to vLLM, TensorRT-LLM, SGLang and Dynamo; Ollama models to Ollama; NIM models to NIM.
  • If only one engine matches, Deploy goes straight there.
  • If several do, the button opens a menu and you choose the engine.
  • You land on that engine's launch page with the model preselected; carry on as usual — device, version, compute, access, overrides, start.
MessageMeaning
No engine available for {source}No engine in your account handles this source.
No container found for engine "X"The engine has no container image registered.

How this relates to LLM Models

Two different things, easy to confuse:

Devices → device → ModelsLLM Launcher → LLM Models → User Models
ScopeOne device, read live from its diskYour whole account
Source of truthThe filesystem, right nowThe models you registered with Cordatus
What it is forSeeing what is already there and launching itA catalogue with tags, metadata and engines, usable in every launch flow

They meet in one place: Explore Models on Your Devices on the User Models tab scans a device using exactly these registered paths and imports what it finds into your library. So a path registered here also makes that scan work. See User Models.

caution

Model transfer needs a path on the destination device too. Moving a model to a machine with no registered path for that source fails with "{type} model path is not configured on the destination device."


Troubleshooting

SymptomCause and fix
The tab is empty and nothing loadsThe device must be Online — paths and models are read from the device itself.
A path was added but the table stays emptyThe directory is valid but nothing under it matches the layout for that source. Check the table in Which directory to give — for Ollama it is the folder that contains models, not the models folder.
A model is on disk but not listedUnder the HuggingFace path it needs either the models--… cache naming or recognisable weight files in its folder. Otherwise register it by hand from LLM Models → User Models → Add a model manually.
Sizes look wrong for OllamaOllama sizes come from the manifest layers, not from a directory walk, so shared layers are counted per tag.
The same model appears twiceIt exists under two registered paths. The Source Path column tells you which is which.
Deploy is greyed outNo engine is registered for that source in your account.