Add new gpt_params_parse_ex function to hide arg-parse impl

This commit is contained in:
Mason M 2023-10-22 14:25:25 -03:00
parent 108d698923
commit ae36f009ef
10 changed files with 25 additions and 75 deletions

View file

@ -102,7 +102,21 @@ void process_escapes(std::string& input) {
input.resize(output_idx);
}
bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
bool gpt_params_parse(int argc, char** argv, gpt_params& params) {
try {
if (!gpt_params_parse_ex(argc, argv, params)) {
gpt_print_usage(argc, argv, gpt_params());
return false;
}
}
catch (const std::invalid_argument& ex) {
fprintf(stderr, ex.what());
gpt_print_usage(argc, argv, gpt_params());
return false;
}
}
bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
bool invalid_param = false;
std::string arg;
const std::string arg_prefix = "--";

View file

@ -110,6 +110,8 @@ struct gpt_params {
std::string image = ""; // path to an image file
};
bool gpt_params_parse_ex(int argc, char** argv, gpt_params& params);
bool gpt_params_parse(int argc, char ** argv, gpt_params & params);
void gpt_print_usage(int argc, char ** argv, const gpt_params & params);

View file

@ -11,15 +11,7 @@
int main(int argc, char ** argv) {
gpt_params 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());
if (!gpt_params_parse(argc, argv, params)) {
return 1;
}

View file

@ -107,15 +107,7 @@ int main(int argc, char ** argv) {
llama_sampling_params & sparams = params.sparams;
g_params = &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());
if (!gpt_params_parse(argc, argv, params)) {
return 1;
}

View file

@ -17,16 +17,7 @@ int main(int argc, char ** argv) {
gpt_params 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());
if (!gpt_params_parse(argc, argv, params)) {
show_additional_info(argc, argv);
return 1;
}

View file

@ -105,18 +105,9 @@ int main(int argc, char ** argv) {
gpt_params params;
g_params = &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());
if (!gpt_params_parse(argc, argv, params)) {
return 1;
}
llama_sampling_params & sparams = params.sparams;
#ifndef LOG_DISABLE_LOGS

View file

@ -102,15 +102,7 @@ int main(int argc, char ** argv) {
gpt_params 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());
if (gpt_params_parse(argc, argv, params) == false) {
return 1;
}

View file

@ -682,15 +682,7 @@ int main(int argc, char ** argv) {
gpt_params params;
params.n_batch = 512;
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());
if (!gpt_params_parse(argc, argv, params)) {
return 1;
}

View file

@ -11,15 +11,7 @@ int main(int argc, char ** argv) {
params.prompt = "The quick brown fox";
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());
if (!gpt_params_parse(argc, argv, params)) {
return 1;
}

View file

@ -24,15 +24,7 @@ struct seq_draft {
int main(int argc, char ** argv) {
gpt_params 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());
if (gpt_params_parse(argc, argv, params) == false) {
return 1;
}