Skip to content

Commit 4e1c329

Browse files
committed
compatibility with the new reasoning-budget parameter
1 parent 226e37d commit 4e1c329

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

common/chat.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,12 +1508,15 @@ static void common_chat_parse_functionary_v3_1_llama_3_1(common_chat_msg_parser
15081508
static common_chat_params common_chat_params_init_hermes_2_pro(const common_chat_template & tmpl, const struct templates_params & inputs) {
15091509
common_chat_params data;
15101510

1511-
data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, /* tools_override= */ std::nullopt, json {
1511+
json extra_context = json {
15121512
{"enable_thinking", inputs.enable_thinking},
1513-
});
1513+
};
1514+
extra_context.update(inputs.extra_context);
1515+
1516+
data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, /* tools_override= */ std::nullopt, extra_context);
15141517
data.format = COMMON_CHAT_FORMAT_HERMES_2_PRO;
15151518
if (string_ends_with(data.prompt, "<think>\n")) {
1516-
if (!inputs.enable_thinking) {
1519+
if (!extra_context["enable_thinking"]) {
15171520
data.prompt += "</think>";
15181521
} else {
15191522
data.thinking_forced_open = true;
@@ -1731,6 +1734,7 @@ static common_chat_params common_chat_templates_apply_jinja(
17311734
params.grammar = inputs.grammar;
17321735
params.now = inputs.now;
17331736

1737+
params.extra_context = json::object();
17341738
for (auto el : inputs.chat_template_kwargs) {
17351739
params.extra_context[el.first] = json::parse(el.second);
17361740
}

0 commit comments

Comments
 (0)