Allow caller to handle help/argument exceptions
This commit is contained in:
parent
465219b914
commit
d0e14e6ecd
9 changed files with 83 additions and 23 deletions
|
@ -105,7 +105,6 @@ void process_escapes(std::string& input) {
|
||||||
bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
|
bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
|
||||||
bool invalid_param = false;
|
bool invalid_param = false;
|
||||||
std::string arg;
|
std::string arg;
|
||||||
gpt_params default_params;
|
|
||||||
const std::string arg_prefix = "--";
|
const std::string arg_prefix = "--";
|
||||||
llama_sampling_params & sparams = params.sparams;
|
llama_sampling_params & sparams = params.sparams;
|
||||||
|
|
||||||
|
@ -547,11 +546,8 @@ bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (arg == "-h" || arg == "--help") {
|
} else if (arg == "-h" || arg == "--help") {
|
||||||
gpt_print_usage(argc, argv, default_params);
|
return false;
|
||||||
#ifndef LOG_DISABLE_LOGS
|
|
||||||
log_print_usage();
|
|
||||||
#endif // LOG_DISABLE_LOGS
|
|
||||||
exit(0);
|
|
||||||
} else if (arg == "--random-prompt") {
|
} else if (arg == "--random-prompt") {
|
||||||
params.random_prompt = true;
|
params.random_prompt = true;
|
||||||
} else if (arg == "--in-prefix-bos") {
|
} else if (arg == "--in-prefix-bos") {
|
||||||
|
@ -610,22 +606,17 @@ bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
|
||||||
// End of Parse args for logging parameters
|
// End of Parse args for logging parameters
|
||||||
#endif // LOG_DISABLE_LOGS
|
#endif // LOG_DISABLE_LOGS
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "error: unknown argument: %s\n", arg.c_str());
|
throw std::invalid_argument("error: unknown argument: " + arg);
|
||||||
gpt_print_usage(argc, argv, default_params);
|
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (invalid_param) {
|
if (invalid_param) {
|
||||||
fprintf(stderr, "error: invalid parameter for argument: %s\n", arg.c_str());
|
throw std::invalid_argument("error: invalid parameter for argument: " + arg);
|
||||||
gpt_print_usage(argc, argv, default_params);
|
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
if (params.prompt_cache_all &&
|
if (params.prompt_cache_all &&
|
||||||
(params.interactive || params.interactive_first ||
|
(params.interactive || params.interactive_first ||
|
||||||
params.instruct)) {
|
params.instruct)) {
|
||||||
fprintf(stderr, "error: --prompt-cache-all not supported in interactive mode yet\n");
|
|
||||||
gpt_print_usage(argc, argv, default_params);
|
throw std::invalid_argument("error: --prompt-cache-all not supported in interactive mode yet\n");
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.escape) {
|
if (params.escape) {
|
||||||
|
@ -753,6 +744,9 @@ void gpt_print_usage(int /*argc*/, char ** argv, const gpt_params & params) {
|
||||||
printf(" -ld LOGDIR, --logdir LOGDIR\n");
|
printf(" -ld LOGDIR, --logdir LOGDIR\n");
|
||||||
printf(" path under which to save YAML logs (no logging if unset)\n");
|
printf(" path under which to save YAML logs (no logging if unset)\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
#ifndef LOG_DISABLE_LOGS
|
||||||
|
log_print_usage();
|
||||||
|
#endif // LOG_DISABLE_LOGS
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string get_system_info(const gpt_params & params) {
|
std::string get_system_info(const gpt_params & params) {
|
||||||
|
|
|
@ -11,7 +11,15 @@
|
||||||
int main(int argc, char ** argv) {
|
int main(int argc, char ** argv) {
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
|
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,15 @@ int main(int argc, char ** argv) {
|
||||||
llama_sampling_params & sparams = params.sparams;
|
llama_sampling_params & sparams = params.sparams;
|
||||||
g_params = ¶ms;
|
g_params = ¶ms;
|
||||||
|
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,16 @@ int main(int argc, char ** argv) {
|
||||||
|
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
|
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
show_additional_info(argc, argv);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
show_additional_info(argc, argv);
|
show_additional_info(argc, argv);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,9 +105,18 @@ int main(int argc, char ** argv) {
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
g_params = ¶ms;
|
g_params = ¶ms;
|
||||||
|
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
llama_sampling_params & sparams = params.sparams;
|
llama_sampling_params & sparams = params.sparams;
|
||||||
|
|
||||||
#ifndef LOG_DISABLE_LOGS
|
#ifndef LOG_DISABLE_LOGS
|
||||||
|
|
|
@ -102,7 +102,15 @@ int main(int argc, char ** argv) {
|
||||||
|
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
|
|
||||||
if (gpt_params_parse(argc, argv, params) == false) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -682,7 +682,15 @@ int main(int argc, char ** argv) {
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
|
|
||||||
params.n_batch = 512;
|
params.n_batch = 512;
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,15 @@ int main(int argc, char ** argv) {
|
||||||
|
|
||||||
params.prompt = "The quick brown fox";
|
params.prompt = "The quick brown fox";
|
||||||
|
|
||||||
if (!gpt_params_parse(argc, argv, params)) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,15 @@ struct seq_draft {
|
||||||
int main(int argc, char ** argv) {
|
int main(int argc, char ** argv) {
|
||||||
gpt_params params;
|
gpt_params params;
|
||||||
|
|
||||||
if (gpt_params_parse(argc, argv, params) == false) {
|
try {
|
||||||
|
if (!gpt_params_parse(argc, argv, params)) {
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::invalid_argument& ex) {
|
||||||
|
fprintf(stderr, ex.what());
|
||||||
|
gpt_print_usage(argc, argv, gpt_params());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue