Curso de tips y trucos de IA

Toma las primeras clases gratis

💡 TL;DR: Aprende a ajustar los tres hiperparámetros que más impactan la calidad de las respuestas de cualquier LLM, con ejemplos de código reales para la API de OpenAI y Anthropic.

🎯 ¿Qué vas a lograr?

Al terminar este tutorial vas a poder configurar conscientemente temperatura, top-p y top-k en tus llamadas a la API de cualquier modelo de lenguaje. En lugar de usar los valores por defecto y rezar, vas a elegir el perfil correcto según si tu tarea requiere precisión técnica, escritura creativa o análisis estructurado.

🧰 Requisitos

  • Python 3.8+ instalado
  • Una API key de OpenAI o Anthropic (con acceso a cualquier modelo)
  • Conocimiento básico de cómo hacer una llamada a una API (pip install openai o pip install anthropic)
  • Haber visto o no el Curso de Tips y Trucos de IA en Platzi — este tutorial lo complementa directamente

🚀 Paso a paso

Paso 1: Entiende qué controla cada parámetro (sin matemáticas)

Antes de tocar código, necesitás tener el modelo mental correcto:

ParámetroQué controlaRango típico

temperature

Qué tan "arriesgado" es el modelo al elegir palabras

0.0 – 2.0

top_p

El porcentaje acumulado de probabilidad del que el modelo puede elegir

0.0 – 1.0

top_k

Cuántas palabras candidatas considera en cada paso

1 – 100+

La metáfora más útil: imaginá que el modelo tiene un dado. temperature decide si el dado está cargado o no, top_p decide cuántas caras tiene ese dado, y top_k pone un límite duro de cuántas opciones puede considerar.

Nota: top_k no está disponible en la API de OpenAI directamente, pero sí en Anthropic, Google Gemini y cuando corres modelos locales con Ollama.

Paso 2: Configura tres perfiles según tu caso de uso

No existe "el mejor valor" universal. Lo que sí existen son perfiles probados para distintas tareas:

python

# perfiles_llm.py

import anthropic

client = anthropic.Anthropic(api_key="TU_API_KEY")

def llamar_con_perfil(prompt: str, perfil: str) -> str:
    perfiles = {
        # Para código, SQL, JSON, respuestas factuales
        "preciso": {
            "temperature": 0.1,
            "top_p": 0.9,
            "top_k": 10,
        },
        # Para redacción, brainstorming, copy creativo
        "creativo": {
            "temperature": 0.9,
            "top_p": 0.95,
            "top_k": 50,
        },
        # Para análisis, resúmenes, respuestas equilibradas
        "balanceado": {
            "temperature": 0.5,
            "top_p": 0.9,
            "top_k": 30,
        },
    }

    config = perfiles[perfil]

    respuesta = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        temperature=config["temperature"],
        top_p=config["top_p"],
        top_k=config["top_k"],
        messages=[{"role": "user", "content": prompt}],
    )
    return respuesta.content[0].text


# Prueba los tres perfiles con el mismo prompt
prompt = "Explica qué es una API REST"

for perfil in ["preciso", "creativo", "balanceado"]:
    print(f"\n--- Perfil: {perfil.upper()} ---")
    print(llamar_con_perfil(prompt, perfil))

Corré este script y compará las respuestas. Vas a notar diferencias reales en tono, longitud y vocabulario.

Paso 3: Aplica el perfil correcto a tu flujo de trabajo

Una regla práctica para no pensar de más:

python

# Regla de tres para elegir tu perfil:

# ¿Necesitás que el output sea reproducible y técnicamente correcto?
# → temperature < 0.3  (código, SQL, extracción de datos)

# ¿Querés variedad y frescura en cada ejecución?
# → temperature > 0.7  (copy, ideas, títulos alternativos)

# ¿Estás analizando documentos o resumiendo información?
# → temperature entre 0.3 y 0.6  (el modelo razona sin alucinar)

⚠️ Errores comunes (y cómo evitarlos)

Error 1: Subir temperature para "hacer al modelo más inteligente" Temperature alta no aumenta la inteligencia del modelo — solo aumenta su aleatoriedad. Si tus respuestas son malas con temperature=0.7, no van a mejorar con temperature=1.5. El problema probablemente está en tu prompt, no en el parámetro. Bajá la temperatura primero y revisá el prompt.

Error 2: Usar top_p y top_k simultáneamente sin criterio Anthropic y muchos investigadores recomiendan no modificar ambos al mismo tiempo salvo que sepas exactamente qué hacés. Si ajustás top_k, dejá top_p en su valor por defecto (generalmente 1.0), y viceversa. Combinarlos mal puede producir resultados más erráticos que usar solo temperature.

🔥 Tip extra: más allá del curso

El curso muestra cómo configurar estos parámetros en la interfaz, pero hay algo que no se menciona: podés usar diferentes temperaturas en distintas partes de un mismo pipeline.

Por ejemplo, en un agente que primero razona y luego escribe:

python

# Paso 1: razonamiento con temperatura baja (precisión)
plan = llamar_con_perfil(
    "Analiza este contrato y lista los riesgos legales: [contrato]",
    perfil="preciso"
)

# Paso 2: redacción del resumen ejecutivo con temperatura media
resumen = llamar_con_perfil(
    f"Basado en este análisis: {plan}\n\nEscribe un resumen ejecutivo para el CEO.",
    perfil="balanceado"
)

Esta técnica — llamada temperature chaining — es estándar en pipelines de producción con LangChain, LlamaIndex y agentes personalizados. El curso te da el concepto, esta combinación te da el siguiente nivel.

📚 Recursos recomendados

Curso de tips y trucos de IA

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados