💡 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 openaiopip 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_kno 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
- Documentación oficial de parámetros de Anthropic — referencia directa para
top_kytop_p - OpenAI API Reference – Chat Completions — tabla con todos los parámetros disponibles
- Guía de Prompt Engineering de Anthropic — cómo combinar buenos prompts con los parámetros correctos
- Ollama — para experimentar con modelos locales donde
top_ksiempre está disponible, sin costo de API
Curso de tips y trucos de IA
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE




