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.

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.
- En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud .
- 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
- 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.
- 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.
- En una terminal de tu máquina local, clona el repositorio
next-26-sessions:git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git - Navega al directorio del repositorio descargado:
cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk - Explora los archivos descargados en este directorio. Notarás que hay dos carpetas:
HRyFinance.- HR. Esta carpeta contiene varios archivos no estructurados, como archivos
.doc,.txty.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.
- HR. Esta carpeta contiene varios archivos no estructurados, como archivos
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.
- En la consola de Cloud, ve a la página Buckets.
- Haz clic en Crear.
- 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. - Conserva las opciones predeterminadas.
- 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.
- En la página Detalles del bucket , haz clic en Subir > Subir carpeta y, luego, selecciona la carpeta
HRque descargaste en la sección Clona un repositorio de GitHub. - Confirma la carga.

- En la página Detalles del bucket, haz clic en la carpeta
HRpara ver la lista de archivos.
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.
- En la consola de Cloud, ve a la página BigQuery.
- 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.

- En el panel Crear conjunto de datos, ingresa el ID del conjunto de datos como
cymbal_finance. - En Ubicación de datos, selecciona
US (multiple regions in United States). - Conserva las opciones predeterminadas y haz clic en Crear conjunto de datos.
- En el panel Explorador , expande tu proyecto y haz clic en el conjunto de datos
cymbal_finance. - En el panel de detalles del conjunto de datos, haz clic en Crear tabla.
- En la sección Fuente de la página Crear tabla , haz lo siguiente:
- Para Crear tabla desde, selecciona Subir.
- En Seleccionar archivo, haz clic en Explorar, navega hasta la carpeta
Financeque descargaste y seleccionacymbal_employee_finance.jsonl. - En Formato de archivo, selecciona JSONL (JSON delimitado por saltos de línea).
- En la sección Destino, ingresa el nombre de la Tabla como
employee_finance. - En la sección Esquema, selecciona la casilla de verificación Detección automática.
- Conserva los demás parámetros de configuración predeterminados y haz clic en Crear tabla.
- Repite los pasos del 7 al 11 para cargar datos en una tabla nueva. En el paso 8b, selecciona
product_inventory.jsonly, en el paso 9, ingresaproduct_inventorycomo el nombre de la Tabla.Si no ves las tablas en el panel de detalles del conjunto de datos, haz clic en Actualizar. - Si creaste correctamente el conjunto de datos y las dos tablas, debería verse como la siguiente imagen:

6. Crea una app de Vertex AI Search
- En la consola de Cloud, ve a la página Vertex AI Search.
- En la tarjeta Búsqueda personalizada (general), haz clic en Crear.
- 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.
- Asigna a tu app el nombre
cymbal-employee-portal. - Ingresa el Nombre de la empresa como
Cymbal Corp. - Conserva la Ubicación de tu app como
global. - 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
- En la página Almacenes de datos, haz clic en Crear almacén de datos.
- En Selecciona una fuente de datos, elige Cloud Storage.
- 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.
- Conserva la opción Frecuencia de sincronización como Una vez.
- En Selecciona una carpeta o un archivo que desees importar, haz clic en Carpeta.
- 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 escymbal-app-hr-12, ingresa el nombre comocymbal-app-hr-12/HR.La transferencia desde la carpetaHRgarantiza que solo se incluyan los documentos de RR.HH. en este almacén de datos. - Haz clic en Continuar.
- Ingresa el nombre del almacén de datos como
cymbal-hr. - Haz clic en Continuar.
- Conserva la opción de Precios generales.
- 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
- En la página Almacenes de datos, vuelve a hacer clic en Crear almacén de datos.
- En Selecciona una fuente de datos, elige BigQuery.
- En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
- Conserva la opción Frecuencia de sincronización como Una vez.
- 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_financedel conjunto de datoscymbal_financeen tu proyecto. Es posible que veas tablas con nombres similares de otros proyectos, así que asegúrate de seleccionar la tabla de tu proyecto. - Haz clic en Continuar.
- Revisa la página Revisar esquema y asignar propiedades clave.
- Haz clic en Continuar.
- Ingresa el nombre del almacén de datos como
cymbal-finance. - Haz clic en Continuar.
- Conserva la opción de Precios generales.
- 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
- En la página Almacenes de datos, vuelve a hacer clic en Crear almacén de datos.
- En Selecciona una fuente de datos, elige BigQuery.
- En Importación de datos estructurados, selecciona Tabla de BigQuery con tu propio esquema.
- Conserva la opción Frecuencia de sincronización como Una vez.
- 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_inventorydel conjunto de datoscymbal_financeen tu proyecto. - Haz clic en Continuar.
- Revisa la página Revisar esquema y asignar propiedades clave.
- Haz clic en Continuar.
- Ingresa el nombre del almacén de datos como
cymbal-inventory. - Haz clic en Continuar.
- Conserva la opción de Precios generales.
- 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:
- En la página Almacenes de datos , selecciona los tres almacenes de datos que acabas de crear:
cymbal-hr,cymbal-financeycymbal-inventory. Asegúrate de seleccionar los tres almacenes de datos antes de continuar. - Haz clic en Continuar.
- Conserva la opción de Precios generales.
- Haz clic en Crear.
9. Prueba la app del portal para empleados de Cymbal
- En la app
cymbal-employee-portal, haz clic en Vista previa. - En el cuadro Buscar aquí, ingresa la siguiente pregunta:
What are the stipends that I get as an employee of Cymbal located in London? - Ingresa una pregunta relacionada con el inventario de productos:
How many units of sneakers do we have in stock? - 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
scriptde 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:
- En la consola de Cloud, ve a la página Vertex AI Search.
- Haz clic en Ver apps existentes.
- En la app
cymbal-employee-portal, haz clic en los tres puntos verticales de Más y, luego, en Borrar. - Sigue las instrucciones que aparecen en pantalla para confirmar la eliminación.
- Para borrar los almacenes de datos, haz clic en Almacenes de datos en el panel de navegación izquierdo de la consola.
- Borra los almacenes de datos
cymbal-hr,cymbal-financeycymbal-inventory:- En el almacén de datos
cymbal-hr, haz clic en los tres puntos verticales de Más y, luego, en Borrar. - Sigue las instrucciones que aparecen en pantalla para confirmar la eliminación.
- En el almacén de datos
cymbal-finance, haz clic en los tres puntos verticales de Más y, luego, en Borrar. - Sigue las instrucciones que aparecen en pantalla para confirmar la eliminación.
- En el almacén de datos
cymbal-inventory, haz clic en los tres puntos verticales de Más y, luego, en Borrar. - Sigue las instrucciones que aparecen en pantalla para confirmar la eliminación.
- En el almacén de datos
- Ve a la página Buckets y borra el bucket que creaste (por ejemplo,
cymbal-app-hr-12). - 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