Skip to content

Commit fbd4d38

Browse files
authored
feat: '--in-prefix STRING' option (#426)
Prefix user inputs with a string
1 parent 58e6c9f commit fbd4d38

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

main.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,10 @@ int main(int argc, char ** argv) {
300300
fprintf(stderr, "Reverse prompt: '%s'\n", antiprompt.c_str());
301301
}
302302
}
303+
304+
if (!params.input_prefix.empty()) {
305+
fprintf(stderr, "Input prefix: '%s'\n", params.input_prefix.c_str());
306+
}
303307
}
304308
fprintf(stderr, "sampling parameters: temp = %f, top_k = %d, top_p = %f, repeat_last_n = %i, repeat_penalty = %f\n", params.temp, params.top_k, params.top_p, params.repeat_last_n, params.repeat_penalty);
305309
fprintf(stderr, "\n\n");
@@ -472,6 +476,11 @@ int main(int argc, char ** argv) {
472476
}
473477

474478
std::string buffer;
479+
if (!params.input_prefix.empty()) {
480+
buffer += params.input_prefix;
481+
printf(buffer.c_str());
482+
}
483+
475484
std::string line;
476485
bool another_line = true;
477486
do {

utils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ bool gpt_params_parse(int argc, char ** argv, gpt_params & params) {
155155
exit(0);
156156
} else if (arg == "--random-prompt") {
157157
params.random_prompt = true;
158+
} else if (arg == "--in-prefix") {
159+
params.input_prefix = argv[++i];
158160
} else {
159161
fprintf(stderr, "error: unknown argument: %s\n", arg.c_str());
160162
gpt_print_usage(argc, argv, params);
@@ -187,6 +189,7 @@ void gpt_print_usage(int /*argc*/, char ** argv, const gpt_params & params) {
187189
fprintf(stderr, " -p PROMPT, --prompt PROMPT\n");
188190
fprintf(stderr, " prompt to start generation with (default: empty)\n");
189191
fprintf(stderr, " --random-prompt start with a randomized prompt.\n");
192+
fprintf(stderr, " --in-prefix STRING string to prefix user inputs with (default: empty)\n");
190193
fprintf(stderr, " -f FNAME, --file FNAME\n");
191194
fprintf(stderr, " prompt file to start generation.\n");
192195
fprintf(stderr, " -n N, --n_predict N number of tokens to predict (default: %d)\n", params.n_predict);

utils.h

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

3131
std::string model = "models/lamma-7B/ggml-model.bin"; // model path
3232
std::string prompt = "";
33+
std::string input_prefix = ""; // string to prefix user inputs with
3334

3435

3536
std::vector<std::string> antiprompt; // string upon seeing which more user input is prompted

0 commit comments

Comments
 (0)