From: l3utterfly Date: Wed, 1 May 2024 19:27:41 +0000 (+0900) Subject: main : fix off by one error for context shift (#6921) X-Git-Tag: upstream/0.0.4488~1708 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=8d608a81b7bd170f700648f8214e6f3279d4d715;p=pkg%2Fggml%2Fsources%2Fllama.cpp main : fix off by one error for context shift (#6921) --- diff --git a/examples/main/main.cpp b/examples/main/main.cpp index 5c693657..eabbc2db 100644 --- a/examples/main/main.cpp +++ b/examples/main/main.cpp @@ -544,7 +544,7 @@ int main(int argc, char ** argv) { // if we run out of context: // - take the n_keep first tokens from the original prompt (via n_past) // - take half of the last (n_ctx - n_keep) tokens and recompute the logits in batches - if (n_past + (int) embd.size() + std::max(0, guidance_offset) > n_ctx) { + if (n_past + (int) embd.size() + std::max(0, guidance_offset) >= n_ctx) { if (params.n_predict == -2) { LOG_TEE("\n\n%s: context full and n_predict == -%d => stopping\n", __func__, params.n_predict); break;