Documentația Groq listează ca modele de raționament openai/gpt-oss-20b, openai/gpt-oss-120b, openai/gpt-oss-safeguard-20b, qwen/qwen3.8-27b, minimaxai/minimax-m2.7 și meta-models/muse-spark-open (ultimele două sunt Enterprise). Raționamentul face parte din tokenii generați, deci se plătește și consumă din max_completion_tokens.
reasoning_format alege cum apare raționamentul: parsed îl pune în câmpul separat message.reasoning, raw îl lasă în content, între etichete <think>, iar hidden întoarce doar răspunsul final (modelul raționează în continuare). Cu JSON mode sau tool use, raw nu este acceptat: cererea cu raw explicit primește eroarea 400. La GPT-OSS, reasoning_format nu este acceptat; raționamentul vine implicit în message.reasoning și se poate exclude cu include_reasoning=False. Cei doi parametri se exclud reciproc.
reasoning_effort are valori diferite pe model: GPT-OSS acceptă low, medium, high; Qwen 3.8 27B acceptă none (fără raționament), default (pe Groq nu întoarce tokeni de raționament), low, medium, high; Muse Spark Open raționează mereu și acceptă low până la xhigh (implicit). Documentația recomandă temperature între 0,5 și 0,7, mărirea lui max_completion_tokens pentru probleme lungi și instrucțiuni puse în mesajul utilizatorului.
Concepte cheie și caracteristici
| Concept / Parametru | Descriere practică |
|---|---|
reasoning_format="parsed" |
Raționamentul în message.reasoning, răspunsul în message.content. Nu pentru GPT-OSS. |
reasoning_format="raw" |
Raționamentul în content, între <think> și </think>. Interzis cu JSON mode sau tool use (400). |
reasoning_format="hidden" |
Doar răspunsul final. |
include_reasoning |
true (implicit) sau false. Nu se combină cu reasoning_format. |
reasoning_effort (GPT-OSS) |
low, medium, high. |
reasoning_effort (qwen/qwen3.8-27b) |
none, default, low, medium, high. |
reasoning_effort (muse-spark-open) |
low, medium, high, xhigh (implicit). none nu este acceptat. |
temperature |
Recomandat 0,5–0,7 pentru modelele de raționament. |
max_completion_tokens |
Include tokenii de raționament; mărește-l pentru probleme cu mulți pași. |
Exemple practice și scenarii reale
Exemplul 1: GPT-OSS cu efort mare de raționament
from groq import Groq
client = Groq()
r = client.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[{"role": "user", "content": "Câte litere r are cuvântul strawberry?"}],
reasoning_effort="high",
include_reasoning=True,
)
print("Raționament:", r.choices[0].message.reasoning)
print("Răspuns:", r.choices[0].message.content)
Exemplul 2: Qwen 3.8 27B cu raționamentul separat (parsed)
r = client.chat.completions.create(
model="qwen/qwen3.8-27b",
messages=[{"role": "user", "content": "Cum zboară avioanele? Pe scurt."}],
reasoning_format="parsed",
reasoning_effort="medium",
)
print(r.choices[0].message.reasoning)
print(r.choices[0].message.content)
Exemplul 3: Fără raționament în răspuns, pentru o interfață de chat
r = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[{"role": "user", "content": "Rezumă în două fraze ce este un LPU."}],
reasoning_effort="low",
include_reasoning=False,
)
print(r.choices[0].message.content)
Greșeli frecvente și capcane
- Trimiți
reasoning_formatla GPT-OSS. Parametrul nu este acceptat acolo; foloseșteinclude_reasoning. - Combini
reasoning_format="raw"curesponse_formatJSON sau cutools. Cererea primește 400; foloseșteparsedsauhidden. - Lași
max_completion_tokensmic. Raționamentul consumă din aceeași limită, iar răspunsul final poate fi tăiat.