123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- // Package manifest provides documentation for the Ollama manifest format.
- // This package contains no code.
- //
- // # Manifests
- //
- // A manifest is a JSON object that describes a model. The JSON object has a
- // single field "layers" which is a list of layers that make up the model. Each
- // layer has the following fields:
- //
- // A layer is a single, logical unit of a model. Layers are stored in the cache
- // as files with the name of the digest of the layer. Layers are pushed and
- // pulled from the registry as blobs.
- //
- // A layer is represented as a JSON object with the following fields:
- //
- // - "digest": The digest of the layer.
- // - "mediaType": The media type of the layer.
- // - "size": The size of the layer in bytes.
- //
- // Layers are typically stored in a blob store, such as a registry, and are
- // referenced by their digest. This package does not define how layers are
- // stored or retrieved.
- //
- // # Configuration Layer
- //
- // The configuration of a model is represented as a layer with the media type:
- //
- // application/vnd.ollama.image.config; type=<type>
- //
- // The "type" parameter in the media type specifies the format of the
- // configuration (e.g., "safetensor" or "gguf").
- //
- // There may be only one configuration layer in a model.
- //
- // # Template Layer
- //
- // The model template is a layer with the media type:
- //
- // application/vnd.ollama.image.template; [name=<name>]
- //
- // The "name" parameter in the media type specifies the name of the template as
- // for lookup at runtime. The name is optional and may be omitted. If omitted,
- // the template is the default template for the model.
- //
- // # Tensor Layers
- //
- // The tensors of a model are represented as layers with the media type:
- //
- // application/vnd.ollama.image.tensor; name=<name>; dtype=<dtype>; shape=<shape>
- //
- // The "name" parameter in the media type specifies the name of the tensor as
- // defined in the model's configuration and are bound only by the rules for
- // names as defined in the configuration format, as represented by the
- // configuration's "type".
- //
- // The "dtype" parameter in the media type specifies the data type of the tensor
- // as a string.
- //
- // TODO: Define more specifically how to represent data types as strings.
- //
- // The "shape" parameter in the media type specifies the shape of the tensor as
- // a comma-separated list of integers; one per dimension.
- //
- // # Tokenization Layers
- //
- // The tokenization of a model is represented as a layer with the media type:
- //
- // application/vnd.ollama.image.tokenizer
- //
- // The configuration of the tokenizer is represented as a layer with the media type:
- //
- // application/vnd.ollama.image.tokenizer.config
- //
- // # Miscellaneous Layers
- //
- // These extra layer mime types are reserved:
- //
- // application/vnd.ollama.image.license
- //
- // This layer contains one of the many licenses for the model in plain text.
- //
- // # Example Manifest
- //
- // The following is an example manifest containing a configuration, a model
- // template, and two tensors (digests shortened for brevity):
- //
- // {
- // "layers": [{
- // "digest": "sha256:a...",
- // "mediaType": "application/vnd.ollama.image.config; type=safetensors",
- // "size": 1234
- // },{
- // "digest": "sha256:b...",
- // "mediaType": "application/vnd.ollama.image.template",
- // "size": 5678
- // },{
- // "digest": "sha256:c...",
- // "mediaType": "application/vnd.ollama.image.tensor; name=input; dtype=F32; shape=1,2,3",
- // "size": 9012
- // },{
- // "digest": "sha256:d...",
- // "mediaType": "application/vnd.ollama.image.tensor; name=output; dtype=I32; shape=4,5,6",
- // "size": 3456
- // }]
- // }
- //
- // # Legacy Media Types
- //
- // The appliaction/vnd.ollama.image.model media type is deprecated, but will
- // remain supported for backwards compatibility, for some undefined amount of
- // time. New models should use the media types defined above.
- //
- // # Reserved media types
- //
- // The media type prefix "application/vnd.ollama.image." is reserved for
- // defining new media types for layers known to Ollama. Currently, all other
- // prefixes are ignored by official Ollama registry clients.
- package manifest
|