Crea una app universal de asistencia técnica para empleados sin código con Vertex AI Search

1. Introducción

En este codelab, compilarás una app universal de asistencia al empleado sin código con Vertex AI Search.

Imagina que trabajas en Cymbal, una empresa minorista global. Los empleados suelen tener preguntas como "¿Cuál es la política para reservar viajes de negocios?" o "¿Cuántas unidades de zapatillas tenemos en stock?".

Por lo general, debes acceder a sistemas completamente diferentes para encontrar estas respuestas. Además de trabajar con diferentes sistemas, también debes leer una gran cantidad de datos de RR.HH. no estructurados o ejecutar instrucciones complejas de SQL en datos financieros estructurados para obtener respuestas a tus preguntas.

En este codelab, compilarás una sola app unificada que se conecte a estos conjuntos de datos, lo que permitirá que los empleados obtengan respuestas fundamentadas y conversacionales a sus preguntas con las capacidades de Generación mejorada por recuperación (RAG) de Vertex AI.

Actividades

En este codelab, completarás los siguientes pasos:

  • Configura las fuentes de datos. Crea un bucket de Cloud Storage para los documentos de RR.HH. no estructurados y un conjunto de datos de BigQuery para los datos financieros estructurados.
  • Configura los almacenes de datos. Crea almacenes de datos de Vertex AI Search conectados a tus fuentes de datos de Cloud Storage y BigQuery.
  • Conecta la app. Crea una app de Vertex AI Search y vincula ambos almacenes de datos a ella.
  • Prueba la app. Interactúa con la interfaz de búsqueda unificada para verificar las respuestas fundamentadas que sintetizan información de ambos almacenes de datos.
  • Explora los próximos pasos. Revisa las opciones para ajustar el modelo de IA generativa y, luego, implementa tu app de búsqueda.

Diagrama de arquitectura de la app que muestra la Búsqueda con Vertex AI

Requisitos

  • Un navegador web, como Chrome
  • Un proyecto de Google Cloud con facturación habilitada.
  • Git instalado en tu máquina local

Este codelab es para desarrolladores de todos los niveles.

2. Antes de comenzar

Crea un proyecto de Google Cloud y habilita las APIs necesarias.

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud .
  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información para verificar si la facturación está habilitada en un proyecto.

Roles de IAM obligatorios

En este codelab, se supone que tienes el rol de propietario del proyecto para tu proyecto de Google Cloud.

Habilitar APIs

  1. En la consola de Google Cloud, haz clic en Activar Cloud Shell: Si nunca usaste Cloud Shell, aparecerá un panel en el que podrás elegir si deseas iniciar Cloud Shell en un entorno de confianza con o sin un aumento de velocidad. Si se te solicita que autorices Cloud Shell, haz clic en Autorizar.
  2. En Cloud Shell, habilita todas las APIs requeridas:
    gcloud services enable \
      discoveryengine.googleapis.com \
      aiplatform.googleapis.com \
      bigquery.googleapis.com \
      storage.googleapis.com
    

3. Clonar un repositorio de GitHub

Para mostrar cómo funciona la búsqueda en la app de ayuda para empleados de Cymbal, necesitas algunos archivos simulados. En esta sección, clonarás un repositorio de GitHub en tu máquina local para obtener estos archivos. Subirás estos archivos a Google Cloud en pasos posteriores con la interfaz de Cloud Console.

  1. En una terminal de tu máquina local, clona el repositorio next-26-sessions:
    git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git
    
  2. Navega al directorio del repositorio descargado:
    cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk
    
  3. Explora los archivos descargados en este directorio. Verás que hay dos carpetas: HR y Finance.
    • HR Esta carpeta contiene varios archivos no estructurados, como archivos .doc, .txt y .html. Subirás los archivos de RR.HH. a un bucket de Cloud Storage.
    • Finanzas. Esta carpeta contiene dos archivos .jsonl. Subirás estos archivos a un conjunto de datos de BigQuery.

4. Crea un bucket de Cloud Storage para archivos no estructurados

