From 38f7c287957d8d6203d2bbaa1c370fd6634b4d31 Mon Sep 17 00:00:00 2001 From: Sascha Rogmann Date: Fri, 2 Jan 2026 00:10:46 +0100 Subject: [PATCH] server: can_speculate() tests self-spec --- tools/server/server-context.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 5d492479db..7a72fa98e4 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -258,8 +258,9 @@ struct server_slot { return state != SLOT_STATE_IDLE; } + // Checks if a draft model is active or self-speculation using context-tokens bool can_speculate() const { - return ctx_dft; + return ctx_dft || task->params.speculative.use_self; } void add_token(const completion_token_output & token) { @@ -274,7 +275,7 @@ struct server_slot { int get_n_draft_max() const { GGML_ASSERT(task); - if (!can_speculate() && !task->params.speculative.use_self) { + if (!can_speculate()) { return 0; }