Cómo crear un chat con la API de OpenAI y Node.js

¿Alguna vez has querido crear tu propio ChatGPT? Pues resulta que no es tan complicado como parece. En mi experiencia, integrar la API de OpenAI en una aplicación es una de esas cosas que suena súper compleja pero que en realidad puedes tener funcionando en menos de una hora.
En este tutorial te voy a enseñar a crear un chat completamente funcional usando Node.js y la API de OpenAI. Spoiler: es más fácil de lo que crees.
Requisitos previos
Antes de empezar, asegúrate de tener estas cosas listas:
- Node.js (versión 18 o superior) - si no lo tienes, bájalo de nodejs.org
- Una cuenta en OpenAI y una API Key (te explico cómo conseguirla más abajo)
- npm o pnpm para manejar las dependencias
Paso 1: Configurar el proyecto
Vamos a crear la carpeta para nuestro proyecto. Abre tu terminal y ejecuta:
mkdir openai-chat
cd openai-chat
Paso 2: Configurar el archivo package.json
Crea un archivo package.json con este contenido:
{
"name": "openai-chat",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"dev": "nodemon server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"dotenv": "^16.4.7",
"express": "^4.21.2",
"nodemon": "^3.1.9",
"openai": "^4.82.0"
}
}
Ahora instala las dependencias:
pnpm install
¿Para qué sirve cada librería?
Te explico rapidito qué hace cada una:
- dotenv: Para manejar variables de entorno de forma segura (aquí es donde guardaremos la API key)
- express: El framework más popular de Node.js para crear servidores web
- nodemon: Tu mejor amigo durante el desarrollo - reinicia el servidor automáticamente cuando cambias código
- openai: La librería oficial de OpenAI para conectar con su API
Paso 3: Conseguir la API Key de OpenAI
Aquí viene la parte que a veces asusta a la gente, pero tranqui que es súper sencillo:
- Ve a la página oficial de OpenAI
- Regístrate o inicia sesión si ya tienes cuenta
- Dirígete al panel de control
- En el header, busca "API Keys"
- Si no tienes una organización, créala (puedes poner simplemente "personal")
- Elige un nombre para tu proyecto y para tu API Key
-
Crea tu API Key y guárdala en un lugar seguro
-
Ojo con esto: necesitarás recargar al menos 5 USD como créditos para usar la API
Paso 4: Configurar variables de entorno
Crea un archivo .env en la raíz del proyecto y agrega tu API Key:
OPENAI_API_KEY=tu_api_key_aqui
Lo importante es que nunca subas este archivo a Git. Por eso siempre agrega .env a tu .gitignore.
Paso 5: Crear el servidor en Node.js
Aquí viene la magia. Crea un archivo server.js y pon este código:
const express = require("express");
const dotenv = require("dotenv");
const OpenAI = require("openai");
dotenv.config();
const app = express();
app.use(express.json());
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
app.post("/chat", async (req, res) => {
try {
const { message } = req.body;
const response = await openai.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: message }],
});
res.json({ reply: response.choices[0].message.content });
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3000, () => {
console.log("Servidor corriendo en http://localhost:3000");
});
¿Ves lo simple que es? Con apenas unas líneas de código ya tienes un servidor que puede hablar con ChatGPT.
Paso 6: Probar el chat
Ejecuta el servidor:
pnpm dev
Ahora puedes probar tu chat de varias formas. Desde la terminal con curl:
curl -X POST http://localhost:3000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hola, ¿puedes ayudarme?"}'
O si prefieres algo más visual, usa Postman:
¿Qué es Postman?
Si nunca has usado Postman, te explico rápidamente: es como el mejor amigo de cualquier desarrollador que trabaja con APIs. Te permite enviar peticiones HTTP sin escribir código, ver las respuestas en un formato bonito y probar diferentes configuraciones fácilmente.
¿Y ahora qué?
Mira lo que acabas de lograr: tienes un chat funcionando con inteligencia artificial en menos de 50 líneas de código. Bastante impresionante, ¿no?
Obviamente, esto es solo el principio. Podrías agregar un montón de mejoras: historial de conversaciones, autenticación de usuarios, diferentes personalidades para el bot, límites de uso... las posibilidades son infinitas.
En mi experiencia, lo más divertido viene después: experimentar con diferentes prompts, ajustar la temperatura del modelo, probar con diferentes versiones... ahí es donde realmente puedes crear algo único.
¡Espero que disfrutes creando tu propio asistente de IA!
Comentarios
Posts relacionados

Guía Completa de NVM: Domina Node Version Manager
Aprende qué es NVM, sus ventajas, cómo instalarlo y gestionarlo para optimizar tus flujos de trabajo de desarrollo con Node.js.

GPT-4o: La nueva generación de imágenes de OpenAI
Explora las nuevas capacidades de generación de imágenes de GPT-4o, incluyendo generación en tiempo real, edición de video y la nueva interfaz de usuario.