| 18 | namespace po = boost::program_options; |
| 19 | |
| 20 | inline void print_help(po::options_description& general) { |
| 21 | std::cout << "Usage: flm <command> [options] [model_tag]" << std::endl; |
| 22 | std::cout << std::endl; |
| 23 | std::cout << "Commands:" << std::endl; |
| 24 | std::cout << " run <model_tag> - Run the model interactively" << std::endl; |
| 25 | std::cout << " serve <model_tag> - Start the server" << std::endl; |
| 26 | std::cout << " pull <model_tag> - Download model files if not present" << std::endl; |
| 27 | std::cout << " remove <model_tag> - Remove a model" << std::endl; |
| 28 | std::cout << " check <model_tag> - Check a model" << std::endl; |
| 29 | std::cout << " list - List all available models" << std::endl; |
| 30 | std::cout << " version - Show version information" << std::endl; |
| 31 | std::cout << " help - Show this help message" << std::endl; |
| 32 | std::cout << " port - Show the default server port" << std::endl; |
| 33 | std::cout << " validate - Validate the NPU stack" << std::endl; |
| 34 | std::cout << std::endl; |
| 35 | std::cout << general << std::endl; |
| 36 | std::cout << "Examples:" << std::endl; |
| 37 | std::cout << "\tflm run llama3.2:1b" << std::endl; |
| 38 | std::cout << "\tflm run llama3.2:1b --asr 1" << std::endl; |
| 39 | std::cout << "\tflm serve llama3.2:1b --pmode balanced" << std::endl; |
| 40 | std::cout << "\tflm pull llama3.2:1b --force" << std::endl; |
| 41 | std::cout << "\tflm check llama3.2:1b" << std::endl; |
| 42 | std::cout << "\tflm serve llama3.2:1b --ctx-len 8192" << std::endl; |
| 43 | std::cout << "\tflm serve llama3.2:1b --prefill-chunk-len 8192" << std::endl; |
| 44 | std::cout << "\tflm serve llama3.2:1b --socket 10" << std::endl; |
| 45 | std::cout << "\tflm serve llama3.2:1b --q-len 10" << std::endl; |
| 46 | std::cout << "\tflm serve llama3.2:1b --port 8000" << std::endl; |
| 47 | std::cout << "\tflm serve llama3.2:1b --cors 0" << std::endl; |
| 48 | std::cout << "\tflm serve llama3.2:1b --asr 1" << std::endl; |
| 49 | std::cout << "\tflm serve llama3.2:1b --embed 1" << std::endl; |
| 50 | std::cout << "\tflm serve qwen3vl-it:4b --resize 1 (0: original size, 1: height = 480, 2: height = 720, 3: height = 1080)" << std::endl; |
| 51 | std::cout << "\tflm list" << std::endl; |
| 52 | std::cout << "\tflm list --quiet" << std::endl; |
| 53 | std::cout << "\tflm list --filter installed" << std::endl; |
| 54 | std::cout << std::endl; |
| 55 | } |
| 56 | |
| 57 | |
| 58 | /// \brief parse the options using Boost Program Options with positional arguments |