Quiero que observes esto porque es un proyecto que se está trabajando para una agencia de viajes reutilizando todo el contenido y el material del vídeo anterior pero agregándole cierta funcionalidades.
Este blog post está basado en la serie destinada a la creación de un chatbot de whatsapp.
Recuerda que si tu quieres empezar a crear tu propio chatbot de whatsapp te dejo el enlace al curso.
En este blog, siguiendo la tematica del video, te voy a enseñar cómo desplegarlo en un servidor vps en la nube voy a mostrarte el funcionamiento en este caso es un Bot para una agencia de viajes con el cual voy a entablar una conversación:
Hola, qué tal, me encuentro en amsterdam, Ya llegué estoy en el aeropuerto y quiero saber cuál es la manera más económica y rápida para poder moverme hasta el centro de la ciudad gracias en este caso estoy enviando una nota de voz con lo que puede ser un mensaje muy muy normal en cuando tú viajas y no sabes cómo desplazarte en la ciudad en este caso estoy preguntando de Cuál es la manera más rápida y económica para poder moverme desde el Aeropuerto hasta el centro de la ciudad lo estoy enviando como nota de voz esta nota de voz puede ser en cualquier idioma y vemos cómo se ha utilizado la Inteligencia artificial de Open Ai en este caso whisper para poder hacer la transcripción básicamente me transcribe todo el mensaje esto lo hemos visto en el vídeo anterior.
Funcionalidades del CHATBOT de Whatsapp
El chatbot tiene la capacidad de transcribir todo el mensaje en este caso me dice que Ok que internamente yo he declarado cuáles son los empleados o los agentes que me pueden ayudar a esta necesidad en este en este caso tengo declarado un empleado que es Jorge y es la persona encargada para atender las dudas y preguntas sobre el Tour o la ciudad en este caso de Amsterdam.
Integración con Inteligencia Artificial
La idea es los empleados tú los puedas cargar desde una base de datos y poder colocar un prompt más específico lo que quiero que observes es que la Inteligencia artificial me ha dado una respuesta y me ha dado la respuesta en texto aquí en la consola me dice que la manera más económica y rápida de moverte desde el Aeropuerto hasta el centro de la ciudad es tomando el tren la estación se encuentra justamente debajo del aeropuerto y los trenes hacia el centro de la ciudad salen cada 10 minutos el viaje dura aproximadamente de 15 a 20 minutos eso está en texto.
Si nosotros vamos a la conversación de WhatsApp él me ha enviado una nota de voz vamos a escucharla la manera más económica y rápida de moverte desde el Aeropuerto hasta el centro de la ciudad es tomando el tren la estación de tren se encuentra justo debajo del aeropuerto y los trenes hacia el centro de la ciudad salen cada tres minutos
Chatbot de Whatsapp con ChatGPT ¿Es posible?
Lo que pasó es que hemos agarrado toda esta esta conversación y básicamente la hemos transcrito esto nos da como opción que podamos volver a enviarle otro mensaje diciéndole por ejemplo vamos a confirmar Ok entonces bajo al aeropuerto y espero 15 minutos para el siguiente tren Se acabo de ocurrir esa pregunta en este momento el Bot en este caso es capaz de saber el contexto de la conversación de cuál es la respuesta anterior, como hemos dado contexto a está parte de la conversación sencillamente a través del uso de ChatGPT.
Cómo podemos desplegarlo
Bueno este código ya está disponible si tú lo quieres usar está en el repositorio de githud lo puedes conseguir aquí leifer Méndez busca el nombre del proyecto que es Bot WhatsApp o WS Open.
¿Qué vas a hacer con este reporte? vas a ir aquí uno si tú tienes conocimientos de githud y sabes que puedes crear un Clon.
si tú eres una persona novata que no tiene mucha idea de lo que estás haciendo No pasa nada asegúrate que estás aquí donde dice https una vez más aquí donde dice https vas a seleccionar todo esto le vas a dar clic derecho copiar o le vas a dar clic a esto que está aquí que es lo mismo te copias y luego te vas a ir al servidor.
¿Qué servidor vas a usar?
Puedes usar digital option puedes usar aws puedes usar en este caso yo voy a utilizar Don web, te vas a ir a mis servicios y en el apartado de mis servicios pues te van a salir los servicios que tú has seleccionado o los cuales quieres contratar o quieres disfrutar en este caso Yo ya tengo un servidor un Vps los Vps son como una máquina virtual sí básicamente que está dedicada para ti en la nube.
¿Que recursos estoy utilizando?
Cosas que yo estoy utilizando para las personas que dicen Oye qué exactamente estás utilizando tú para esto yo estoy utilizando un vps que tiene dos virtual cpu y dos gigabytes de ram eso es lo que yo tengo dos virtual cpu y 2 gb de ram.
Sistema Operativo
¿qué software? ¿Qué sistema operativo estás utilizando? Estoy utilizando ubuntu en su versión 20.020.04. Esa es la versión que yo estoy utilizando si tú ya conoces un poco más de esto pues pue des instalar la versión de sistema operativo de Linux ubuntu que mejor te guste que se aplique a tu necesidades.
¿Qué vamos a hacer vamos a conectarnos?
Envía ssh sí protocolo ssh para que para poder Acceder al servidor para poder instalar nuestras cosas. Si tú estás utilizando digital option los términos son los mismos obviamente pues la interfaz cambia pero tienes que buscar Cuáles son la IP pública la IP pública es un es un dato que todos los proveedores de Cloud te lo van a tener que ofrecer es la ip asignada a tu servidor la IP pública también te van a dar un usuario que en este caso es un usuario root para mí. Te van a dar un puerto que en este caso para mí el 5321 para ti puede que cambie Puede que sea el 22 0 puede que sea otro y te van a dar una contraseña.
Cómo vas a acceder vas a ir a tu Power share o vas a ir a tu cmd a tu terminal a lo que estés utilizando?
Vas a escribir ssh yo recomiendo que uses por ejemplo esta terminal o del puerto Si tú no ves un puerto no lo coloques porque por defecto te han asignado el 2221 unos ftp y el otro no vale entonces lo pegas y le das a dar enter.
Cuando ejecutas esto te debe aparecer un mensaje muy similar a esto o otro que dice oye estás seguro escribe Yes Tú escribes Yes aquí lo que está lo que está pasando es que el servidor te está pidiendo la contraseña y será la que te han asignado, si es porque debes de instalar Node y ojo tiene que ser la versión 18 o superior 18 o superior 16 no 18 superior Entonces te aseguras de tener Node instalado y una vez que tienes eso recuerdas el https que copiamos pues vas a ir al https que copiamos y te vas a buscar un directorio de tu gusto en este caso aquí mismo donde estoy es el directorio de mi Rut y colocas ya lo que está dentro del repositorio.
Estamos viendo aquí los datos son exactamente lo que nosotros estamos observando en nuestro servidor ya los archivos están en el servidor y en lo que resta tienes que ejecutar npm install
en este momento que ejecutamos npm install
se van a instalar todas las dependencias necesarias para que nuestro Bot funcione en la nube Así que aquí es solamente es cuestión de esperar. Esto puede tomar unos minutos.
¿Cuáles credenciales necesitas?
Primero que todo irte a lo que sería la plataforma de OpenAI y buscar tus Api Keys vienes aquí generas una nueva Api y esa Api Key la vas a colocar en la línea 2 donde dice opening, fíjate que empieza con skg escribiendo touch y el archivo que voy a crear que voy a crear se llama punto .env voy a escribir nano espacio.nb que es para abrir editar ese archivo, lo copio lo que ya tengo yo aquí ahí podemos ver lo que he copiado después le voy a dar control o para guardar enter y control x para salir vuelvo y ejecuto el comando de npm Start
y observamos que ya se ha iniciado el Bot y me dice ok tienes que escanear el código QR y aquí viene la cosa interesante que ahí tenemos ya nuestro página de QR para escanear.
Como paso siguiente voy a proceder a escanear es importante tener presente que como cada minuto aproximadamente cambia el código QR entonces voy a buscar aquí mi celular y voy a escanear. Voy a escanear el código QR así que le doy aquí abre la aplicación de WhatsApp para escanear y escaneo ahí se está vinculando el dispositivo, una vez finalizado me dice que le coloque un nombre ya le he colocado un nombre y si yo me voy a mi consola del servidor veo que nace yo voy a enviar un nota de voz.
Modelo de prueba notas de voz con Chatbot de whatsapp
Hola qué tal me encuentro en Madrid en el aeropuerto de Barajas y quisiera saber cómo transportarme hacia el centro de la ciudad que transporte tengo que tomar envío una nota de voz, vemos que aquí me vuelve a responder Dame un momento para escucharte pero ojo que este este mensaje ya me lo está devolviendo el Bot que está en la nube que está hospedado en este caso en don web pero que puede haber sido perfectamente Don web, aws, digital Ocean, Así es diferentes Bots que nosotros tengamos ejecutándose.
Entonces voy a decirle que Quiero agregar este cambio Este cambio a la nube Fíjate que hice un cambio hace 39 minutos se actualizo vemos que tenemos un cambio ahora mismo y que si yo veo el cambio que se ha hecho es que he cambiado el 3 por el 4 Eso es todo qué voy a hacer me voy a ir al servidor estoy dentro del servidor para esto volvamos a ejecutar npm Start
así que iniciamos si te aparece esto no te preocupes porque aquí abajo ya te va a decir proveedor conectado y listo no necesitas volver a escanear.
Simulando conversación de prueba
Hola Qué tal Ya estoy aquí en el aeropuerto de amsterdam y quisiera saber cuál es la manera más económica y efectiva de moverme hasta el centro Gracias.
Podemos observar que para poder hacer esta modificación directamente arriba en el código porque es algo puntual y es de prueba me voy a ir a editar el archivo .app.gs.js vamos a ir aquí a la sección donde dice soy Jorge el staff amable encargado de atender la solicitudes preguntas sobre el Tour o la ciudad donde te encuentres volvemos a iniciar la aplicación
¿Cuál es el archivo javascript?
En este caso nuestro archivo es el app.js le damos enter y vemos como en este momento nos aparece como una lista y nos dice online Eso quiere decir que este Bot Ya se está ejecutando y ya podemos cerrar incluso nuestra consola para llegar de la estación de sol puedes tomar la línea 1 del metro nuevos ministerios allí Puedes cambiar a la línea 8 directamente al aeropuerto sí correcto esa información es total mente válida de esta manera ya tu Bot se está ejecutando en producción ya hemos cerrado la terminal tenemos ahí nuestro Bot que está dando soporte 24/7 y esto así Este es el proceso hemos desplegado nuestro Bot en un servidor en la nube que " ChatGPT