Cómo hacer chatbots con Vertex AI Search and Conversation (Google Cloud)

Abraham Berrospi Casano
Datapath
Published in
11 min readFeb 26, 2024

Bienvenido a la era de la búsqueda impulsada por la nube, donde puede deshacerse de la costosa infraestructura de búsqueda y los científicos de datos y convertir “Quiero buscar en mis documentos y en mi sitio web” en realidad antes de acostarse. Este blog se sumerge en Vertex AI Search & Conversation, una herramienta revolucionaria que pone el músculo de IA de Google al alcance de tu mano.

Introducción

¿Qué es Google Vertex AI?

Google Vertex AI es una plataforma integral de aprendizaje automático que permite a los usuarios crear, entrenar e implementar modelos de IA con facilidad. Ofrece un entorno unificado tanto para principiantes como para científicos de datos experimentados, lo que simplifica el flujo de trabajo de aprendizaje automático de extremo a extremo. Vertex AI proporciona modelos de aprendizaje automático prediseñados para tareas comunes, como el análisis de imágenes y texto, así como capacidades de desarrollo de modelos personalizados.

Vertex AI Search and Conversation

La plataforma de IA Vertex de Google es una potencia para crear soluciones de IA de vanguardia, y uno de sus productos más destacados es Vertex AI Search and Conversation el cual permite a los desarrolladores aprovechar la potencia de los modelos básicos, la experiencia en búsquedas y las tecnologías de IA conversacional de Google para crear aplicaciones de IA generativa de nivel empresarial.

Pero, ¿cuál es la diferencia? ¿Y cómo saber cuál usar para las necesidades de su negocio? Vamos a desglosarlo.

Antes de entrar en la conversación de Vertex AI Search vs. Vertex AI Conversation, entremos en Search vs. Chat. La forma más fácil de entender la diferencia es la siguiente:

Search (La búsqueda), al igual que un bibliotecario, le da una lista de citas que podrían contener la respuesta, posiblemente con la respuesta resumida a la pregunta específica.

  • Uno y listo: Preguntas, te responde, y luego estás solo si no hay un “seguimiento” habilitado.
  • Ideal para: Encontrar información y sitios web relacionados, documentos o citas específicas.
Tipo de aplicación Search

Conversation (La conversación), como la de un amigo, inicia una charla de ida y vuelta en la que alguien entiende lo que quieres decir con el tiempo, es decir, el contexto.

  • Flexibilidad: La conversación puede cambiar y avanzar en diferentes direcciones a medida que chatea en función de las intenciones, las rutas y los flujos.
  • Ideal para: Obtener ayuda con las tareas, tener discusiones abiertas, explorar ideas o simplemente tener una conversación divertida.
Tipo de aplicación Conversation

Vertex AI Search and Conversation para RAG (Retrieval Augmented Generation)

Vertex AI Search and Conversation se combinan para crear potentes soluciones de generación aumentada de recuperación (RAG). Vertex AI Search se destaca en la indexación y recuperación de información relevante al hacerla detectable a partir de vastas fuentes de datos: documentos, sitios web o datos estructurados.

Mientras tanto, Vertex AI Conversation actúa como el componente generativo, elaborando respuestas que suenan naturales basadas en el conocimiento recuperado para fomentar interacciones naturales con sus clientes y empleados. Además, Dialogflow emplea Enterprise Search para buscar fuentes en función de la consulta del usuario.

Esta sinergia le permite crear chatbots o asistentes virtuales que no se limitan a repetir como loros las respuestas memorizadas, sino que pueden acceder, comprender y luego articular información de su base de conocimientos colectiva.

Objetivos del blog

En este blog vamos a realizar dos casos de uso que se pueden hacer con tanto con Search (Búsqueda) como con Conversation (Chat)

Con Search (Búsqueda) crearemos un bot que buscará información en archivos PDF que proporcionaremos a través de buckets. Este bot podrá responder preguntas específicas de manera puntual para los usuarios de nuestra compañía.

Con Conversation (Chat) crearemos bot que, basándose en la información extraída de los PDFs, permitirá a los usuarios realizar preguntas sobre la información de los los pdfs que ofrece nuestra compañía. Las respuestas serán más naturales y amigables.

Usaremos 1 de las 4 posibles opciones que nos ofrecen como fuente principal de información para nuestros bots

Contenido

VideoTutorial del Blog:

Si desean pueden ver lo desarrollado en este blog en este videotutorial que subimos a Youtube.

Requerimientos Previos:

  • (Opcional): Conocimientos básicos de Google Cloud Platform (Google Cloud Console, Cloud Storage, Dialogflow CX, etc.).
  • Cuenta de Google.
  • Los PDFs de los cuales desees el bot aprenda.
  • Subir los PDFs a un bucket en Cloud Storage.

Naveguemos hacia Search and Conversation

