Guias
Raciocínio
Peça ao modelo para pensar antes de responder e leia o raciocínio que ele devolve.
Cada modelo lista os níveis de esforço que aceita em capabilities.reasoning_efforts (veja Modelos). Mais esforço usa mais tokens de saída, cobrados pela tarifa de saída. Se você omitir o campo, o modelo usa o padrão dele.
| API | Campo |
|---|---|
| Chat completions | reasoning_effort |
| Responses | reasoning.effort |
| Messages | thinking: {"type": "enabled", "budget_tokens": N} ou {"type": "adaptive"} com 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)Em chat completions e no Responses, um nível que o modelo não lista retorna 400 invalid_request. O Messages mapeia thinking e output_config.effort para o nível mais próximo que o modelo tem: um orçamento de 16000 tokens ou mais é high, de 4000 ou mais é medium, abaixo disso é low, e adaptive é medium.
O texto do raciocínio volta como reasoning_content em chat completions, como itens reasoning no Responses e como blocos thinking no Messages. Quando você reenvia a conversa, o raciocínio dos turnos anteriores é descartado.