chore: bump llama.cpp to b9982#21
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
092de8a to
3b702ab
Compare
3b702ab to
dfd88ff
Compare
dfd88ff to
872d4ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
llama.cpp update
b9915b9982Upstream changelog
Release notes for b9982
Details
server: honour per-request reasoning_budget_tokens in chat completions (#23116)
The reasoning-budget block in oaicompat_chat_params_parse read only the
server-level default (opt.reasoning_budget, typically -1) and the
Anthropic-style alias thinking_budget_tokens, but never the canonical
reasoning_budget_tokens field from the request body. Because the key
was then written into llama_params before the generic body-copy loop
ran, the copy loop found the key already present and silently skipped
the caller-supplied value. Any per-request override (e.g. 0 to
suppress thinking entirely) was therefore discarded.
Fix: read reasoning_budget_tokens from the request body first, so the
value that reaches the sampling layer is the one the caller intended.
Add a unit test in test-chat.cpp that exercises this path via
oaicompat_chat_params_parse with a Qwen3 template (which the autoparser
detects as a thinking-capable model) and asserts the returned
llama_params carries reasoning_budget_tokens == 0.
The reasoning-budget block in oaicompat_chat_params_parse wrote
reasoning_budget_message into llama_params straight from the server-level
default (opt.reasoning_budget_message) and never read the canonical
reasoning_budget_message field from the request body. Because the key
was written before the generic body-copy loop ran, that loop found the
key already present and silently skipped the caller-supplied value. Any
per-request override of the message injected before the end tag when the
budget is exhausted was therefore discarded, even though server-task.cpp
already reads reasoning_budget_message from that data.
This mirrors the reasoning_budget_tokens bug fixed in the previous commit.
Fix: read reasoning_budget_message from the request body first, falling
back to the server default, so the value that reaches the sampling layer
is the one the caller intended.
While here, collapse the adjacent reasoning_budget_tokens override to a
single json_value() call; json_value already falls back to the default on
a missing/null/wrong-type key, so the explicit body.contains() guard was
redundant. No behavioral change.
Add a unit test in test-chat.cpp that exercises this path via
oaicompat_chat_params_parse with a Qwen3 template (which the autoparser
detects as a thinking-capable model) and asserts the returned
llama_params carries the per-request reasoning_budget_message rather than
the server default.
Co-authored-by: Xuan Son Nguyen son@huggingface.co
macOS/iOS:
Linux:
Android:
Windows:
openEuler:
UI:
Commit range
Commits from b9915 to b9982 (first 80)
57b50e1)4a7ee31)0512ef1)da46e59)f1161b1)f296fdf)230ea9d)bbebeec)90e0f5c)ed8c261)07e012a)c264f65)81ff7ab)0bbc87b)1ee0939)167d057)a646006)92366df)32e41fa)f2d1c2f)64c8b7d)2021515)ccb0c34)92b187c)259f2e2)683f0c7)test-backend-ops(#25440) (f84a519)c15c5c7)5c3a586)82fce65)fb30ba9)3de7dd4)0749449)049326a)961e4b2)082b326)2ed3c1a)d46786f)8f114a9)c7af942)1b9691b)c4ae9a8)ac17f8a)0badc06)a935fbf)9f623c6)07d9378)3e706dd)22b69b6)67776ea)c749cb0)4f37f51)1d1d9a9)76f2798)00f5442)ea1f7bb)c92e806)13f2b28)3cec3bc)d72bfa3)e3546c7)6b4dc21)0c4fa7a)4114ba1)8014d2c)3455882)99f3dc3)Web bridge review focus
Please pay extra attention to upstream changes touching:
Validation
Automation behavior
This PR is managed from the stable branch
automation/bump-llama-cpp. If another llama.cpp release appears before merge, the scheduled workflow updates this same PR instead of opening a duplicate. The workflow skips if a non-automation PR already changesllama_cpp.version.