arrow_back

Usa BigQuery para crear una aplicación con RAG

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Usa BigQuery para crear una aplicación con RAG

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

GSP1289

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

¿Te preocupan las alucinaciones de la IA? Si bien la IA puede ser un recurso valioso, a veces genera respuestas inexactas, desactualizadas o demasiado generales, un fenómeno conocido como "alucinación". En este lab, aprenderás a implementar una canalización con generación mejorada por recuperación (RAG) para abordar este problema. La RAG mejora los modelos de lenguaje grandes (LLM) como Gemini, ya que fundamenta sus resultados con información contextualmente pertinente de un conjunto de datos específico.

Supongamos que estás ayudando a Coffee-on-Wheels, un vendedor de café móvil pionero, a analizar los comentarios de los clientes sobre sus servicios. Sin acceso a los datos más recientes, las respuestas de Gemini podrían ser inexactas. Para resolver este problema, decides crear una canalización de RAG que incluya tres pasos:

  1. Generar embeddings: Convierte el texto de los comentarios de los clientes en embeddings de vectores, que son representaciones numéricas de datos que capturan el significado semántico.
  2. Buscar en el espacio vectorial: Crea un índice de estos vectores, busca elementos similares y recupéralos.
  3. Generar respuestas mejoradas: Aumenta Gemini con la información recuperada para producir respuestas más precisas y pertinentes.

BigQuery permite una conexión sin problemas a modelos de IA generativa remotos en Vertex AI. También proporciona varias funciones para embeddings, búsqueda de vectores y generación de texto directamente a través de consultas en SQL o notebooks de Python.

Para obtener más información, consulta el curso Crea embeddings, búsqueda de vectores y RAG con BigQuery en Google Cloud Skills Boost.

Qué aprenderás

  • Crear una conexión de origen y otorgar permisos de IAM
  • Generar embeddings y convertir datos de texto en embeddings de vectores
  • Buscar en el espacio vectorial y recuperar elementos similares
  • Generar una respuesta mejorada ampliando Gemini con los resultados de la búsqueda

Requisitos previos

Para completar este lab, debes tener conocimientos de BigQuery y programación en SQL.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón para abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Tarea 1. Crea una conexión de origen y otorga permisos de IAM

Crea una conexión de origen

Para usar modelos remotos de IA generativa de Vertex AI en BigQuery, como Gemini y un modelo de embedding, crea una nueva conexión de fuente externa.

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en BigQuery.
  2. Navega a Explorador, haz clic en + Agregar y selecciona Conexiones a fuentes de datos externas.
  3. En el menú desplegable Tipo de conexión, selecciona Modelos remotos de Vertex AI, funciones remotas y BigLake (Cloud Resource).
  4. En el campo ID de conexión, ingresa embedding_conn.
  5. Haz clic en Crear conexión.
  6. Una vez que se cree la conexión, haz clic en Ir a la conexión en la ventana emergente de confirmación para navegar a la conexión y copia el valor ID de cuenta de servicio. Lo necesitarás más adelante para asignar permisos a esta cuenta.

Otorga permisos de IAM

Para usar los datos de BigQuery y los recursos de Vertex AI, otorga a la cuenta de servicio los permisos de IAM necesarios.

  1. A continuación, debes otorgar permisos a través de IAM. Sigue los pasos que se indican a continuación:
    • En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, navega a IAM y administración > IAM.
    • Haz clic en Otorgar acceso.
    • En la sección Agregar principales, haz lo siguiente:
      • En el campo de texto Principales nuevas, pega el valor ID de cuenta de servicio que copiaste antes.
      • En Asignar roles, selecciona los siguientes roles (si es necesario, búscalos):
        • Propietario de datos de BigQuery
        • Usuario de Vertex AI
  2. Haz clic en Guardar para aplicar los cambios.
  3. En el menú de navegación (Ícono del menú de navegación), ve a APIs y servicios, haz clic en + Habilitar las APIs y los servicios, busca API de Vertex AI y haz clic en el botón Habilitar.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear una conexión de origen y otorgar permisos de IAM

Tarea 2. Genera embeddings

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, navega a BigQuery.

  2. En Explorador, navega hasta los tres puntos junto al proyecto y haz clic en Crear conjunto de datos. En ID del conjunto de datos, ingresa CustomerReview. Deja el resto de las opciones según la configuración predeterminada y haz clic en Crear conjunto de datos.

  3. Para conectarte al modelo de embedding, ejecuta la siguiente consulta en SQL en el editor de consultas:

CREATE OR REPLACE MODEL `CustomerReview.Embeddings` REMOTE WITH CONNECTION `us.embedding_conn` OPTIONS (ENDPOINT = 'text-embedding-005');
  1. Para subir el conjunto de datos desde un archivo CSV, ejecuta la siguiente consulta en SQL:
