NVIDIA NIM Repository Layout

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide

This topic describes the NIM remote repositories layout.

NIM Docker Repository Layout

The following is the NIM Repository Layout.

<repository-name>
   ├── .jfrog                         
   │   ├── caller-info.json             
   │   └── model-mapping.json           
   ├── models                      
   │   ├── org                     
   │   │   ├── nim                    
   │   │   │   ├── team                
   │   │   │   │   ├── meta            
   │   │   │   │   │   ├── <model_name>
   │   │   │   │   │   │   ├── <model_version>
   │   │   │   │   │   │   │   ├── .jfrog
   │   │   │   │   │   │   │   │   ├── checksums.blake3    
   │   │   │   │   │   │   │   │   ├── config.json          
   │   │   │   │   │   │   │   │   ├── generation_config.json
  • <repository-name>: The root folder of your Docker remote repository.

  • .jfrog: Contains JFrog internal configuration files for integration.

  • caller-info.json: JSON metadata typically includes information about API callers or services interacting with the repository.

  • model-mapping.json: A file that maps various models to their paths or specifications.

  • models: The main directory for machine learning models.

  • org: A directory that encapsulates organizational structure.

  • nim: Indicates a specific technology or model framework.

  • team: Represents a specific team working within the organizational folder.

  • meta: Contains metadata and model records.

  • <model_name>: Each model is stored in its directory.

  • <model_version>: Different versions of the model (versioning is crucial for deployment).

  • .jfrog: Contains files specific to model configuration.

  • checksums.blake3: A file with checksum values for integrity verification of the model files.

  • config.json: Contains model-specific configurations.

  • generation_config.json: Configuration for generation-specific settings.

NIM Remote Repository Layout

<repository_cache>/
├── .jfrog/
│   └── models/
│       └── <org_name>/
│           └── <model_name>/
│               └── <model_version>/
│                   └── model_urls_mapping.json
└── models/
    └── <org_name>/
        └── <model_name>/
            └── <model_version>/
                ├── .jfrog_nim_model_info.json
                └── model/
                    ├── checksums.blake3
                    ├── config.json
                    ├── generation_config.json
                    ├── LICENSE.txt
                    ├── model-<shard_num>-of-<total_shards>.safetensors
                    ├── model.safetensors.index.json
                    ├── NOTICE.txt
                    ├── special_tokens_map.json
                    ├── tokenizer.json
                    ├── tokenizer_config.json
                    └── tool_use_config.json
  • <repository_cache>: The top-level name of the repository where all models are stored. This often reflects the purpose or organization managing the models.

  • .jfrog: A directory used by the Artifactory client to store caching metadata. This helps speed up subsequent downloads by mapping requests to existing files.

  • <models>: A directory that contains all the models.

  • <org_name>: The organization or namespace publishing the model.

  • <model_name> : The name of the specific model (for example, image_classifier).

  • <model_version>: Version of the model, usually following semantic versioning (for example, v1.0.0).

  • _.jfrog_nim_model_info.json: A metadata file in JSON format that contains information about the model, such as its name, version, description, authorship, and any dependencies or requirements for the model.

  • <model>: A directory that contains the actual model files necessary for deployment or inference.

Key File Explanations

These are the files typically found within a model version's directory.

  • .jfrog_nim_model_info.json: A JSON file containing metadata specific to the NIM container, such as its origin and properties.

  • checksums.blake3: A file containing cryptographic hashes of all other files in the model/ directory. This is used to verify the integrity of the downloaded files to ensure they are not corrupted

  • config.json: The main configuration file for the model's architecture. It defines parameters like the number of layers, hidden size, and activation functions.

  • generation_config.json: Contains default parameters for text generation.

  • LICENSE.txt / NOTICE.txt: Text files containing the software license and other important legal notices for the model.

  • model-<shard_num>of-<total_shards>.safetensors: The core model weights. Large models are often split into multiple smaller files called shards for easier downloading and memory management. .safetensors is a secure and fast format for storing tensors.

  • model.safetensors.index.json: A crucial map file that tells the loading script how the different model weight shards fit together to reconstruct the full model.

  • special_tokens_map.json: Defines special tokens used by the model, such as [CLS], [SEP], and [PAD], mapping them to their string representations.

  • tokenizer.json: The primary file containing the trained tokenizer, including its vocabulary, merges, and rules needed to convert text to tokens.

  • tokenizer_config.json: The configuration file for the tokenizer, specifying details like tokenization method and settings for special tokens.

  • tool_use_config.json: A configuration file that defines how the model can interact with external tools or APIs, a key feature for function-calling capabilities.