Como quiero que este blog pueda ser leído y comprendido hasta por los principiantes más novatos en Google Cloud Platform (GCP) e incluso para los que no son programadores, aquí dejo una serie de GIFs para que se puedan ubicar hasta donde empieza la construcción de los bots.

Lo primero que tienen que hacer es haber iniciado sesión desde este link:

Luego van a la página de

Y siguen esta serie de pasos:

Clic en “Comenzar Gratis” y luego rellenan sus datos
No les cobrará nada por 3 meses, luego en la bienvenida, también proporcionan más datos.

Ahora deberían estar igual que esta imagen.

Esta es la consola de Google Cloud

Muy bien, a partir de aquí para llegar al servicio Vertex AI Search and Conversation se pueden guiar de este GIF.

Recomendación: A partir de este punto en el blog, te sugiero hacer clic en los GIFs para que se vean con mayor claridad y sin el fondo que los rodea 😅.

Video-Tutorial: Trabajo Propio

¡Perfecto! Ya tenemos todo listo para empezar a construir nuestros chatbots.

Vertex AI Search (Búsqueda) para PDFs (datos no estructurados)

La idea de usar Search es que podamos crear un chatbot que nos pueda dar la información proporcionada de los PDFs de manera concreta, directa y tal vez deducir ciertas cosas de esos documentos para responder preguntas más particulares.

Entonces, para este ejemplo he optado por usar como PDFs tres libros de literatura:

  1. Miguel de Cervantes — El ingenioso caballero don Quijote de la Mancha
  2. Jorge Luis Borges — Ficciones
  3. Juan Rulfo — Pedro Páramo
(1) Pedro Páramo ~ (2) Don Quijote de la Mancha ~ (3) Ficciones

Estos libros deben ir dentro de un bucket de Google Cloud Storage para que Vertex AI pueda recogerlos cuando estemos creando nuestros chatbots, como no es mi objetivo dar detalles de eso, les dejo este GIF para que se guíen como crear un bucket y subir sus PDFs a ese bucket.

Solo entran a la consola de Google Cloud con su cuenta:

Y a partir de allí se guían de este GIF:

Video-Tutorial: Trabajo Propio

Perfecto ya tenemos listo nuestros PDFs (unstructured data) para entrenar nuestro bot de búsqueda.

Ahora para la creación de nuestro Chatbot es más sencillo de lo que pueden pensar, solo tienen que seguir los siguientes pasos:

  1. Clic en Crear nueva App.
  2. Seleccionamos el tipo de app, en este caso Búsqueda.
  3. En el paso de configuración, dejamos muchas cosas por defecto y solo proporcionamos el nombre de nuestra app y el nombre de nuestra empresa.
  4. Seleccionamos el almacén de datos donde se encuentran los PDFs, en nuestro caso el Bucket que creamos anteriormente.
  5. Clic en Crear.
  6. Esperamos que se importen todos los PDFs (esto puede tardar algunos minutos si son varios PDFs y algo pesados).
  7. ¡Listo! Ya podemos hacer uso de nuestro chatbot de literatura.

Aquí dejo un GIF de como se ven todos los pasos.

Creación del chatbot Search de literatura

Como dije, puede que demore algunos minutos en que se importe la información de los PDFs que tengan en su Bucket.

(izquierda) Importación en curso ~ (derecha) La importación se completó

¡A probar nuestro chatbot de búsqueda de literatura!

Lo increíble de Vertex AI Search and Conversation es que además de que nos ofrece una forma increíblemente fácil de crear este tipo de bots, también nos proporciona la opción de ponerlo a prueba de forma inmediata.

Estas son las preguntas que le haré y mostraré lo que me responde🎉.

Respecto a Don Quijote — Miguel de Cervantes:

  1. Cuando Quijote y Sancho salvaron a los Galeotes de llevarles prisioneros a las galeras, ¿Qué les pidió Don Quijote a cambio?
  2. ¿Escribió Don Quijote una carta a su amada Dulcinea del Toboso o se la dictó a Sancho?

Respecto a Ficciones-Jorge Luis Borges:

  1. Describe como percibía Funes el mundo.
  2. ¿Qué rasgos fundamentales comparte la mayoría de los cuentos de Ficciones?
Video-Demo (Vertex AI Search): Own Work

Respecto a Pedro Páramo — Juan Rulfo:

  1. Sobre la obra Pedro Páramo ¿Qué tipo de relaciones de parentesco aparecen en la novela?
  2. ¿Por qué podemos afirmar que Pedro Páramo es una novela fantástica?
Video-Demo (Vertex AI Search): Own Work

Aunque existen casos de uso más óptimos para aprovechar Vertex AI Search, considero que al no proporcionarle consultas extremadamente precisas, he permitido que el sistema deduzca ciertos aspectos. Esto abre la puerta a explorar otros casos de uso interesantes en los que podríamos aprovechar este servicio💻.