LOAD DATA OVERWRITE CustomerReview.customer_reviews ( customer_review_id INT64, customer_id INT64, location_id INT64, review_datetime DATETIME, review_text STRING, social_media_source STRING, social_media_handle STRING ) FROM FILES ( format = 'CSV', uris = ['gs://spls/gsp1249/customer_reviews.csv'] );
  1. (Opcional) Para verificar los datos subidos en la tabla, haz clic en Ir a la tabla. Busca el esquema de la tabla y obtén una vista previa de los datos.

  2. Para generar embeddings a partir de comentarios recientes de los clientes y almacenarlos en una tabla, ejecuta la siguiente consulta en SQL en el editor de consultas:

CREATE OR REPLACE TABLE `CustomerReview.customer_reviews_embedded` AS SELECT * FROM ML.GENERATE_EMBEDDING( MODEL `CustomerReview.Embeddings`, (SELECT review_text AS content FROM `CustomerReview.customer_reviews`) );
  1. (Opcional) Para examinar los resultados del embedding, haz clic en Ir a la tabla. Busca el esquema de la tabla y obtén una vista previa de los datos. Ten en cuenta que los resultados del embedding son números de punto flotante y es posible que no se puedan interpretar de inmediato.

Haz clic en Revisar mi progreso para verificar el objetivo. Generar embeddings

Tarea 3. Busca en el espacio vectorial y recupera los elementos similares

  1. Para crear un índice del espacio de búsqueda vectorial, ejecuta la siguiente consulta en SQL:
Nota: Para conjuntos de datos con menos de 5,000 filas, como en este lab, no es necesario crear un índice. En este paso, se muestra el código necesario para crear un índice de espacio vectorial cuando se necesitan conjuntos de datos más grandes. CREATE OR REPLACE VECTOR INDEX `CustomerReview.reviews_index` ON `CustomerReview.customer_reviews_embedded`(ml_generate_embedding_result) OPTIONS (distance_type = 'COSINE', index_type = 'IVF');
  1. Para buscar en el espacio de vectores y recuperar los elementos similares, ejecuta la siguiente consulta en SQL:
CREATE OR REPLACE TABLE `CustomerReview.vector_search_result` AS SELECT query.query, base.content FROM VECTOR_SEARCH( TABLE `CustomerReview.customer_reviews_embedded`, 'ml_generate_embedding_result', ( SELECT ml_generate_embedding_result, content AS query FROM ML.GENERATE_EMBEDDING( MODEL `CustomerReview.Embeddings`, (SELECT 'service' AS content) ) ), top_k => 5, options => '{"fraction_lists_to_search": 0.01}' );
  1. (Opcional) Para verificar los resultados de la consulta, haz clic en Ir a la tabla. Busca el esquema de la tabla y obtén una vista previa de los datos.

Haz clic en Revisar mi progreso para verificar el objetivo. Buscar en el espacio vectorial y recuperar los elementos similares

Tarea 4. Genera una respuesta mejorada

  1. Para conectarte al modelo de Gemini, ejecuta la siguiente consulta en SQL:

    CREATE OR REPLACE MODEL `CustomerReview.Gemini` REMOTE WITH CONNECTION `us.embedding_conn` OPTIONS (ENDPOINT = 'gemini-pro');
  2. Para mejorar las respuestas de Gemini, proporciona datos pertinentes y recientes recuperados de la búsqueda de vectores ejecutando la siguiente consulta:

SELECT ml_generate_text_llm_result AS generated FROM ML.GENERATE_TEXT( MODEL `CustomerReview.Gemini`, ( SELECT CONCAT( 'Summarize what customers think about our services', STRING_AGG(FORMAT('review text: %s', base.content), ',\n') ) AS prompt FROM `CustomerReview.vector_search_result` AS base ), STRUCT( 0.4 AS temperature, 300 AS max_output_tokens, 0.5 AS top_p, 5 AS top_k, TRUE AS flatten_json_output ) );
  1. Revisa los resultados generados por Gemini en la sección Resultados de la consulta debajo del editor de consultas.
Preguntas para ti:
1. ¿Cómo determinas si Gemini genera mejores respuestas con RAG que sin ella? Intenta realizar una prueba con código.

2. ¿Cómo se puede mejorar el código? Por ejemplo, en lugar de guardar los resultados de la búsqueda de vectores en una tabla (Tarea 3), ¿podría ese proceso incorporarse directamente en la generación de respuestas (Tarea 4) para la recuperación en tiempo real?

Explora estas preguntas durante el tiempo restante del lab. ¡Buena suerte!

Haz clic en Revisar mi progreso para verificar el objetivo. Generar la respuesta mejorada con los datos recuperados de la búsqueda vectorial

¡Felicitaciones!

Para ayudar a Coffee-on-Wheels a obtener estadísticas de los comentarios de los clientes sobre sus servicios, implementaste con éxito una canalización de RAG en BigQuery, lo que le proporcionó a Gemini información pertinente y actualizada. Te conectaste a modelos de IA generativa remotos, incluido un modelo de embedding y Gemini, y seguiste tres pasos: crear embeddings, buscar un espacio vectorial y generar una respuesta mejorada. El objetivo es que puedas aplicar este mismo enfoque para abordar tus propios desafíos de alucinaciones de IA.

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 22 de enero de 2025

Prueba más reciente del lab: 22 de enero de 2025

Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.