¿Cómo crear tu propio Chatbot con AI? La historia de Growthmorning BOT
La inteligencia artificial hoy está al alcance de todos
Ya somos +4,600 suscriptores en Grwoth Morning, si todavía no estás suscrito, ¡te lo recomiendo!
Si hay una industria de la que todos deberíamos estar al tanto es la Inteligencia Artificial. Para más información contextual, les recomiendo el siguiente artículo:
En este artículo conversamos con Rodrigo Osorio, Data Scientist de Entel, Ingeniero Industrial de profesión y CTO Interín de Growth Morning.
Lidera la ejecución del Chatbot junto con Luis Blas, Quant Developer e Ingeniero Mecatrónico.
Nos cuenta cómo, con conocimientos intermedios de programación, pueden levantar su propio Chat con Open AI.
¿Qué es Chat GPT?
Primero, definamos qué es Chat GPT y qué mejor manera que el mismo algoritmo se defina:
“¡Hola! Soy ChatGPT, un modelo de lenguaje de inteligencia artificial diseñado para conversar contigo y responder preguntas. Pero, ¡no te preocupes!, no soy como los robots que aparecen en las películas. Soy más como ese amigo ingenioso que siempre tiene una respuesta lista para cualquier pregunta.”
Aunque puede sonar un poco “creepy”, lo que dice es cierto.
Ahora, yo lo defino como el cerebro de Charles Xavier de los X-men pues tiene una respuesta para todo (con información actualizada hasta el 2021), desde tecnología hasta deportes, pasando por arte, turismo y todo lo que te puedas imaginar.
¿Qué es GPT-3?
GPT-3 es una de las herramientas más avanzadas de inteligencia artificial que existen en la actualidad.
Se trata de un modelo de lenguaje que puede generar texto, responder preguntas e incluso escribir artículos completos.
¡Es como tener un asistente virtual que te ayuda a escribir!
Pasos básicos para entender GPT-3
En primer lugar, se alimenta al modelo con enormes cantidades de texto de todo tipo. Desde libros hasta artículos de noticias. Todo tipo de contenido es útil para GPT-3.
Una vez que tiene acceso a esta enorme cantidad de información, GPT-3 comienza a analizarla y a aprender de ella: Es como si estuviera leyendo una enorme biblioteca de libros y artículos para mejorar su conocimiento del lenguaje.
Finalmente, cuando le haces una pregunta o le pides que genere texto, GPT-3 utiliza todo ese conocimiento para producir una respuesta o un texto coherente.
¿Cómo definieron el MVP?
El primer MVP tiene 3 cosas:
Front simple con un botón de inicio y la sección de preguntas.
Conección a la API de Open AI con Python.
Almacenamiento de información en un google sheets.
Y está diseñado con dos objetivos:
Probar la estructura de la API y las conexiones de almacenamiento de información. Hoy día el chatbot solo consume directo de GPT-3 y almacena la información en un google sheets.
Levantar feedback inicial de Friends & Family. Actualmente hay +70 preguntas y muchos temas interesantes para desarrollar en el newsletter.
¿Cómo se ve el código y cuál es el step by step?
Paso 1: Uso del Playground de Open AI para generarle contexto inicial
Le estamos haciendo una pregunta general y como se observa, la respuesta la orienta para el lado matemático.
No obstante, podría cambiar dependiendo el tema en específico que queramos tratar. Por ejemplo, la respuesta puede variar si le pregunto desde un lado de Data vs desde un lado de Finanzas. Veamos:
¿Qué es un modelo según Data Science?
¿Qué es un modelo según Finanzas?
Por tal motivo, para direccionar la respuesta de chatgpt le daremos el tema con el que debe guardar relación en su respuesta.
Inclusive si queremos que la respuesta tenga una tonalidad en específico le podemos indicar a ChatGPT esos detalles para que los tome en cuenta al momento de dar su respuesta:
Estos conceptos son la base para el funcionamiento de Growthmorning Bot.
Paso 2: Uso del API de openAI
Ahora en base a este entendimiento de cómo generar el prompt para ChatGPT vayamos con un código ejemplo en Python de cómo usar la API de openAI (spoiler alert: esto se pondrá un poco más técnico)
Para ello, tenemos dos requisitos:
Tener instalada la librería openai
API key que se puede obtener de la cuenta personal de openAI.
En este código importamos las librerías que necesitamos.
Luego, cargamos el API key )que lo puedes generar desde tu cuenta personal de openAI).
Posteriormente, llamamos a la función create tomando en cuenta los siguientes argumentos principales:
Engine: Especifica el modelo de lenguaje que se utilizará para generar texto. OpenAI tiene varios modelos de lenguaje diferentes, cada uno entrenado en diferentes conjuntos de datos y para diferentes tareas. Por ejemplo, puede elegir el modelo "davinci" que es el modelo más avanzado de OpenAI
Prompt: Es el texto que se utiliza como punto de partida para la generación de texto. El modelo de lenguaje utilizará este texto como base para generar el resto del texto. Por ejemplo, si su prompt es "Quiero escribir una canción sobre el amor", el modelo de lenguaje generará texto que siga esa idea.
max_tokens: Es el número máximo de palabras que el modelo de lenguaje generará en la respuesta. Por ejemplo, si establece max_tokens en 50, el modelo de lenguaje generará un texto de no más de 50 palabras.
n: Es el número de respuestas que se generan. Por ejemplo, si establece n en 3, el modelo de lenguaje generará tres respuestas diferentes.
stop: Es una cadena de texto que indica al modelo de lenguaje cuándo detener la generación de texto. Por ejemplo, si establece stop en "Fin del texto", el modelo de lenguaje detendrá la generación de texto cuando llegue a la cadena "Fin del texto".
temperature: Es un valor que controla la creatividad del modelo de lenguaje. Un valor más alto de temperatura permite respuestas más creativas y divergentes, mientras que un valor más bajo de temperatura produce respuestas más predecibles y coherentes con el texto de entrada.
Con todo ello, ya podríamos tener una respuesta directa de ChatGPT usando el API.
Paso 3: Pruebas del uso de API (recomiendo tener la versión pagada)
Dependiendo del tamaño de la pregunta o texto que le escribamos a ChatGPT puede tener ciertas limitaciones si estamos con la versión free, por tal motivo, se debe evaluar el uso y tamaño del input que recibirá el bot para pasar a la versión pagada y no tener inconvenientes.
Paso 4: Creamos la interfaz (acá cada uno es libre de seguir la ruta que más le parezca)
Logrando usar la API, podemos crear el frontend para que los usuarios puedan usar de manera amigable el bot y recibir respuestas de ChatGPT direccionadas con el objetivo de GrowthMorning.
Paso 5: Almacenamiento de las respuestas
Estas respuestas pueden ser almacenadas en una base de datos (nosotros implementamos algo rápido con google sheet).
Esto último fue lo que se optó para este MVP y se hizo a través de Google Cloud Platform (GCP) con los siguientes pasos:
Accede a la consola de Google Cloud: https://console.cloud.google.com/
Selecciona un proyecto existente o crea uno nuevo.
Haz clic en el menú "Credenciales" en el lado izquierdo de la pantalla.
Haz clic en el botón "Crear credenciales" y selecciona "Credenciales de servicio"
Haz clic en "Nueva cuenta de servicio" y asigna un nombre para la cuenta de servicio.
Selecciona "Editor" como el rol de la cuenta de servicio.
Haz clic en "Continuar" y luego en "Crear cuenta de servicio"
Descarga el archivo JSON que contiene las credenciales de la cuenta de servicio recién creada.
Agrega el archivo JSON en tu proyecto y utiliza las credenciales para autorizar el acceso a la hoja de cálculo desde tu aplicación.
Es importante mencionar que deberás habilitar la API de Google Sheets en tu proyecto antes de generar las credenciales. Si no esta habilitado, no podras generar las credenciales.
Una vez tengas todo ello, creas el google sheet en donde guardarás las respuestas y debes compartir la hoja de cálculo con la cuenta de servicio que utilizará tu bot, para que pueda acceder y modificar.
¡Y listo! Siguiendo estos pasos, ya podrías tener un bot para tu blog o negocio.
¿Cuál es el product roadmap?
El roadmap es incremental y todavía un poco difuso como cualquier producto nuevo.
Hemos priorizado la velocidad en la ejecución y el feedback acelerado de los usuarios, pero los próximos features se ven así:
MVP 2.0 - Aprendizaje
Fine tuning: Conectaremos la base de información de Growth Morning para hacer más preciso al chatbot en temas que ya han sido tocados acá. Intentaremos llegar a +70% de precisión en temas relacionados a Growth y Product Management.
Product Led Growth: Estamos construyendo features que faciliten el compartir el bot.
MVP 3.0 - El cerebro de Growth y Producto
Fine tuning 2: Conectaremos más fuentes de información curadas para que el chatbot pueda responder con +99% de precisión cualquier pregunta.
Nuevo front. Más user friendly (Hemos priorizado la funcionalidad antes que lo estético… y no tenemos UX designer, si te quieres sumar al team: voluntarios acá)
Finalmente…
Estamos por lanzar Growth Morning Software Factory, primero atendiendo clientes cercanos.
Si quieres que tu compañia pueda tener su propio chatbot con AI, desarrollar MVPs con base tecnológica y/o escalar tus productos digitales, contáctanos…