Skip to content

model.yaml reference

Every field of the model manifest, accepted values, and defaults.

Every model published to Dreadnode is a directory with a model.yaml manifest at the root. This page enumerates every field accepted by that manifest.

For authoring guidance, see Publishing a model.

FieldTypeRequiredDefaultNotes
namestringNodirectory nameRegistry name. Override with --name on dn model push.
versionstringNo0.1.0Fixed semver (X.Y.Z). Pre-release and build suffixes are rejected.
summarystringNononeOne-line description shown in list output and the Hub.
descriptionstringNononeLonger description. Alias for summary when summary is missing.
frameworkstringNoinferred from artifactsOne of safetensors, pytorch, onnx, or a custom string.
taskstringNononeFree-form ML task label (e.g. text-generation, sequence-classification).
architecturestringNononeModel architecture name (e.g. LlamaForCausalLM).
base_modelstringNononeReference to the parent model. Use org/name@version for LoRAs and fine-tunes published on Dreadnode.
dataset_refslist of stringsNononeTraining datasets used, as pinned references (org/name@version).
pretty_namestringNononeDisplay name for the Hub. Defaults to name.
licensestringNononeSPDX identifier (e.g. apache-2.0, mit) or free-form label.
languagelist of stringsNononeISO 639-1 codes.
tagslist of stringsNononeSearchable tags shown on the Hub.
task_categorieslist of stringsNononeBroad task taxonomy used for Hub filtering.
size_categorystringNononeSize bucket shown in the Hub (e.g. <1B, 1-7B, >70B).
fileslist of stringsNoevery file except model.yamlExplicit artifact paths relative to the directory root.

Fields not accepted from model.yamlmetrics and aliases — are set after publishing via dn model metrics and dn model alias.

When framework is missing, the CLI scans artifact extensions in priority order and stops at the first match:

PriorityExtension presentInferred framework
1Any .safetensorssafetensors
2Any .onnxonnx
3Any of .pt, .pth, .binpytorch
4None of the abovesafetensors

A directory that contains both .onnx and .pt resolves to onnx. A directory that contains both .safetensors and a PyTorch checkpoint resolves to safetensors. Set framework explicitly in model.yaml when the defaults pick the wrong one.

One of two paths decides which files enter the manifest:

Manifest hasBehavior
files:Each entry is a path relative to the directory root. Paths must stay inside it.
OmittedEvery file under the directory is included except model.yaml, .git, __pycache__, and .DS_Store.

Tokenizer files (tokenizer.json, tokenizer_config.json, special_tokens_map.json), config files (config.json), and additional assets are preserved as-is under their relative paths.

Versions use fixed semver: three integers joined by dots. 1.0.0 is valid; 1.0, 1.0.0-rc1, and 1.0.0+build are not. dn model push rejects invalid versions before uploading.

name: support-assistant
version: 1.2.0
summary: 7B assistant fine-tuned on support tickets.
framework: safetensors
architecture: LlamaForCausalLM
task: text-generation
base_model: meta-llama/Llama-3.1-8B-Instruct
dataset_refs:
license: apache-2.0
language: [en]
tags: [assistant, support, sft]
task_categories: [conversational]
size_category: 1-7B
name: support-assistant-lora
version: 0.3.0
summary: LoRA adapter for Llama-3.1-8B-Instruct, rank 16.
framework: safetensors
base_model: meta-llama/Llama-3.1-8B-Instruct
dataset_refs:
files:
- adapter_config.json
- adapter_model.safetensors
- tokenizer.json
- tokenizer_config.json
- special_tokens_map.json