Documentación

Tutoriales por semana

Semana 3 · Tu primera función con IA

OpenAI con structured outputs — el modelo devuelve JSON tipado que tu UI consume.

Next.jsOpenAI

20 – 22 jul 2026 · Técnico

Esta página se completa cuando termine Fase 3 del boilerplate (Capa AI). Por ahora muestra el contrato.

Qué vas a tener al final

  • ✅ Una función en tu producto que llama a OpenAI y devuelve datos estructurados (JSON tipado con Zod).
  • ✅ Renderizado de ese JSON en UI — sin "parsear texto del modelo".
  • ✅ Entendimiento de costo y latencia (por qué gpt-4o-mini por default).

Concepto: structured outputs

En vez de pedirle al modelo "responde en formato JSON" (y esperar a que cumpla), le das un schema con Zod y la API garantiza que el JSON cumple ese schema. Cambia todo: el modelo ya no es una caja negra, es una función con tipos.

JavaScript
import { z } from "zod"
import { generateObject } from "@/lib/openai/structured"
 
const schema = z.object({
  resumen: z.string(),
  puntos_clave: z.array(z.string()),
  sentimiento: z.enum(["positivo", "neutral", "negativo"]),
})
 
const resultado = await generateObject(schema, "Analiza este review: ...")
// resultado.sentimiento === "positivo"  ← garantizado, tipado

Pasos (preview)

  1. Agregar OPENAI_API_KEY a .env.local.
  2. Importar el helper generateObject.
  3. Definir el schema Zod de lo que quieres devolver.
  4. Llamar desde un Server Action o API route.
  5. Renderizar el resultado en una página.

Entregable

Una función con IA devolviendo datos estructurados, demostrada en tu UI.