]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
server : fix prompt caching for repeated prompts (#5420)
authorRiley Stewart <redacted>
Fri, 9 Feb 2024 10:49:49 +0000 (02:49 -0800)
committerGitHub <redacted>
Fri, 9 Feb 2024 10:49:49 +0000 (12:49 +0200)
examples/server/server.cpp

index eceda30d05fcc497703643536255352e2577cf50..8d668f7989eedcb066f7fca88d4a82480ee2de76 100644 (file)
@@ -1592,10 +1592,6 @@ struct llama_server_context
                         LOG_TEE("slot %d : in cache: %i tokens | to process: %i tokens\n", slot.id, slot.n_past, slot.num_prompt_tokens_processed);
                     }
 
-                    LOG_TEE("slot %d : kv cache rm - [%d, end)\n", slot.id, (int) system_tokens.size() + slot.n_past);
-
-                    llama_kv_cache_seq_rm(ctx, slot.id, system_tokens.size() + slot.n_past, -1);
-
                     slot.cache_tokens = prompt_tokens;
 
                     if (slot.n_past == slot.num_prompt_tokens && slot.n_past > 0)
@@ -1609,6 +1605,10 @@ struct llama_server_context
                         }
                     }
 
+                    LOG_TEE("slot %d : kv cache rm - [%d, end)\n", slot.id, (int) system_tokens.size() + slot.n_past);
+
+                    llama_kv_cache_seq_rm(ctx, slot.id, system_tokens.size() + slot.n_past, -1);
+
                     LOG_VERBOSE("prompt ingested", {
                                                     {"n_past",  slot.n_past},
                                                     {"cached",  tokens_to_str(ctx, slot.cache_tokens.cbegin(), slot.cache_tokens.cbegin() + slot.n_past)},