Saltar al contenido
NotHolyDocs

Guías

Razonamiento

Pide al modelo que piense antes de responder y lee el razonamiento que devuelve.

Ver en Markdown

Cada modelo lista los niveles de esfuerzo que acepta en capabilities.reasoning_efforts (consulta Modelos). Más esfuerzo consume más tokens de salida, que se cobran a la tarifa de salida. Si omites el campo, el modelo usa su valor por defecto.

APICampo
Chat completionsreasoning_effort
Responsesreasoning.effort
Messagesthinking: {"type": "enabled", "budget_tokens": N} o {"type": "adaptive"} con output_config.effort
Python
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)

En chat completions y en Responses, un nivel que el modelo no lista devuelve 400 invalid_request. Messages asigna thinking y output_config.effort al nivel más cercano que tenga el modelo: un presupuesto de 16000 tokens o más es high, de 4000 o más es medium, por debajo es low, y adaptive es medium.

El texto del razonamiento vuelve como reasoning_content en chat completions, como items reasoning en Responses y como bloques thinking en Messages. Cuando reenvías la conversación, el razonamiento de los turnos anteriores se descarta.

Siguientes pasos