]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
chat : clarify the meaning of reasoning_format (#15408)
authorXuan-Son Nguyen <redacted>
Tue, 19 Aug 2025 08:29:36 +0000 (10:29 +0200)
committerGitHub <redacted>
Tue, 19 Aug 2025 08:29:36 +0000 (10:29 +0200)
* chat : clarify the meaning of reasoning_format

* add link to this PR

common/chat.cpp
common/common.h
tests/test-chat.cpp

index 23d3828f9cc2d7380475265f9978368a66f8a2c3..5fe5643d38356a6f644a9e308b0b1489d0dbfaef 100644 (file)
@@ -632,7 +632,6 @@ const char * common_reasoning_format_name(common_reasoning_format format) {
         case COMMON_REASONING_FORMAT_AUTO:     return "auto";
         case COMMON_REASONING_FORMAT_DEEPSEEK: return "deepseek";
         case COMMON_REASONING_FORMAT_DEEPSEEK_LEGACY: return "deepseek-legacy";
-        case COMMON_REASONING_FORMAT_GRANITE: return "granite";
         default:
             throw std::runtime_error("Unknown reasoning format");
     }
index 75596e6b329791788e4af2d00470d94759bc72b5..dfb63461bcc285bf6e7fcaf9fe56418b718f73d1 100644 (file)
@@ -239,12 +239,15 @@ struct common_params_diffusion {
     bool    add_gumbel_noise = false; // add gumbel noise to the logits if temp > 0.0
 };
 
+// reasoning API response format (not to be confused as chat template's reasoning format)
 enum common_reasoning_format {
     COMMON_REASONING_FORMAT_NONE,
-    COMMON_REASONING_FORMAT_AUTO,
+    COMMON_REASONING_FORMAT_AUTO,            // Same as deepseek, using `message.reasoning_content`
     COMMON_REASONING_FORMAT_DEEPSEEK_LEGACY, // Extract thinking tag contents and return as `message.reasoning_content`, or leave inline in <think> tags in stream mode
     COMMON_REASONING_FORMAT_DEEPSEEK,        // Extract thinking tag contents and return as `message.reasoning_content`, including in streaming deltas.
-    COMMON_REASONING_FORMAT_GRANITE,         // Extract thinking tag contents and return as `message.reasoning_content`, including in streaming deltas.
+    // do not extend this enum unless you absolutely have to
+    // in most cases, use COMMON_REASONING_FORMAT_AUTO
+    // see: https://github.com/ggml-org/llama.cpp/pull/15408
 };
 
 
index ea4060c8767d2840c1fe43d42880796c91330652..a6daa93a82b32eedbe8b9376273b70e5f4873692 100644 (file)
@@ -1408,7 +1408,7 @@ static void test_template_output_parsers() {
                 /* is_partial= */ false,
                 {
                     /* .format = */ COMMON_CHAT_FORMAT_GRANITE,
-                    /* .reasoning_format = */ COMMON_REASONING_FORMAT_GRANITE,
+                    /* .reasoning_format = */ COMMON_REASONING_FORMAT_DEEPSEEK,
                 }));
 
         // Test parsing tool calls