mirror of
https://git.adityakumar.xyz/llama.cpp.git
synced 2024-11-09 23:29:44 +00:00
fix instruct mode (#445)
changes to EOS behavior in interactive and reverse prompt handling broke instruct mode by erroneously injecting instruct mode's reverse prompt and an extra newline.
This commit is contained in:
parent
afd220d9c6
commit
863f65e2e3
1 changed files with 7 additions and 3 deletions
10
main.cpp
10
main.cpp
|
@ -387,7 +387,7 @@ int main(int argc, char ** argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// replace end of text token with newline token when in interactive mode
|
// replace end of text token with newline token when in interactive mode
|
||||||
if (id == llama_token_eos() && params.interactive) {
|
if (id == llama_token_eos() && params.interactive && !params.instruct) {
|
||||||
id = llama_token_newline.front();
|
id = llama_token_newline.front();
|
||||||
if (params.antiprompt.size() != 0) {
|
if (params.antiprompt.size() != 0) {
|
||||||
// tokenize and inject first reverse prompt
|
// tokenize and inject first reverse prompt
|
||||||
|
@ -488,8 +488,12 @@ int main(int argc, char ** argv) {
|
||||||
|
|
||||||
// end of text token
|
// end of text token
|
||||||
if (embd.back() == llama_token_eos()) {
|
if (embd.back() == llama_token_eos()) {
|
||||||
fprintf(stderr, " [end of text]\n");
|
if (params.instruct) {
|
||||||
break;
|
is_interacting = true;
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, " [end of text]\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// In interactive mode, respect the maximum number of tokens and drop back to user input when reached.
|
// In interactive mode, respect the maximum number of tokens and drop back to user input when reached.
|
||||||
|
|
Loading…
Reference in a new issue