En esta sección, crearás un bucket de Cloud Storage y subirás los documentos de la carpeta HR que descargaste en la sección Clona un repositorio de GitHub. Los datos no estructurados, como los documentos de RR.HH. en este ejemplo, no siguen un formato predefinido y pueden incluir archivos de texto, documentos o contenido multimedia.

  1. En la consola de Cloud, ve a la página Buckets.
  2. Haz clic en Crear.
  3. En la página Crear un bucket, ingresa el nombre de un bucket. El nombre debe ser único a nivel global. Por ejemplo: cymbal-app-hr-12.
  4. Mantén las opciones predeterminadas.
  5. Haz clic en Crear.Se creará el bucket y se mostrará la página Detalles del bucket. Si no ves la página Detalles del bucket, haz clic en el bucket que acabas de crear.
  6. En la página Detalles del bucket, haz clic en Subir > Subir carpeta y, luego, selecciona la carpeta HR que descargaste en la sección Clona un repositorio de GitHub.
  7. Confirma la carga.Creación de buckets
  8. En la página Detalles del bucket, haz clic en la carpeta HR para ver la lista de archivos.Archivos en el bucket

5. Crea un conjunto de datos de BigQuery para archivos estructurados

En esta sección, crearás un conjunto de datos de BigQuery y cargarás los documentos de la carpeta Finance que descargaste en la sección Clona un repositorio de GitHub en una tabla nueva. Los datos estructurados, como los documentos financieros de este ejemplo, siguen un formato predefinido, como los registros de una base de datos.

  1. En la consola de Cloud, ve a la página BigQuery.
  2. En el panel Explorador, haz clic en el nombre de tu proyecto y, luego, en Ver acciones (los tres puntos verticales) > Crear conjunto de datos.Creación de conjuntos de datos
  3. En el panel Crear conjunto de datos, ingresa cymbal_finance como el ID del conjunto de datos.
  4. En Ubicación de los datos, selecciona US (multiple regions in United States).
  5. Conserva las opciones predeterminadas y haz clic en Crear conjunto de datos.
  6. En el panel Explorador, expande tu proyecto y haz clic en el conjunto de datos cymbal_finance.
  7. En el panel de detalles del conjunto de datos, haz clic en Crear tabla.
  8. En la sección Fuente de la página Crear tabla, haz lo siguiente:
    1. Para Crear tabla desde (Create table from), selecciona Subir (Upload).
    2. En Seleccionar archivo, haz clic en Explorar, navega hasta la carpeta Finance que descargaste y selecciona cymbal_employee_finance.jsonl.
    3. En Formato de archivo, selecciona JSONL (JSON delimitado por saltos de línea).
  9. En la sección Destino, ingresa el nombre de la Tabla como employee_finance.
  10. En la sección Esquema, selecciona la casilla de verificación Detectar automáticamente.
  11. Conserva los demás parámetros de configuración predeterminados y haz clic en Crear tabla.
  12. Repite los pasos del 7 al 11 para cargar datos en una tabla nueva. En el paso 8b, selecciona product_inventory.jsonl y, en el paso 9, ingresa product_inventory como el nombre de la tabla.Si no ves las tablas en el panel de detalles del conjunto de datos, haz clic en Actualizar.
  13. Si creaste correctamente el conjunto de datos y las dos tablas, debería verse como la siguiente imagen:Conjunto de datos financieros de Cymbal

6. Crea una app de Vertex AI Search

  1. En la consola de Cloud, ve a la página Vertex AI Search.
  2. En la tarjeta Búsqueda personalizada (general), haz clic en Crear.
  3. En la página Configuración de la app de búsqueda, asegúrate de que estén seleccionadas las opciones Funciones de la edición Enterprise y Respuestas generativas.
  4. Asigna un nombre a tu app cymbal-employee-portal.
  5. Ingresa el Nombre de la empresa como Cymbal Corp.
  6. Conserva la Ubicación de tu app como global.
  7. Haz clic en Continuar.

7. Crea y conecta almacenes de datos

En la página Almacenes de datos, crearás los almacenes de datos que conectarás a tu app. Debes crear tres almacenes de datos: uno para los datos de RR.HH. no estructurados y dos para los datos financieros estructurados.