Vertex AI Conversation (Chat) de PDFs (datos no estructurados)

Perfecto. Ahora, para este otro chatbot creado con Vertex AI Conversation, planeo desarrollar un asistente que ayude a las personas con consultas relacionadas a Linux. Proporcionaré al chat un libro sobre Linux que no tiene derechos de autor.

Libro: Linux Essentials Version: 1.6 — Español

No profundizaré en detalles adicionales, ya que muchos aspectos se repiten con la creación del bot anterior, como la configuración del bucket y otros ajustes.

Primero creo otro Bucket y subo el pdf de Linux en él

Ahora aqui esta el gif de como crear el bot con Vertex AI Conversation (Chat)

Importante: Olvide poner el idioma a mi agente (español). Si olvidaste configurar el idioma en tu agente, esto puede afectar significativamente el funcionamiento de tu bot. Si tus archivos PDF están en un idioma diferente al que inicialmente seleccionaste para tu bot, es posible que no funcione correctamente⬇️ .

Creacion del bot con Vertex AI Conversation (Chat)
Así deben estar cuando finalice de cargar

En este caso si demora más en obtener informacion de los pdfs a diferencia de Vertex AI Search.

En este caso, la configuración del bot se realiza a través de Dialogflow CX, lo cual es relevante si se busca una personalización más profunda. Sin embargo, para una configuración básica y funcional, los GIFs proporcionados deberían ser suficientes para comprender los ajustes mínimos necesarios y lograr una configuración adecuada del bot.

Configuraciones para dar contexto a nuestro bot

Aqui pongo a prueba el bot, volvi a hacer todo lo que viste con la unica correcion de que comence configurandolo con idioma español:

Le hice preguntas sobre su identidad y sobre Linux:

  1. Hola, ¿cómo estás?
  2. ¿Podrías decirme quién eres?
  3. Estoy teniendo dificultades con Linux y necesito ayuda.
  4. ¿Qué son exactamente los paquetes de software?
  5. ¿Cuál es la utilidad del comando “ls -a” en Linux?
  6. ¿Podrías explicarme qué es el Bash scripting?
Video-Demostración del bot Conversation: Trabajo Propio

No te desanimes si tu bot no funciona exactamente como deseas con Vertex AI Conversation. La configuración de este, junto con Dialogflow CX, merece un extenso tutorial por sí sola. Además, ten en cuenta que el bot puede tardar más en adquirir contexto a partir de los archivos pdfs.

Integración de los chatbots

Muchas de las cosas que he abarcado en esta introduccion han sido increibles y muy emocionantes por la capacidad de que cualquiera pueda crear este tipos de chatbos, pero todo esto no sera util para nosotros sino podemos integrarlas en nuestras propias aplicaciones (sitios webs, apps moviles, etc.).

En el caso de Vertex AI Search tenemos una opción de integración para poder usar nuestros chatbots en cualquier aplicación que tengamos hecha, tanto aplicaciones webs como móviles.

Código para integrar el bot a aplicaciones webs
Integración del bot mediante API

Por otro lado, en el caso del chatbot creado con Vertex AI Conversation, también tenemos una variedad de opciones de integración. Además, se realizan integraciones automáticas con plataformas muy utilizadas y populares. Esto facilita aún más la implementación y el uso de nuestros chatbots en diferentes contextos.

Conclusión

En conclusión, Google Vertex AI Search and Conversation es una herramienta poderosa y versátil que permite a los desarrolladores y empresas de todos los tamaños aprovechar la potencia de la inteligencia artificial para crear soluciones de chatbot efectivas y personalizadas 🚀. Con su capacidad para procesar y comprender grandes cantidades de información de manera rápida y precisa, es especialmente útil para empresas que buscan mejorar la eficiencia de sus operaciones y proporcionar un servicio al cliente excepcional 🎯.

La capacidad de Google Vertex AI para trabajar con datos no estructurados, como los PDFs, lo convierte en una opción ideal para empresas que buscan extraer valor de su información existente 📚. Los chatbots creados con esta tecnología pueden proporcionar respuestas precisas y útiles a las consultas de los usuarios, mejorando la experiencia del cliente y liberando a los empleados para tareas más estratégicas 💼.

¡Mantén la curiosidad, adiós, y nos vemos pronto con otro blog con un chatbot con funciones mucho más avanzadas y específicas!

Referencias Bibliográficas

Gracias por leerme,

¿Quieres seguir aprendiendo y conectarte con nuestra comunidad? Te invitamos a unirte a nuestras redes sociales. ¡Síguenos en Instagram y LinkedIn para estar al tanto de las últimas noticias, tutoriales y recursos sobre tecnología y aprendizaje automático!

Datapath

Acelerando el talento LATAM en data, cloud, analytics e inteligencia artificial

--

--