Inicio > Desarrollo Web > Tutoriales de Javascript > Cómo crear un chatbot usando Node.js y APIs de inteligencia artificial

Cómo crear un chatbot usando Node.js y APIs de inteligencia artificial

Diego Cortés
Diego Cortés
September 19, 2024
Cómo crear un chatbot usando Node.js y APIs de inteligencia artificial

En la era digital actual, los chatbots se han convertido en una herramienta invaluable para empresas y desarrolladores. No solo mejoran la experiencia del usuario, sino que también optimizan procesos y ahorran tiempo. En este artículo, exploraremos cómo crear un chatbot utilizando Node.js y varias APIs de inteligencia artificial. A lo largo del contenido, veremos los requisitos previos, la instalación de las herramientas necesarias, el desarrollo del chatbot y algunas pruebas.

Prerrequisitos

Antes de comenzar, es fundamental que tengas algunas herramientas y conocimientos básicos:

Conocimientos necesarios

  • Familiaridad con JavaScript.
  • Conocimientos básicos sobre Node.js y su funcionamiento.
  • Entendimiento general sobre APIs y cómo funcionan.

Herramientas requeridas

  • Node.js: Para ejecutar JavaScript en el servidor.
  • npm (Node Package Manager): Viene instalado con Node.js y se utiliza para instalar dependencias.
  • Editor de código: Preferiblemente Visual Studio Code o cualquier editor de tu elección.
  • API de inteligencia artificial: Puedes elegir entre varias opciones como OpenAI, Dialogflow o IBM Watson.

Instalación de Node.js

Descarga e instalación

  1. Dirígete a la página oficial de Node.js.
  2. Descarga la versión recomendada para la mayoría de los usuarios.
  3. Sigue las instrucciones de instalación que aparecen en pantalla.

Verificación de la instalación

Para asegurarte de que Node.js y npm se han instalado correctamente, abre tu terminal y ejecuta:

node -v
npm -v

Si ambas versiones se muestran correctamente, estás listo para comenzar.

Creando un nuevo proyecto

Primero, crearemos un nuevo directorio para el proyecto y lo inicializaremos.

Paso 1: Crear un directorio

Abre la terminal y ejecuta los siguientes comandos:

mkdir my-chatbot
cd my-chatbot
npm init -y

Esto creará un nuevo directorio llamado my-chatbot y un archivo package.json.

Paso 2: Instalar dependencias

Vamos a instalar algunas bibliotecas necesarias para el desarrollo del chatbot. Vamos a utilizar Express para crear un servidor y Axios para realizar llamadas a la API:

npm install express axios body-parser

Estructura del proyecto

Es recomendable mantener una estructura organizada en tu proyecto. Crea los siguientes archivos y carpetas:

my-chatbot/
│
├── server.js
├── package.json
└── README.md

Desarrollo del chatbot

Ahora que tenemos configurado el entorno, pasemos a la creación del chatbot.

Paso 1: Configuración del servidor

Abramos server.js y configuremos un servidor básico.

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(bodyParser.json());

app.get('/', (req, res) => {
    res.send('¡Hola, soy un chatbot!');
});

app.listen(PORT, () => {
    console.log(`Servidor corriendo en http://localhost:${PORT}`);
});

Paso 2: Integrar la API de Inteligencia Artificial

Para este ejemplo, utilizaremos OpenAI como nuestra API de IA. Deberás crear una cuenta en OpenAI y obtener una clave de API.

Paso 2.1: Instalar la biblioteca de OpenAI

Ejecuta el siguiente comando para instalar la biblioteca de cliente:

npm install openai

Paso 2.2: Configurar la API en el servidor

Modifica server.js para incluir la lógica del chatbot. Agrega el siguiente código:

const { Configuration, OpenAIApi } = require('openai');

const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY, // Asegúrate de setear tu clave API
});
const openai = new OpenAIApi(configuration);

app.post('/chat', async (req, res) => {
    const userMessage = req.body.message;

    try {
        const response = await openai.createChatCompletion({
            model: 'gpt-3.5-turbo', // o el modelo que prefieras
            messages: [{ role: 'user', content: userMessage }],
        });

        const botMessage = response.data.choices[0].message.content;
        res.json({ reply: botMessage });
    } catch (error) {
        console.error("Error al comunicarse con OpenAI:", error);
        res.status(500).json({ error: 'Error de servidor' });
    }
});

Para probar esto, puedes usar Postman o cualquier herramienta para realizar peticiones HTTP. Asegúrate de enviar un JSON en el cuerpo de la solicitud, como:

{
    "message": "¿Cuál es el clima hoy?"
}

Paso 3: Ejecución del servidor

Para ejecutar el servidor, usa el siguiente comando:

node server.js

Dirígete a tu navegador y verifica que el servidor esté corriendo accediendo a http://localhost:3000.

Conclusiones

Crear un chatbot utilizando Node.js y APIs de inteligencia artificial es un proceso accesible y emocionante. Este artículo te brindó una guía paso a paso sobre cómo configurar un servidor básico y conectar con una API de IA, específicamente OpenAI. 

Recuerda que esto es solo el comienzo. Existen muchas funcionalidades que puedes añadir a tu chatbot, como la integración con plataformas de mensajería (WhatsApp, Telegram), almacenamiento de contexto y mejorar la lógica de conversación.

Recursos adicionales

Con estas herramientas e información, estás preparado para llevar tu chatbot al siguiente nivel. ¡Adelante!

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Categorías

Page loaded in 30.03 ms