Skip to content

Commit 036813c

Browse files
committed
common : gpt_params_parse do not print usage
1 parent 16926df commit 036813c

File tree

18 files changed

+47
-26
lines changed

18 files changed

+47
-26
lines changed

common/common.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -265,19 +265,20 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) {
265265
}
266266

267267
bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
268-
bool result = true;
268+
const auto params_org = params; // the example can modify the default params
269+
269270
try {
270-
if (!gpt_params_parse_ex(argc, argv, params)) {
271-
gpt_params_print_usage(argc, argv, gpt_params());
272-
exit(0);
271+
if (!gpt_params_parse_ex(argc, argv, params) || params.usage) {
272+
params = params_org;
273+
params.usage = true;
274+
return false;
273275
}
274-
}
275-
catch (const std::invalid_argument & ex) {
276+
} catch (const std::invalid_argument & ex) {
276277
fprintf(stderr, "%s\n", ex.what());
277-
gpt_params_print_usage(argc, argv, gpt_params());
278-
exit(1);
278+
return false;
279279
}
280-
return result;
280+
281+
return true;
281282
}
282283

283284
bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_params & params, int & i, bool & invalid_param) {
@@ -1242,9 +1243,9 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa
12421243
}
12431244
return true;
12441245
}
1245-
if (arg == "-h" || arg == "--help") {
1246-
gpt_params_print_usage(argc, argv, gpt_params());
1247-
exit(0);
1246+
if (arg == "-h" || arg == "--help" || arg == "--usage" ) {
1247+
params.usage = true;
1248+
return true;
12481249
}
12491250
if (arg == "--version") {
12501251
fprintf(stderr, "version: %d (%s)\n", LLAMA_BUILD_NUMBER, LLAMA_COMMIT);
@@ -1363,7 +1364,7 @@ void gpt_params_print_usage(int /*argc*/, char ** argv, const gpt_params & param
13631364
printf("usage: %s [options]\n", argv[0]);
13641365
printf("\n");
13651366
printf("options:\n");
1366-
printf(" -h, --help show this help message and exit\n");
1367+
printf(" -h, --help, --usage print usage and exit\n");
13671368
printf(" --version show version and build info\n");
13681369
printf(" -i, --interactive run in interactive mode\n");
13691370
printf(" --special special tokens output enabled\n");

common/common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ struct gpt_params {
142142

143143
bool kl_divergence = false; // compute KL divergence
144144

145+
bool usage = false; // print usage
145146
bool random_prompt = false; // do not randomize prompt if none provided
146147
bool use_color = false; // use color to distinguish generations and inputs
147148
bool interactive = false; // interactive mode

examples/embedding/embedding.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ int main(int argc, char ** argv) {
6363
gpt_params params;
6464

6565
if (!gpt_params_parse(argc, argv, params)) {
66+
gpt_params_print_usage(argc, argv, params);
6667
return 1;
6768
}
6869

examples/eval-callback/eval-callback.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,12 @@ static bool run(llama_context * ctx, const gpt_params & params) {
140140
}
141141

142142
int main(int argc, char ** argv) {
143-
144143
callback_data cb_data;
145144

146145
gpt_params params;
146+
147147
if (!gpt_params_parse(argc, argv, params)) {
148+
gpt_params_print_usage(argc, argv, params);
148149
return 1;
149150
}
150151

examples/gritlm/gritlm.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,9 @@ static std::string gritlm_instruction(const std::string & instruction) {
153153

154154
int main(int argc, char * argv[]) {
155155
gpt_params params;
156+
156157
if (!gpt_params_parse(argc, argv, params)) {
158+
gpt_params_print_usage(argc, argv, params);
157159
return 1;
158160
}
159161

examples/imatrix/imatrix.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,6 @@ static bool compute_imatrix(llama_context * ctx, const gpt_params & params, bool
533533
}
534534

535535
int main(int argc, char ** argv) {
536-
537536
StatParams sparams;
538537
std::string prev_result_file;
539538
std::string combine_files;
@@ -581,7 +580,9 @@ int main(int argc, char ** argv) {
581580

582581
gpt_params params;
583582
params.n_batch = 512;
584-
if (!gpt_params_parse(args.size(), args.data(), params)) {
583+
584+
if (!gpt_params_parse(argc, argv, params)) {
585+
gpt_params_print_usage(argc, argv, params);
585586
return 1;
586587
}
587588

examples/infill/infill.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ int main(int argc, char ** argv) {
107107
g_params = &params;
108108

109109
if (!gpt_params_parse(argc, argv, params)) {
110+
gpt_params_print_usage(argc, argv, params);
110111
return 1;
111112
}
112113

examples/llava/llava-cli.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,12 @@ struct llava_context {
112112
struct llama_model * model = NULL;
113113
};
114114

115-
static void show_additional_info(int /*argc*/, char ** argv) {
116-
LOG_TEE("\n example usage: %s -m <llava-v1.5-7b/ggml-model-q5_k.gguf> --mmproj <llava-v1.5-7b/mmproj-model-f16.gguf> --image <path/to/an/image.jpg> --image <path/to/another/image.jpg> [--temp 0.1] [-p \"describe the image in detail.\"]\n", argv[0]);
117-
LOG_TEE(" note: a lower temperature value like 0.1 is recommended for better quality.\n");
115+
static void print_usage(int argc, char ** argv, const gpt_params & params) {
116+
gpt_params_print_usage(argc, argv, params);
117+
118+
LOG_TEE("\n example usage:\n");
119+
LOG_TEE("\n %s -m <llava-v1.5-7b/ggml-model-q5_k.gguf> --mmproj <llava-v1.5-7b/mmproj-model-f16.gguf> --image <path/to/an/image.jpg> --image <path/to/another/image.jpg> [--temp 0.1] [-p \"describe the image in detail.\"]\n", argv[0]);
120+
LOG_TEE("\n note: a lower temperature value like 0.1 is recommended for better quality.\n");
118121
}
119122

120123
static struct llava_image_embed * load_image(llava_context * ctx_llava, gpt_params * params, const std::string & fname) {
@@ -278,7 +281,7 @@ int main(int argc, char ** argv) {
278281
gpt_params params;
279282

280283
if (!gpt_params_parse(argc, argv, params)) {
281-
show_additional_info(argc, argv);
284+
print_usage(argc, argv, params);
282285
return 1;
283286
}
284287

@@ -290,8 +293,7 @@ int main(int argc, char ** argv) {
290293
#endif // LOG_DISABLE_LOGS
291294

292295
if (params.mmproj.empty() || (params.image.empty() && !prompt_contains_image(params.prompt))) {
293-
gpt_params_print_usage(argc, argv, params);
294-
show_additional_info(argc, argv);
296+
print_usage(argc, argv, {});
295297
return 1;
296298
}
297299
auto model = llava_init(&params);

examples/lookahead/lookahead.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ struct ngram_container {
3737
int main(int argc, char ** argv) {
3838
gpt_params params;
3939

40-
if (gpt_params_parse(argc, argv, params) == false) {
40+
if (!gpt_params_parse(argc, argv, params)) {
41+
gpt_params_print_usage(argc, argv, params);
4142
return 1;
4243
}
4344

examples/lookup/lookup-create.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ int main(int argc, char ** argv){
1414
gpt_params params;
1515

1616
if (!gpt_params_parse(argc, argv, params)) {
17+
gpt_params_print_usage(argc, argv, params);
1718
return 1;
1819
}
20+
1921
// init llama.cpp
2022
llama_backend_init();
2123
llama_numa_init(params.numa);

examples/lookup/lookup-stats.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ int main(int argc, char ** argv){
1616
gpt_params params;
1717

1818
if (!gpt_params_parse(argc, argv, params)) {
19+
gpt_params_print_usage(argc, argv, params);
1920
return 1;
2021
}
2122

examples/lookup/lookup.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ int main(int argc, char ** argv){
1515
gpt_params params;
1616

1717
if (!gpt_params_parse(argc, argv, params)) {
18+
gpt_params_print_usage(argc, argv, params);
1819
return 1;
1920
}
2021

examples/main/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,10 @@ int main(int argc, char ** argv) {
122122
g_params = &params;
123123

124124
if (!gpt_params_parse(argc, argv, params)) {
125+
gpt_params_print_usage(argc, argv, params);
125126
return 1;
126127
}
128+
127129
llama_sampling_params & sparams = params.sparams;
128130

129131
#ifndef LOG_DISABLE_LOGS

examples/parallel/parallel.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ int main(int argc, char ** argv) {
100100

101101
gpt_params params;
102102

103-
if (gpt_params_parse(argc, argv, params) == false) {
103+
if (!gpt_params_parse(argc, argv, params)) {
104+
gpt_params_print_usage(argc, argv, params);
104105
return 1;
105106
}
106107

examples/perplexity/perplexity.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,6 +1965,7 @@ int main(int argc, char ** argv) {
19651965
gpt_params params;
19661966

19671967
if (!gpt_params_parse(argc, argv, params)) {
1968+
gpt_params_print_usage(argc, argv, params);
19681969
return 1;
19691970
}
19701971

examples/retrieval/retrieval.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ static void retrieval_params_parse(int argc, char ** argv, gpt_params & gpt_para
2727
while (i < argc) {
2828
arg = argv[i];
2929
bool invalid_gpt_param = false;
30-
if(gpt_params_find_arg(argc, argv, argv[i], gpt_params, i, invalid_gpt_param)) {
30+
if (gpt_params_find_arg(argc, argv, argv[i], gpt_params, i, invalid_gpt_param)) {
3131
if (invalid_gpt_param) {
3232
fprintf(stderr, "error: invalid argument: %s\n", arg.c_str());
3333
retrieval_params_print_usage(argc, argv, gpt_params, retrieval_params);

examples/save-load-state/save-load-state.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ int main(int argc, char ** argv) {
1111
params.prompt = "The quick brown fox";
1212

1313
if (!gpt_params_parse(argc, argv, params)) {
14+
gpt_params_print_usage(argc, argv, params);
1415
return 1;
1516
}
1617

examples/speculative/speculative.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ struct seq_draft {
2727
int main(int argc, char ** argv) {
2828
gpt_params params;
2929

30-
if (gpt_params_parse(argc, argv, params) == false) {
30+
if (!gpt_params_parse(argc, argv, params)) {
31+
gpt_params_print_usage(argc, argv, params);
3132
return 1;
3233
}
3334

0 commit comments

Comments
 (0)