CarlosSeijas
← Volver a los blogs

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

Código
OpenAINode.jsChatIA
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:

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:

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:

  1. Ve a la página oficial de OpenAI
  2. Regístrate o inicia sesión si ya tienes cuenta
  3. Dirígete al panel de control
  4. En el header, busca "API Keys"

Boton para comenzar a crear en openai

  1. Si no tienes una organización, créala (puedes poner simplemente "personal")

Formulario de organizacion en openai

  1. Elige un nombre para tu proyecto y para tu API Key

Formulario de projectos en openai

  1. Crea tu API Key y guárdala en un lugar seguro

  2. Ojo con esto: necesitarás recargar al menos 5 USD como créditos para usar la API

Formulario de pagos en openai

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.

Ejemplo con postman

¿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