Crea un almacén de datos para datos no estructurados

  1. En la página Almacenes de datos, haz clic en Crear almacén de datos.
  2. En Selecciona una fuente de datos, elige Cloud Storage.
  3. En el panel Importar datos desde Cloud Storage, ve a Importación de datos no estructurados (búsqueda de documentos y RAG) y selecciona Documentos.
  4. Mantén la opción Frecuencia de sincronización como Una vez.
  5. En Selecciona una carpeta o un archivo que desees importar, haz clic en Carpeta.
  6. En el campo gs://..., ingresa el nombre del bucket que creaste en la sección Crea un bucket de Cloud Storage para archivos no estructurados. Por ejemplo, si el nombre del bucket es cymbal-app-hr-12, ingresa el nombre como cymbal-app-hr-12/HR. La transferencia desde la carpeta HR garantiza que solo se incluyan los documentos de RR.HH. en este almacén de datos.
  7. Haz clic en Continuar.
  8. Ingresa el nombre del almacén de datos como cymbal-hr.
  9. Haz clic en Continuar.
  10. Conserva la opción Precios generales.
  11. Haz clic en Crear.

Después de hacer clic en Crear, volverás a la página Almacenes de datos.

Crea almacenes de datos para datos estructurados

Crearás dos almacenes de datos para los datos estructurados de BigQuery: uno para la información financiera de los empleados y otro para el inventario de productos.

Crea un almacén de datos para los datos financieros de los empleados

  1. En la página Almacenes de datos, vuelve a hacer clic en Crear almacén de datos.
  2. En Selecciona una fuente de datos, selecciona BigQuery.
  3. En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
  4. Mantén la opción Frecuencia de sincronización como Una vez.
  5. En Selecciona una tabla que desees importar, haz clic en Explorar. En el diálogo Seleccionar ruta de acceso que se abre, selecciona la tabla employee_finance del conjunto de datos cymbal_finance en tu proyecto. Es posible que veas tablas con nombres similares de otros proyectos, así que asegúrate de seleccionar la tabla de tu proyecto.
  6. Haz clic en Continuar.
  7. Revisa la página Revisa el esquema y asigna propiedades clave.
  8. Haz clic en Continuar.
  9. Ingresa el nombre del almacén de datos como cymbal-finance.
  10. Haz clic en Continuar.
  11. Conserva la opción Precios generales.
  12. Haz clic en Crear.

Después de hacer clic en Crear, volverás a la página Almacenes de datos.

Crea un almacén de datos para los datos del inventario de productos

  1. En la página Almacenes de datos, vuelve a hacer clic en Crear almacén de datos.
  2. En Selecciona una fuente de datos, selecciona BigQuery.
  3. En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
  4. Mantén la opción Frecuencia de sincronización como Una vez.
  5. En Selecciona una tabla que desees importar, haz clic en Explorar. En el diálogo Seleccionar ruta de acceso que se abre, selecciona la tabla product_inventory del conjunto de datos cymbal_finance en tu proyecto.
  6. Haz clic en Continuar.
  7. Revisa la página Revisa el esquema y asigna propiedades clave.
  8. Haz clic en Continuar.
  9. Ingresa el nombre del almacén de datos como cymbal-inventory.
  10. Haz clic en Continuar.
  11. Conserva la opción Precios generales.
  12. Haz clic en Crear.

Después de hacer clic en Crear, volverás a la página Almacenes de datos.

8. Conecta almacenes de datos a tu app

Ahora deberías ver tres almacenes de datos en la lista de la página Almacenes de datos: cymbal-hr (no estructurado), cymbal-finance (estructurado) y cymbal-inventory (estructurado). Para conectar estos almacenes de datos a tu app, sigue estos pasos:

  1. En la página Almacenes de datos, selecciona los tres almacenes de datos que acabas de crear: cymbal-hr, cymbal-finance y cymbal-inventory. Asegúrate de seleccionar los tres almacenes de datos antes de continuar.
  2. Haz clic en Continuar.
  3. Conserva la opción Precios generales.
  4. Haz clic en Crear.

