Skip to content

Commit aeb2403

Browse files
author
John
committed
Fixed interactive prompting, changed OA sys prompt syntax
1 parent 9383922 commit aeb2403

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

examples/falcon/falcon_main.cpp

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,9 @@ int main(int argc, char ** argv) {
267267
{
268268
// inp_system = ::falcon_tokenize(ctx, ">>DOMAIN<<<|prefix_begin|>"+params.system_prompt+"<|prefix_end|>", false);
269269
// inp_system = ::falcon_tokenize(ctx, "<|prefix_begin|>"+params.system_prompt+"<|prefix_end|>", false);
270-
// inp_system = ::falcon_tokenize(ctx, "<|prompter|>"+params.system_prompt+" Okay?<|endoftext|><|assistant|>Okay<|endoftext|>", false);
271-
inp_system = ::falcon_tokenize(ctx, ">>INTRODUCTION<<"+params.system_prompt+"\n<|endoftext|>", false);
270+
//inp_system = ::falcon_tokenize(ctx, "<|prompter|>"+params.system_prompt+" Okay?<|endoftext|><|assistant|>Okay<|endoftext|>", false);
271+
inp_system = ::falcon_tokenize(ctx, "<|prompter|>"+params.system_prompt+"<|endoftext|>", false);
272+
//inp_system = ::falcon_tokenize(ctx, ">>INTRODUCTION<<"+params.system_prompt+"\n<|endoftext|>", false);
272273
if(!params.sys_prompt_simple)
273274
{
274275
//inp_system_baseline = ::falcon_tokenize(ctx, "<|prompter|>"+params.system_baseline_prompt+" Okay?<|endoftext|><|assistant|>Okay<|endoftext|>", false);
@@ -1031,6 +1032,7 @@ fprintf(stderr, "+------------+-------+-------+-------+-------+---------------+-
10311032
// get user interactive input
10321033
if (n_past >= 0 && is_interacting)
10331034
{
1035+
10341036
if (params.instruct) {
10351037
printf("\n> ");
10361038
}
@@ -1051,9 +1053,9 @@ fprintf(stderr, "+------------+-------+-------+-------+-------+---------------+-
10511053
// done taking input, reset color
10521054
console_set_color(con_st, CONSOLE_COLOR_DEFAULT);
10531055
}
1056+
std::vector<falcon_token> additional_input={};
10541057
if (n_past >= 0 && (is_interacting))
10551058
{
1056-
std::vector<falcon_token> additional_input={};
10571059
// Add tokens to embd only if the input buffer is non-empty
10581060
// Entering a empty line lets the user pass control back
10591061
if (buffer.length() > 1) {
@@ -1073,11 +1075,12 @@ fprintf(stderr, "+------------+-------+-------+-------+-------+---------------+-
10731075
additional_input.insert(additional_input.end(), line_inp.begin(), line_inp.end());
10741076

10751077
// instruct mode: insert response suffix
1076-
if (params.enclose_finetune) {
1078+
if (params.enclose_finetune && !is_antiprompt) {
10771079
additional_input.insert(additional_input.end(), inp_sfx.begin(), inp_sfx.end());
10781080
}
10791081
embd_inp.insert(embd_inp.end(), additional_input.begin(), additional_input.end());
10801082
n_remain -= (int)additional_input.size(); // ugh - don't like ignoring the prompts. needs a audit
1083+
is_interacting = false;
10811084
}
10821085

10831086
if (additional_input.size())
@@ -1102,7 +1105,7 @@ fprintf(stderr, "+------------+-------+-------+-------+-------+---------------+-
11021105
}
11031106

11041107
if (n_past >= 0) {
1105-
is_interacting = false;
1108+
// is_interacting = false;
11061109
}
11071110
}
11081111
#if 0
@@ -1118,8 +1121,8 @@ fprintf(stderr, "+------------+-------+-------+-------+-------+---------------+-
11181121
}
11191122
#endif
11201123

1121-
// end of text token
1122-
if (!embd.empty() && embd.back() == falcon_token_eos() || stopword_fulfilled)
1124+
// end of text token or stopword detected in generated content
1125+
if ((!embd.empty() && embd.back() == falcon_token_eos() && n_past > embd_inp.size()) || stopword_fulfilled)
11231126
{
11241127
if (params.instruct)
11251128
{

0 commit comments

Comments
 (0)