diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 14c4af3d9..d112712fe 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -1885,6 +1885,13 @@ struct server_context { for (server_slot & slot : slots) { if (slot.ga_n == 1) { if (slot.is_processing() && (int) system_tokens.size() + slot.n_past >= slot.n_ctx - 1) { + if (!params.ctx_shift){ + slot.release(); + slot.print_timings(); + send_final_response(slot); + metrics.on_prediction(slot); + continue; + } // Shift context const int n_keep = slot.params.n_keep + add_bos_token; const int n_left = (int) system_tokens.size() + slot.n_past - n_keep;