From 548fde722aac9b1d81fd02274d253a5c5331f043 Mon Sep 17 00:00:00 2001 From: Bruno Perez Date: Fri, 16 Oct 2026 10:28:48 +0200 Subject: [PATCH] fix(groq): gpt-oss models take low, medium or high reasoning effort Groq's gpt-oss-20b and gpt-oss-120b listed reasoning_effort as none|default (default "default"), which are Qwen-only values. Groq accepts low, medium or high on these models, defaults to medium and rejects anything else with a 400. https://console.groq.com/docs/reasoning https://console.groq.com/docs/api-reference --- models/groq/gpt-oss-120b.yaml | 9 +++++---- models/groq/gpt-oss-20b.yaml | 9 +++++---- .../src/modelparams/_generated/catalog.json | 18 ++++++++++-------- .../src/modelparams/types/groq.py | 4 ++-- packages/modelparams/src/generated/data.ts | 18 ++++++++++-------- packages/modelparams/src/generated/defaults.ts | 4 ++-- .../modelparams/src/generated/params-by-id.ts | 4 ++-- 7 files changed, 36 insertions(+), 30 deletions(-) diff --git a/models/groq/gpt-oss-120b.yaml b/models/groq/gpt-oss-120b.yaml index 9e53d08f..00a1f75d 100644 --- a/models/groq/gpt-oss-120b.yaml +++ b/models/groq/gpt-oss-120b.yaml @@ -65,11 +65,12 @@ params: - path: reasoning_effort type: enum label: Reasoning effort - description: Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason. - default: default + description: Controls how much reasoning the model should perform before producing an answer. + default: medium values: - - none - - default + - low + - medium + - high group: reasoning - path: reasoning_format type: enum diff --git a/models/groq/gpt-oss-20b.yaml b/models/groq/gpt-oss-20b.yaml index 0eb0bc0e..6d514c91 100644 --- a/models/groq/gpt-oss-20b.yaml +++ b/models/groq/gpt-oss-20b.yaml @@ -65,11 +65,12 @@ params: - path: reasoning_effort type: enum label: Reasoning effort - description: Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason. - default: default + description: Controls how much reasoning the model should perform before producing an answer. + default: medium values: - - none - - default + - low + - medium + - high group: reasoning - path: reasoning_format type: enum diff --git a/packages/modelparams-python/src/modelparams/_generated/catalog.json b/packages/modelparams-python/src/modelparams/_generated/catalog.json index 5168dae4..154f9c81 100644 --- a/packages/modelparams-python/src/modelparams/_generated/catalog.json +++ b/packages/modelparams-python/src/modelparams/_generated/catalog.json @@ -19901,13 +19901,14 @@ { "path": "reasoning_effort", "label": "Reasoning effort", - "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.", + "description": "Controls how much reasoning the model should perform before producing an answer.", "group": "reasoning", "type": "enum", - "default": "default", + "default": "medium", "values": [ - "none", - "default" + "low", + "medium", + "high" ] }, { @@ -20021,13 +20022,14 @@ { "path": "reasoning_effort", "label": "Reasoning effort", - "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.", + "description": "Controls how much reasoning the model should perform before producing an answer.", "group": "reasoning", "type": "enum", - "default": "default", + "default": "medium", "values": [ - "none", - "default" + "low", + "medium", + "high" ] }, { diff --git a/packages/modelparams-python/src/modelparams/types/groq.py b/packages/modelparams-python/src/modelparams/types/groq.py index d40e1825..e29b8181 100644 --- a/packages/modelparams-python/src/modelparams/types/groq.py +++ b/packages/modelparams-python/src/modelparams/types/groq.py @@ -35,7 +35,7 @@ "presence_penalty": Annotated[float, Field(ge=-2, le=2)], "seed": int, "stop": str, - "reasoning_effort": Literal["none", "default"], + "reasoning_effort": Literal["low", "medium", "high"], "reasoning_format": Literal["hidden", "parsed"], "response_format.type": Literal["text", "json_object"], }, @@ -53,7 +53,7 @@ "presence_penalty": Annotated[float, Field(ge=-2, le=2)], "seed": int, "stop": str, - "reasoning_effort": Literal["none", "default"], + "reasoning_effort": Literal["low", "medium", "high"], "reasoning_format": Literal["hidden", "parsed"], "response_format.type": Literal["text", "json_object"], }, diff --git a/packages/modelparams/src/generated/data.ts b/packages/modelparams/src/generated/data.ts index 01a1ffa1..c618285b 100644 --- a/packages/modelparams/src/generated/data.ts +++ b/packages/modelparams/src/generated/data.ts @@ -19906,13 +19906,14 @@ const GENERATED_CATALOG = [ { "path": "reasoning_effort", "label": "Reasoning effort", - "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.", + "description": "Controls how much reasoning the model should perform before producing an answer.", "group": "reasoning", "type": "enum", - "default": "default", + "default": "medium", "values": [ - "none", - "default" + "low", + "medium", + "high" ] }, { @@ -20026,13 +20027,14 @@ const GENERATED_CATALOG = [ { "path": "reasoning_effort", "label": "Reasoning effort", - "description": "Controls whether the model reasons before answering. 'none' disables reasoning; 'default' lets the model reason.", + "description": "Controls how much reasoning the model should perform before producing an answer.", "group": "reasoning", "type": "enum", - "default": "default", + "default": "medium", "values": [ - "none", - "default" + "low", + "medium", + "high" ] }, { diff --git a/packages/modelparams/src/generated/defaults.ts b/packages/modelparams/src/generated/defaults.ts index d76420c6..e991df37 100644 --- a/packages/modelparams/src/generated/defaults.ts +++ b/packages/modelparams/src/generated/defaults.ts @@ -1115,7 +1115,7 @@ export const DEFAULTS = { top_p: 1, frequency_penalty: 0, presence_penalty: 0, - reasoning_effort: "default", + reasoning_effort: "medium", "response_format.type": "text", }, "groq/gpt-oss-20b": { @@ -1123,7 +1123,7 @@ export const DEFAULTS = { top_p: 1, frequency_penalty: 0, presence_penalty: 0, - reasoning_effort: "default", + reasoning_effort: "medium", "response_format.type": "text", }, "groq/gpt-oss-safeguard-20b": { diff --git a/packages/modelparams/src/generated/params-by-id.ts b/packages/modelparams/src/generated/params-by-id.ts index 681487d3..bce7c58f 100644 --- a/packages/modelparams/src/generated/params-by-id.ts +++ b/packages/modelparams/src/generated/params-by-id.ts @@ -1978,7 +1978,7 @@ export type ParamsById = { presence_penalty: number; seed: number; stop: string; - reasoning_effort: "none" | "default"; + reasoning_effort: "low" | "medium" | "high"; reasoning_format: "hidden" | "parsed"; "response_format.type": "text" | "json_object"; }; @@ -1990,7 +1990,7 @@ export type ParamsById = { presence_penalty: number; seed: number; stop: string; - reasoning_effort: "none" | "default"; + reasoning_effort: "low" | "medium" | "high"; reasoning_format: "hidden" | "parsed"; "response_format.type": "text" | "json_object"; };