CarlosSeijas
← Volver a los blogs

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

Tecnología
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:

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?

Paso 3: Conseguir la API Key de OpenAI

Para obtener una API Key de OpenAI, sigue estos pasos:

  1. Ve a la página oficial de OpenAI.
  2. Regístrate o inicia sesión en tu cuenta.
  3. Accede al panel de control de OpenAI.
  4. En el header, selecciona "API Keys".

Boton para comenzar a crear en openai

  1. Deberas crear una organizacion si no la tienes creada o simplemente colocar "personal"

Formulario de organizacion en openai

  1. Deberas elegir un nombre para tu proyecto y un nombre para tu apiKey

Formulario de projectos en openai

  1. Crea una nueva clave API y guárdala en un lugar seguro.

  2. Necesitaras recargar al menos 5 USD como creditos para poder utilizar la API de openAI

Formulario de pagos en 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.

Ejemplo con postman

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!