@@ -1322,22 +1322,8 @@ static common_chat_params common_chat_params_init_deepseek_v3_1(const common_cha
13221322 {" thinking" , inputs.enable_thinking },
13231323 };
13241324
1325- // For DeepSeek V3.1, we need to set prefix on assistant messages to trigger <think> generation
1326- json adjusted_messages = inputs.messages ;
1327- if (inputs.enable_thinking ) {
1328- adjusted_messages = json::array ();
1329- for (const auto & msg : inputs.messages ) {
1330- auto adjusted_msg = msg;
1331- // Set prefix on assistant messages to trigger <think> generation
1332- if (msg.is_object () && msg.contains (" role" ) && msg[" role" ] == " assistant" ) {
1333- adjusted_msg[" prefix" ] = " <think>" ;
1334- }
1335- adjusted_messages.push_back (adjusted_msg);
1336- }
1337- }
1338-
13391325 auto prompt = apply (tmpl, inputs,
1340- /* messages_override= */ adjusted_messages,
1326+ /* messages_override= */ inputs. messages ,
13411327 /* tools_override= */ std::nullopt ,
13421328 additional_context);
13431329 data.prompt = prompt;
@@ -1392,7 +1378,7 @@ static void common_chat_parse_deepseek_v3_1(common_chat_msg_parser & builder) {
13921378 builder.add_content (builder.consume_rest ());
13931379 } else {
13941380 // If no "</think>" tag found, treat everything as regular content
1395- builder.add_content (builder.consume_rest ());
1381+ builder.add_reasoning_content (builder.consume_rest ());
13961382 }
13971383}
13981384
0 commit comments