Просмотр исходного кода

main : fix off by one error for context shift (#6921)

l3utterfly 1 год назад
Родитель
Сommit
8d608a81b7
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      examples/main/main.cpp

+ 1 - 1
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<int>(0, guidance_offset) > n_ctx) {
+                if (n_past + (int) embd.size() + std::max<int>(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;