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

1. Introducción

En este codelab, crearás una app universal de mesa de ayuda para empleados sin código con Vertex AI Search.

Imagina que trabajas en Cymbal, una empresa de venta 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 lidiar con diferentes sistemas, también debes leer una gran cantidad de datos de RR.HH. no estructurados o ejecutar mensajes complejos de SQL en datos financieros estructurados para obtener respuestas a tus preguntas.

En este codelab, crearás una sola app unificada que se conecte a estos conjuntos de datos, lo que permitirá que los empleados obtengan respuestas conversacionales y fundamentadas 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 documentos de RR.HH. no estructurados y un conjunto de datos de BigQuery para 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 está dirigido a 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 sobre cómo verificar si la facturación está habilitada en un proyecto.

Roles de IAM obligatorios

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

Habilita las APIs

  1. En la consola de Google Cloud, haz clic en Activar Cloud Shell: Si nunca usaste Cloud Shell, aparecerá un panel que te permitirá iniciar Cloud Shell en un entorno de confianza con o sin un aumento. Si se te solicita que autorices Cloud Shell, haz clic en Autorizar.
  2. En Cloud Shell, habilita todas las APIs necesarias:
    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 mesa de ayuda para empleados de Cymbal, necesitas algunos archivos de simulación. 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 la consola de Cloud.

  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. Notará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.
    • Finance. 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. de 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. Debe tener un nombre único a nivel global. Por ejemplo: cymbal-app-hr-12.
  4. Conserva 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 el ID del conjunto de datos como cymbal_finance.
  4. En Ubicación de 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, selecciona Subir.
    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 Detección automática.
  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 Enterprise Edition y Respuestas generativas.
  4. Asigna a tu app el nombre 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 , crea almacenes de datos que conectarás a tu app. Debes crear tres almacenes de datos: uno para datos de RR.HH. no estructurados y dos para 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. Conserva 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 de 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 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 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, elige BigQuery.
  3. En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
  4. Conserva 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 Revisar esquema y asignar 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 de 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 datos de 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, elige BigQuery.
  3. En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
  4. Conserva 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 Revisar esquema y asignar 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 de 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 de Precios generales.
  4. Haz clic en Crear.

9. Prueba la app del portal para empleados de Cymbal

  1. En la app cymbal-employee-portal, haz clic en Vista previa.
  2. En el cuadro 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 proporcionar 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 Obtén respuestas y seguimientos.

10. Opciones para implementar tu app

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

  • Widget web precompilado. 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 API personalizada. Para tener un control completo sobre la experiencia del usuario, puedes usar las APIs de REST de Vertex AI Search o las bibliotecas cliente (como Python, Node.js o Java) para compilar un frontend personalizado desde cero.

11. Liberar espacio

Para evitar cargos continuos en tu cuenta de Google Cloud, borra los recursos creados 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 la app cymbal-employee-portal, haz clic en los tres puntos verticales de Más y, luego, en Borrar.
  4. Sigue las instrucciones que aparecen 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 instrucciones que aparecen 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 instrucciones que aparecen 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 instrucciones que aparecen 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 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 cerrar la brecha entre tus datos empresariales no estructurados en Cloud Storage y los registros estructurados de BigQuery, creaste una herramienta potente capaz de realizar razonamientos empresariales 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 de varios almacenes de datos Cómo consultar una app de búsqueda de varios almacenes de datos para sintetizar respuestas unificadas de datos estructurados y no estructurados
  • Ajustes 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 precompilados o APIs personalizadas

Documentos de referencia