Comencemos a crear nuestro chatbot de WhatsApp con Inteligencia artificial para que comiences a vender, para que comiences a automatizar procesos.
¿Qué es lo que yo tengo aquí lo que tengo aquí?
Es un proyecto de visual Studio codee que no tiene más allá que simplemente los archivos de configuración básicos que los voy a mostrar:
Tenemos por aquí ts config para mantener la configuración en typescript porque sí este lo construiremos con typescript porque este año se viene ya la
implementación del tipado dentro de la librería, en esta ocasión es un preámbulo es una opción Beta que estamos trabajando y bueno básicamente no voy a explicar tanto el el archivo de configuración porque esto va a estar en el repositorio.
Estructura principal
Paso número uno como nosotros crearemos un chatbot de ventas debemos realizar lo siguiente:
Crear dentro de la carpeta de src un directorio, ese directorio yo lo voy a llamar Flow otro directorio lo voy a llamar Provider otro directorio lo voy a llamar database tres directorios que en el mismo archivo principal lo vamos a llamar Index typescript que está en la raíz del source de la Fuente para que esto nos vaya a funcionar nos aseguramos automáticamente de que aquí en nuestro Script nuestro alias de el package json
observamos que estamos utilizando tsx
para ejecutar el el typesript haciendo el llamado de srs Index typescript
.
Ejemplo
Aquí en un fichero lo procedemos a descomponer para enviarlo en diferentes archivos y quede mucho más fácil de leer mucho más escalable, mantenible.
Básicamente nosotros tenemos que importar lo que sería Bot de WhatsApp así de esta Bot de WhatsApp desde @bot WhatsApp
que es la el paquete de nuestra librería que ahora pues tiene el tipado que es lo que te digo que estamos trabajando y luego crearmos una función que lo llamaremos Main que va a ser asíncrona y construiremos la función que va a iniciar el Bot.
Esta es nuestra principal función función principal del Bot si tú quieres tener más de un Bot pues este podría ser el Mainad
este podría ser el Main bet
Y así sucesivamente tener varias ejecuciones de Bot en un mismo proyecto no lo recomiendo tanto si no sabes muy bien lo que estás haciendo.
Si tú estás comenzando guíate de esto es básicamente copiar y pegar dentro de esta función nosotros implementamos lo que es el apartado de la instanciamiento o la creación realmente ahora del Bot porque esto es como la función principal.
Module de OPENAI
Vamos a crearnos un servicio y lo llamaremos service y dentro de este servicio procedemos a crear un directorio que se llame Open AI.
Vamos a Open Ai y creamos un fichero que se llame typScript vienes aquí al playground y escribes cualquier cosa, tienes aquí un botón que dice ver código y cuando te dice ver código te da ya el código así que básicamente lo copiamos y lo pegamos.
Cuando lo pegamos tenemos ya gran parte del trabajo realizado
¿qué estamos haciendo?
Estamos importando el open Ai y obteniendo o leyendo La variable entorno de Open Ai para que si tú observas nuestro environment ya la tenemos declarada Así que tú tienes que crear tu Open Ai
Para que dentro de tu platforma de Open Ai pegarla en el Index y asegurarnos que esté escrito exactamente igual y luego tenemos la función que hace realmente el llamado a chat gpt utilizando chat gpt 3.5 turbo para poder obtener una respuesta
Vamos a transformar esto en una función la vamos a llamar ROM que va a ser una función asíncrona y esta función asíncrona es la que nosotros vamos a exportar y dentro de esta función de ROM vamos a colocarle este y aquí yo voy a llamar dos cosas voy a llamar name que va a ser el nombre de la persona con la cual estoy hablando para que la Inteligencia artificial pues pueda personalizar un poco más los mensajes y decirle:
Ey leifer ey Maríana bienvenido Cómo puedo ayudarte no para que tenga ese n nombre y por otro lado voy a decirle que voy a pasar un historial; el historial del chat vamos a mantener lo que es el tipado del propio Open AI.
Si tú colocas el cursor encima de la parte de message observamos que está utilizando lo que es la interfaz de chat computation message par si tú lo copias y le dices aquí que quieres utilizar este tipado y le das control punto para que te aparezca la importación observamos que te trae ya la interfaz directamente de Open resource en este punto nos aseguramos de que tenga un tipado.
Le decimos que la mayoría de tokens que vamos a usar es unos 800 para que no nos quedemos cortos al momento de la respuesta y luego Aquí es donde nosotros vamos a pasar el rol de el asistente y donde nosotros vamos a pasar el historial de la conversación con ese cliente básicamente para que chatgpt no pierda el hilo de conversación que lleva con cada uno de los clientes.
¿Cómo logramos eso?
Vamos a colocarle aquí que va a pasar el nombre que va a pasar el historial y en este punto en particular yo le voy a decir que quiero pasarle un prompt Para pasarle un prompt y procedemos a crear dentro de OPENAI un fichero que lo voy a llamar prompt typescript.
¿Qué es un Prompt?
Prompt como ya lo sabemos y si no lo sabes básicamente el prompt es un mensaje son las instrucciones de cómo tú quieres que la Inteligencia artificial funcione o reaccione o interactúe
¿cuál es el rol?
El rol de vendedor el rol de asistente, entonces en este caso yo voy a crear mi prompt ese prompt va a ser un texto y voy a crear una función que se llama generar prompt ¿por qué? porque yo quiero reemplazar como ya lo mencioné hace rato el nombre de la persona y esta función es la que yo voy a exportar.
Ahora le vamos a dar un poco más de contexto aquí básicamente lo que sí me voy a asegurar es que esto va a retornar un Stream así que aquí me está dando error porque esto debe retornar un Stream ahora volvemos a este prompt.
Recuerda que si tú quieres te apasiona todo lo que es la parte de la automatización crear diferentes asistentes virtuales flujos de trabajos totalmente automatizados poder convertir poder puedes ir a app.codigoencasa.com.