diff --git a/gpttype_adapter.cpp b/gpttype_adapter.cpp index 1a862cf77..c0bd6bee4 100644 --- a/gpttype_adapter.cpp +++ b/gpttype_adapter.cpp @@ -596,8 +596,8 @@ void PurgeMissingTokens(llama_context * ctx, std::vector ¤t_context_t //if passed, save beginning of LCQ from old ctx as p1 //remove all tokens from old ctx between p0 and p1, updating both arrays and kv, then continue as normal - const int ShortfallThreshold = 200; //dont trigger shifting if the distance between trimstart and currhead < this - const int SlackAllowance = 50; //in case the end text is slightly modified, be forgiving + const int ShortfallThreshold = 200 + (nctx/40); //dont trigger shifting if the distance between trimstart and currhead < this + const int SlackAllowance = 50 + (nctx/80); //in case the end text is slightly modified, be forgiving int trimstart = 0; int new_tokens_len = new_context_tokens.size();