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

Los asistentes de chat han revolucionado la forma en que interactuamos con la tecnología. Gracias a la API de OpenAI, ahora es posible integrar modelos avanzados como GPT-4 en aplicaciones de chat con facilidad. En este tutorial, aprenderás a construir un chat funcional utilizando Node.js y la API de OpenAI.
Requisitos previos
Antes de comenzar, asegúrate de tener instalados los siguientes elementos:
- Node.js (versión 18 o superior)
- Una cuenta en OpenAI y una API Key
- npm o pnpm para gestionar dependencias
Paso 1: Configurar el proyecto
Crea una carpeta para tu proyecto y ejecuta el siguiente comando para ir a el:
mkdir openai-chat
cd openai-chat
Paso 2: Configurar el archivo package.json
Crea un archivo package.json con el siguiente 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"
}
}
Instala las dependencias:
pnpm install
¿Para qué sirve cada librería?
- dotenv: Permite manejar variables de entorno de manera segura.
- express: Framework de Node.js para crear servidores web.
- nodemon: Herramienta que reinicia automáticamente el servidor cuando hay cambios en el código.
- openai: Biblioteca oficial de OpenAI para interactuar con su API.
Paso 3: Conseguir la API Key de OpenAI
Para obtener una API Key de OpenAI, sigue estos pasos:
- Ve a la página oficial de OpenAI.
- Regístrate o inicia sesión en tu cuenta.
- Accede al panel de control de OpenAI.
- En el header, selecciona "API Keys".
- Deberas crear una organizacion si no la tienes creada o simplemente colocar "personal"
- Deberas elegir un nombre para tu proyecto y un nombre para tu apiKey
-
Crea una nueva clave API y guárdala en un lugar seguro.
-
Necesitaras recargar al menos 5 USD como creditos para poder utilizar la API de openAI
Paso 4: Configurar variables de entorno
Crea un archivo .env en la raíz del proyecto y agrega la clave API obtenida:
OPENAI_API_KEY=tu_api_key_aqui
Paso 5: Crear el servidor en Node.js
Crea un archivo server.js y configura un servidor Express:
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");
});
Paso 6: Probar el chat
Ejecuta el servidor:
pnpm dev
Puedes probar el chat enviando solicitudes desde un cliente HTTP como Postman o desde la terminal con curl:
curl -X POST http://localhost:3000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hola, ¿puedes ayudarme?"}'
Tambien puedes probar enviando la misma solicitud desde postman
¿Qué es Postman?
Postman es una herramienta utilizada por desarrolladores para probar APIs. Permite enviar solicitudes HTTP y recibir respuestas sin necesidad de escribir código. Con Postman, puedes simular interacciones con tu servidor, probar diferentes configuraciones y verificar que los datos se envían y reciben correctamente.
Conclusión
En este tutorial, hemos aprendido a crear un chat con la API de OpenAI y Node.js. Puedes mejorar esta implementación agregando historial de conversaciones, autenticación de usuarios y personalización del modelo.
🎉 ¡Espero que este tutorial te ayude a crear tu propio asistente de chat con OpenAI!