janhq / cortex.cpp

Local AI API Platform
https://cortex.so
Apache License 2.0
2.07k stars 116 forks source link

feat: `cortex -h` should have commands categorized #1231

Closed dan-homebrew closed 1 month ago

dan-homebrew commented 1 month ago

Goal

Cortex.cpp CLI
Usage: cortex-nightly [OPTIONS] [SUBCOMMAND]

Options:
  -h,--help                   Print this help message and exit
  --verbose                   Verbose logging
  -v                          Cortex version

Common Commands:
  pull                        Download model from Huggingface or Cortex repo  
  run                         Shortcut to start a model and chat
  chat                        Send a chat request to a model

Inference:
  embeddings                  Creates an embedding vector representing the input text

Models:
  models                      Subcommands for managing models
  models pull

Engines:
  engines                       Get cortex engines
  engines install 
  engines uninstall

System: 
  start                        Starts Cortex
  stop                        Stop Cortex
  update                      Update cortex to the latest version
  ps                          Show running models and their status

Resource

Docker is a good example of how commands can be categorized

Image

vansangpfiev commented 1 month ago

Goal

  • Our CLI -h should have categories for commands, for easier understanding
  • Additionally, are we able to have submodules, that also have their own -h? (e.g. cortex models -h)
Cortex.cpp CLI
Usage: cortex-nightly [OPTIONS] [SUBCOMMAND]

Options:
  -h,--help                   Print this help message and exit
  --verbose                   Verbose logging
  -v                          Cortex version

Common Commands:
  pull                        Download model from Huggingface or Cortex repo  
  run                         Shortcut to start a model and chat
  chat                        Send a chat request to a model

Inference:
  embeddings                  Creates an embedding vector representing the input text

Models:
  models                      Subcommands for managing models
  models pull

Engines:
  engines                       Get cortex engines
  engines install 
  engines uninstall

System: 
  start                        Starts Cortex
  stop                        Stop Cortex
  update                      Update cortex to the latest version
  ps                          Show running models and their status

Resource

Docker is a good example of how commands can be categorized

Image

Our CLI -h should have categories for commands, for easier understanding

I agree. This is a great improvement we should have. However, it may take time because we are using CLI11 default output for CLI, so maybe will need a workaround. I will take a look on it after ensure all the functional features work.

Additionally, are we able to have submodules, that also have their own -h? (e.g. cortex models -h)

Yes, we are.

image

dan-homebrew commented 1 month ago

Thanks @vansangpfiev. I am tagging this to Sprint 20 scope, and we can push it to 21 if not possible.