Saltar al contenido principal

Introducción a la funcionalidad

Los modelos de razonamiento son modelos de lenguaje avanzados optimizados para la resolución de problemas complejos y tareas de razonamiento. Mejoran la precisión en la resolución de problemas mediante la salida de pasos de razonamiento detallados (cadena de pensamiento).

Casos de uso típicos

  • Resolución de problemas complejos: adecuados para escenarios que requieren derivación paso a paso y pasos lógicos claros, como matemáticas y razonamiento científico.
  • Sistemas de apoyo a la toma de decisiones: proporcionan procesos de razonamiento detallados para respaldar el análisis de decisiones y ayudar a comprender la lógica detrás de ellas.
  • Educación y formación: ayudan a los usuarios a aprender y comprender conocimientos complejos, proporcionando procesos de derivación detallados.

Instalación y preparación

Antes de usar los modelos de razonamiento, asegúrate de haber instalado la versión más reciente del SDK de OpenAI:
pip install -U openai

Método de llamada a la API

Usa los modelos de razonamiento llamando al endpoint /chat/completions.

Descripción de los parámetros de solicitud

  • max_tokens: establece el número máximo de tokens que puede generar el modelo.
  • temperature: se recomienda establecerlo entre 0.5 y 0.7 (0.6 recomendado) para equilibrar la creatividad y la lógica de la salida.
  • top_p: se recomienda establecerlo en 0.95.

Código de solicitud de ejemplo

Solicitud con salida en streaming

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.highwayapi.ai/openai")
messages = [
    {"role": "user", "content": "Explica la segunda ley de Newton."}
]

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=messages,
    stream=True,
    max_tokens=4096
)

content = ""
reasoning_content = ""
for chunk in response:
    if chunk.choices[0].delta.content:
        content += chunk.choices[0].delta.content
    if chunk.choices[0].delta.reasoning_content:
        reasoning_content += chunk.choices[0].delta.reasoning_content

print("Respuesta final:", content)
print("Proceso de razonamiento:", reasoning_content)

Solicitud con salida no streaming

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[
        {"role": "user", "content": "¿Qué es el efecto invernadero? ¿Cómo se puede mitigar?"}
    ],
    stream=False,
    max_tokens=4096
)

content = response.choices[0].message.content
reasoning_content = response.choices[0].message.reasoning_content

print("Respuesta final:", content)
print("Proceso de razonamiento:", reasoning_content)

Gestión del contexto

El contenido de razonamiento devuelto por el modelo no se concatena automáticamente en la siguiente ronda de conversación; el usuario debe gestionar manualmente el historial de la conversación:
messages.append({"role": "assistant", "content": content})
messages.append({"role": "user", "content": "Continúa explicando la solución."})

Lista de modelos compatibles

Método de facturación

  • La facturación se realiza según el número de tokens de entrada y salida.
  • Para conocer los estándares de facturación específicos y las reglas de conversión, consulta la página de detalles del modelo.

Notas y prácticas recomendadas

  • No añadas instrucciones de razonamiento en el mensaje system; especifica las instrucciones directamente en el mensaje user.
  • En problemas matemáticos, indica claramente los requisitos, por ejemplo: “Razona paso a paso e indica claramente la respuesta final.”
  • Para evitar que el modelo omita la fase de razonamiento, se recomienda forzar al modelo a añadir un salto de línea antes de la salida.