mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-25 02:44:36 +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
6
main.cpp
6
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,9 +488,13 @@ 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()) {
|
||||||
|
if (params.instruct) {
|
||||||
|
is_interacting = true;
|
||||||
|
} else {
|
||||||
fprintf(stderr, " [end of text]\n");
|
fprintf(stderr, " [end of text]\n");
|
||||||
break;
|
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.
|
||||||
if (params.interactive && remaining_tokens <= 0) {
|
if (params.interactive && remaining_tokens <= 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user