Vai al contenuto principale
Alcuni modelli pensano ad alta voce prima di rispondere. Lavorano sui problemi passo dopo passo, quindi forniscono una risposta finale. Questo li rende più forti su matematica, codice e compiti ad alto contenuto logico.
Consulta l’elenco completo dei modelli, dei prezzi e dei limiti di contesto nella pagina Modelli. Non tutti i modelli di ragionamento supportano il parametro reasoning_effort. Vedi il supporto dei modelli per i dettagli.

Leggere l’output

I modelli di ragionamento restituiscono il loro thinking in un campo separato reasoning_content, mantenendo content pulito:
response = client.chat.completions.create(
    model="zai-org-glm-5-1",
    messages=[{"role": "user", "content": "What is 15% of 240?"}]
)

thinking = response.choices[0].message.reasoning_content
answer = response.choices[0].message.content
Alcuni provider (Anthropic, Google, OpenAI, Qwen) restituiscono token di ragionamento cifrati o riassunti. Quando questo accade, reasoning_content contiene un placeholder "[Some reasoning content is encrypted]".

Streaming

In streaming, reasoning_content arriva nel delta prima della risposta finale:
stream = client.chat.completions.create(
    model="zai-org-glm-5-1",
    messages=[{"role": "user", "content": "Explain photosynthesis"}],
    stream=True
)

for chunk in stream:
    if chunk.choices:
        delta = chunk.choices[0].delta
        if delta.reasoning_content:
            print(delta.reasoning_content, end="")
        if delta.content:
            print(delta.content, end="")

Reasoning effort

Il parametro reasoning_effort controlla quanto thinking fa un modello prima di rispondere. Più sforzo significa ragionamento più profondo ma più token e latenza.

Valori accettati

ValoreDescrizione
noneDisabilita completamente il ragionamento
minimalRagionamento di base con sforzo minimo
lowRagionamento leggero per problemi semplici
mediumRagionamento bilanciato per complessità moderata
highRagionamento profondo per problemi complessi
xhighProfondità di ragionamento extra-alta
maxCapacità di ragionamento massima
Non tutti i modelli supportano tutti i valori. Venice non mappa automaticamente al livello supportato più vicino. I valori non supportati restituiscono un errore 400 dal provider upstream. Ad esempio, inviare xhigh a Claude o max a GPT-5.2 fallirà.In caso di dubbi, usa low, medium o high. Sono i valori più ampiamente supportati.

Supporto dei modelli

OpenAI

ModelloValori supportati
GPT-5.2none, low, medium, high, xhigh
GPT-5.2 Codex, GPT-5.3 Codexlow, medium, high, xhigh

Anthropic

ModelloValori supportati
Claude Opus 4.6, Opus 4.6 Fastlow, medium, high, max
Claude Opus 4.5, Sonnet 4.5, Sonnet 4.6low, medium, high

Google

ModelloValori supportati
Gemini 3 Pro Previewlow, high
Gemini 3.1 Pro Previewlow, medium, high
Gemini 3 Flash Previewminimal, low, medium, high

xAI

I modelli Grok (Grok 4.1 Fast, Grok Code Fast) non supportano reasoning_effort. Specificarlo comporterà un errore.

Altri modelli

ModelloValori supportati
Qwen 3 235B A22B Thinking, Qwen 3.5 35B A3Blow, medium, high
Kimi K2.5low, medium, high
MiniMax M2.5, M2.1low, medium, high
Serie GLM 5.1Solo ragionamento integrato, non configurabile
DeepSeek R1Solo ragionamento integrato, non configurabile

Utilizzo

Passa reasoning_effort come parametro di primo livello o usa il formato nidificato reasoning.effort:
response = client.chat.completions.create(
    model="minimax-m25",
    messages=[{"role": "user", "content": "Prove that there are infinitely many primes"}],
    extra_body={"reasoning": {"effort": "high"}}
)
Anche il formato piatto "reasoning_effort": "high" è accettato.

Disabilitare il ragionamento

Ci sono due modi per disabilitare il ragionamento:
MetodoSintassiCome funziona
reasoning.enabled: false"reasoning": {"enabled": false}Toggle a livello Venice che impedisce l’invio di parametri di ragionamento al provider. Consigliato.
reasoning.effort: "none""reasoning": {"effort": "none"}Passato al provider, che decide come gestirlo. Supportato solo da alcuni modelli (es. GPT-5.x).
Per i modelli che lo supportano, reasoning.enabled: false è l’opzione più affidabile:
ModelloDisabilitabile?
GPT-5.2
GPT-5.2 Codex, GPT-5.3 CodexSì (ma effort none non supportato)
Qwen 3 235B A22B Thinking, Qwen 3.5 35B A3B
Serie GLM 5.1
Claude Opus 4.5/4.6/4.6 Fast, Sonnet 4.5/4.6No (ragiona sempre)
Gemini 3 Pro, 3.1 Pro, 3 FlashNo (ragiona sempre)
DeepSeek R1No (ragiona sempre)
response = client.chat.completions.create(
    model="openai-gpt-52",
    messages=[{"role": "user", "content": "What's the capital of France?"}],
    extra_body={"reasoning": {"enabled": False}}
)

Limiti di token

I modelli di ragionamento generano token di risposta visibili (in content) e token di ragionamento (in reasoning_content). Entrambi contano verso il tuo budget di token.

Impostare un limite di token

Usa max_completion_tokens per limitare il numero totale di token generati dal modello, ragionamento incluso:
{
  "model": "deepseek-v4-flash",
  "messages": [...],
  "max_completion_tokens": 500
}
Anche max_tokens è accettato e si comporta allo stesso modo. Se entrambi sono impostati, max_completion_tokens ha la precedenza. Per ottenere più output visibile, alza il limite, abbassa reasoning_effort o disabilita il ragionamento.

Leggere il dettaglio

L’oggetto usage mostra come è stato speso il tuo budget:
"usage": {
  "completion_tokens": 501,
  "completion_tokens_details": { "reasoning_tokens": 169 },
  "prompt_tokens": 13,
  "total_tokens": 514
}
In questo esempio, 169 token sono stati spesi per il ragionamento e 332 per la risposta visibile. Quando viene raggiunto il limite, finish_reason è length. Il limite superiore di ciascun modello è disponibile come maxCompletionTokens nell’endpoint /v1/models.

Modelli senza ragionamento

max_tokens e max_completion_tokens si comportano allo stesso modo sui modelli senza ragionamento, limitando direttamente l’output visibile.

Discovery delle capacità

Controlla cosa supporta un modello tramite l’endpoint /v1/models:
CampoSignificato
supportsReasoningIl modello ha capacità di ragionamento (chain-of-thought)
supportsReasoningEffortIl modello accetta il parametro reasoning_effort / reasoning.effort

Best practice

  • Per uso generale, imposta come default medium
  • Usa high o xhigh per compiti complessi (matematica, codice, analisi)
  • Usa low per applicazioni sensibili alla latenza
  • Usa reasoning.enabled: false o imposta effort su none per disabilitare il ragionamento
  • In caso di dubbi, usa low, medium o high. Sono i valori più ampiamente supportati