IntermedioTiempo de lectura 8 min·

Crea tu primera app de IA con la API de OpenAI

Con los fundamentos claros, toca escribir código. Con Node.js como ejemplo, este tutorial te acompaña en tu primera petición de chat a la API de OpenAI y repasa detalles de producción como el streaming, el coste y el manejo de errores.

PorAI Resource Hub

Requisitos previos

Primero regístrate en la plataforma de OpenAI y crea una clave de API; guárdala en una variable de entorno. Nunca la escribas en el código ni la subas a un repositorio.

export OPENAI_API_KEY="sk-..."

Instala el SDK

El SDK oficial de Node.js es la vía más rápida para empezar:

npm install openai

Envía tu primera petición de chat

El código de abajo envía un mensaje a gpt-4o-mini e imprime la respuesta. El array messages lleva el historial de la conversación, y role puede ser system, user o assistant.

import OpenAI from 'openai';

const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const res = await client.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [
    { role: 'system', content: 'You are a helpful assistant.' },
    { role: 'user', content: 'Describe large language models in one sentence.' },
  ],
});

console.log(res.choices[0].message.content);

Usa la salida en streaming

Las apps de chat suelen buscar el efecto de "escribir sobre la marcha". Activando stream recibes la salida a medida que se genera, y la experiencia mejora muchísimo.

const stream = await client.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [{ role: 'user', content: 'Write a short poem about spring' }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}

Coste y manejo de errores

La API se factura por token: fija un max_tokens razonable y vigila el consumo; elegir un modelo más pequeño (como la serie mini) puede reducir el coste drásticamente.

Las peticiones de red pueden agotar el tiempo o toparse con límites de velocidad: en producción añade reintentos, timeouts y manejo de excepciones, además de validación y moderación de contenido para la entrada del usuario.

Construir conversaciones de varios turnos

Una sola llamada a la API responde una pregunta, pero las apps reales mantienen una conversación. La clave es acumular el array messages: tras cada ronda, añade el mensaje del usuario y la respuesta del asistente, y envía el historial completo en la siguiente llamada. El mensaje del sistema permanece en la posición cero para anclar el comportamiento del modelo.

Vigila tu ventana de contexto: cada turno añade tokens. En conversaciones largas, considera resumir mensajes antiguos o truncar el historial para mantenerte dentro de los límites y reducir costes.

Del prototipo a producción

Antes de lanzar, añade algunos elementos esenciales de producción: fija un límite de max_tokens para evitar facturas sorpresa, implementa lógica de reintentos con retroceso exponencial para errores de límite de tasa 429, almacena en caché los prompts frecuentes para ahorrar tokens y añade registros estructurados para rastrear patrones de uso y depurar problemas.

OpenAIAPIDesarrollo de appsNode.js

Tutoriales relacionados