Pause sampling if waiting for user input.

This commit is contained in:
Johnman 2023-03-19 16:57:02 +01:00
parent 10f1c9ed30
commit b78caa6bff

View file

@ -935,6 +935,7 @@ int main(int argc, char ** argv) {
embd.clear(); embd.clear();
if (embd_inp.size() <= input_consumed) { if (embd_inp.size() <= input_consumed) {
if (!is_interacting) {
// out of user input, sample next token // out of user input, sample next token
const float top_k = params.top_k; const float top_k = params.top_k;
const float top_p = params.top_p; const float top_p = params.top_p;
@ -964,6 +965,7 @@ int main(int argc, char ** argv) {
// decrement remaining sampling budget // decrement remaining sampling budget
--remaining_tokens; --remaining_tokens;
}
} else { } else {
// some user input remains from prompt or interaction, forward it to processing // some user input remains from prompt or interaction, forward it to processing
while (embd_inp.size() > input_consumed) { while (embd_inp.size() > input_consumed) {