9. Prueba la app del portal para empleados de Cymbal

  1. En la app de cymbal-employee-portal, haz clic en Vista previa.
  2. En el cuadro de Buscar aquí, ingresa la siguiente pregunta:
    What are the stipends that I get as an employee of Cymbal located in London?
    
  3. Ingresa una pregunta relacionada con el inventario de productos:
    How many units of sneakers do we have in stock?
    
  4. Ingresa otra pregunta:
    What is the stipend for an executive in Cymbal?
    

Observa cómo la app de búsqueda recuperó información de varias fuentes para formular su respuesta. Para responder estas preguntas, la app buscó en los datos financieros estructurados almacenados en BigQuery y en los documentos de RR.HH. no estructurados en Cloud Storage.

Esto demuestra el poder de Vertex AI Search para sintetizar respuestas en varios formatos de datos y almacenes de datos dispares en una sola experiencia cohesiva.

También puedes ajustar el modelo de IA para que proporcione respuestas aún más precisas y específicas del dominio. Para obtener más información sobre cómo personalizar la experiencia generativa, consulta la documentación de Obtén respuestas y seguimientos.

10. Opciones para implementar tu app

Si bien la implementación de la aplicación para los usuarios finales no se incluye en el alcance de este codelab, es útil saber cómo se traduce esto en una situación del mundo real. Tienes varias opciones para integrar tu app de Vertex AI Search en los flujos de trabajo de tu organización:

  • Widget web prediseñado. Puedes incorporar una interfaz de búsqueda o chat lista para usar directamente en la intranet o las páginas web existentes de tu empresa con una etiqueta script de HTML. Esta es la forma más rápida de mostrar tu app a los usuarios.
  • Integración de la API personalizada. Para tener un control completo sobre la experiencia del usuario, puedes usar las APIs de REST o las bibliotecas cliente de Vertex AI Search (como Python, Node.js o Java) para compilar un frontend personalizado desde cero.

11. Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud, borra los recursos que creaste durante este codelab:

  1. En la consola de Cloud, ve a la página Vertex AI Search.
  2. Haz clic en Ver apps existentes.
  3. En el caso de la app de cymbal-employee-portal, haz clic en los tres puntos verticales de Más y, luego, en Borrar.
  4. Sigue las indicaciones en pantalla para confirmar la eliminación.
  5. Para borrar los almacenes de datos, haz clic en Almacenes de datos en el panel de navegación izquierdo de la consola.
  6. Borra los almacenes de datos cymbal-hr, cymbal-finance y cymbal-inventory:
    1. En el almacén de datos cymbal-hr, haz clic en los tres puntos verticales de Más y, luego, en Borrar.
    2. Sigue las indicaciones en pantalla para confirmar la eliminación.
    3. En el almacén de datos cymbal-finance, haz clic en los tres puntos verticales de Más y, luego, en Borrar.
    4. Sigue las indicaciones en pantalla para confirmar la eliminación.
    5. En el almacén de datos cymbal-inventory, haz clic en los tres puntos verticales de Más y, luego, en Borrar.
    6. Sigue las indicaciones en pantalla para confirmar la eliminación.
  7. Ve a la página Buckets y borra el bucket que creaste (por ejemplo, cymbal-app-hr-12).
  8. Ve a la página de BigQuery y borra el conjunto de datos cymbal_finance.

12. Felicitaciones

¡Misión cumplida! Creaste correctamente una experiencia de búsqueda empresarial unificada con Vertex AI Search.

Al unir la brecha entre los datos empresariales no estructurados en Cloud Storage y los registros estructurados de BigQuery, creaste una herramienta potente capaz de realizar razonamientos comerciales complejos, todo sin escribir una sola línea de código de aprendizaje automático.

Qué aprendiste

  • Transferencia: Cómo transferir documentos no estructurados de Cloud Storage y datos estructurados de BigQuery a Vertex AI Search
  • Consultas en varios almacenes de datos. Cómo consultar una app de búsqueda con varios almacenes de datos para sintetizar respuestas unificadas a partir de datos estructurados y no estructurados
  • Ajuste y personalización Cómo ajustar los modelos de IA generativa para proporcionar respuestas más precisas y específicas del dominio
  • Opciones de implementación. Las diversas formas de integrar esta capacidad de razonamiento en aplicaciones del mundo real con widgets prediseñados o APIs personalizadas

Documentos de referencia