Cull to end of generated_text when encountering a stopping string in case it's a partial token.

Will roll this back if it proves to be a problem.
This commit is contained in:
digiwombat 2023-05-30 21:14:24 -04:00
parent 9197674a6b
commit b6f536dfb3

View file

@ -280,7 +280,7 @@ struct llama_server_context
for (const std::string& word : params.antiprompt) { for (const std::string& word : params.antiprompt) {
size_t i = generated_text.find(word, generated_text.size() - (word.size() + token_text.size())); size_t i = generated_text.find(word, generated_text.size() - (word.size() + token_text.size()));
if (i != std::string::npos) { if (i != std::string::npos) {
generated_text.erase(generated_text.begin() + i, generated_text.begin() + i + word.size()); generated_text.erase(generated_text.begin() + i, generated_text.end());
stopping_word = word; stopping_word = word;
has_next_token = false; has_next_token = false;
break; break;