Guide
Ragionamento
Chiedi al modello di ragionare prima di rispondere e leggi il ragionamento che restituisce.
Ogni modello elenca i livelli che accetta in capabilities.reasoning_efforts (vedi Modelli). Un livello più alto usa più token di output, che si pagano alla tariffa di output. Se ometti il campo, il modello usa il suo predefinito.
| API | Campo |
|---|---|
| Chat completions | reasoning_effort |
| Responses | reasoning.effort |
| Messages | thinking: {"type": "enabled", "budget_tokens": N} o {"type": "adaptive"} con output_config.effort |
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])
r = client.chat.completions.create(
model="notholy-specter",
reasoning_effort="high",
messages=[{"role": "user", "content": "Is a JWT signed with alg none ever acceptable? Answer in one line."}],
)
print(r.choices[0].message.content)Nelle chat completions e in Responses, un livello che il modello non elenca restituisce 400 invalid_request. Messages porta thinking e output_config.effort al livello più vicino che il modello ha: un budget di 16000 token o più è high, 4000 o più è medium, meno è low, e adaptive è medium.
Il testo del ragionamento torna come reasoning_content nelle chat completions, come elementi reasoning in Responses e come blocchi thinking in Messages. Quando rimandi la conversazione, il ragionamento dei turni precedenti viene scartato.