code: def upload_cli(
      service: str,
      repo_id: str,
      model_path: str,
      repo_type: str = "model",
      private: bool = False,
      commit_message: str = "Upload trained [Ludwig](https://ludwig.ai/latest/) model weights",
      commit_description: Optional[str] = None,
      dataset_file: Optional[str] = None,
      dataset_name: Optional[str] = None,
      **kwargs,
  ) -> None:
      """Create an empty repo on the HuggingFace Hub and upload trained model artifacts to that repo.
  
      Args:
          service (`str`):
              Name of the hosted model service to push the trained artifacts to.
              Currently, this only supports `hf_hub` and `predibase`.
          repo_id (`str`):
              A namespace (user or an organization) and a repo name separated
              by a `/`.
          model_path (`str`):
              The path of the saved model. This is the top level directory where
              the models weights as well as other associated training artifacts
              are saved.
          private (`bool`, *optional*, defaults to `False`):
              Whether the model repo should be private.
          repo_type (`str`, *optional*):
              Set to `"dataset"` or `"space"` if uploading to a dataset or
              space, `None` or `"model"` if uploading to a model. Default is
              `None`.
          commit_message (`str`, *optional*):
              The summary / title / first line of the generated commit. Defaults to:
              `f"Upload {path_in_repo} with huggingface_hub"`
          commit_description (`str` *optional*):
              The description of the generated commit
          dataset_file (`str`, *optional*):
              The path to the dataset file. Required if `service` is set to
              `"predibase"` for new model repos.
          dataset_name (`str`, *optional*):
              The name of the dataset. Used by the `service`
              `"predibase"`.
      """
      model_service = get_upload_registry().get(service, "hf_hub")
      hub = model_service()
      hub.upload(
          repo_id=repo_id,
          model_path=model_path,
          repo_type=repo_type,
          private=private,
          commit_message=commit_message,
          commit_description=commit_description,
          dataset_file=dataset_file,
          dataset_name=dataset_name,
      )
  
file_path: ludwig/ludwig/upload.py
imports: import argparse
  import logging
  import sys
  from typing import Optional
  from ludwig.utils.print_utils import get_logging_level_registry
  from ludwig.utils.upload_utils import HuggingFaceHub, Predibase
label_desc: Use image node_id 2 for calling a global function with example usage: upload_cli(service, repo_id, model_path, repo_type, private, commit_message, commit_description, dataset_file, dataset_name) without return types