GSP1209

Descripción general
El SDK de IA generativa de Google proporciona una interfaz unificada para los servicios de la API de IA generativa de Google. Este SDK simplifica el proceso de integración de las funciones de IA generativa en aplicaciones y servicios para que los desarrolladores utilicen los modelos de IA avanzados de Google para varias tareas. En este lab, explorarás el SDK de IA generativa de Google y aprenderás a conectarte a los servicios de IA, enviar instrucciones diversas y ajustar las respuestas de Gemini. También obtendrás experiencia práctica con técnicas más avanzadas para prepararte y aprovechar el poder de la IA generativa en tus propios proyectos.
Objetivos
En este lab, aprenderás a usar el SDK de IA generativa de Google para Python y a interactuar con los servicios y modelos de IA generativa de Google, incluido Gemini. Explorarás los siguientes temas:
- Instalación del SDK de IA generativa
- Conexión a un servicio de API
- Envío de instrucciones multimodales y de texto
- Configuración de instrucciones del sistema
- Configuración de los parámetros del modelo y los filtros de seguridad
- Administración de las interacciones del modelo (chat de varios turnos, transmisión de contenido, solicitudes asíncronas)
- Uso de funciones avanzadas (conteo de tokens, almacenamiento en caché de contexto, llamadas a funciones, predicción por lotes, embeddings de texto)
Requisitos previos
Antes de comenzar este lab, debes tener los siguientes conocimientos:
- Programación de Python básica
- Conceptos generales sobre APIs
- Ejecución de código de Python en un notebook de Jupyter en Vertex AI Workbench
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
-
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
-
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.
-
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.
-
Haz clic en Siguiente.
-
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.
-
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.
-
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.
Tarea 1: Abre el notebook en Vertex AI Workbench
-
En el menú de navegación (
) de la consola de Google Cloud, haz clic en Vertex AI > Workbench.
-
Busca la instancia y haz clic en el botón Abrir JupyterLab.
La interfaz de JupyterLab para tu instancia de Workbench se abrirá en una pestaña nueva del navegador.
Tarea 2: Configura el notebook
Abre el archivo de notebook, importa tus bibliotecas y elige tu modelo.
-
Abre el archivo .
-
En el cuadro de diálogo Select Kernel, elige Python 3 en la lista de kernels disponibles.
-
Revisa las siguientes secciones del notebook:
- Cómo empezar
- Usa el SDK de IA generativa de Google
- Conéctate a un servicio de API de IA generativa
Para Project ID, usa , y para Location, usa .
Nota: Omite las celdas del notebook que tienen la indicación Colab only. Si recibes una respuesta 429 de cualquiera de las ejecuciones de celda del notebook, espera 1 minuto antes de volver a ejecutar la celda para continuar.
Haz clic en Revisar mi progreso para verificar el objetivo.
Importar bibliotecas y configurar el notebook
Tarea 3. Interactúa con el modelo
Para obtener más información sobre todos los modelos y las APIs de IA en Vertex AI, consulta Modelos de Google y Model Garden.
Elige un modelo
- Ejecuta la sección Elige un modelo del notebook.
Envía instrucciones de texto
Usa el método generate_content
para generar respuestas a tus instrucciones. Puedes pasar texto a generate_content
y usar la propiedad .text
para obtener el contenido de texto de la respuesta.
- Ejecuta la sección Envía instrucciones de texto del notebook.
Envía instrucciones multimodales
Puedes incluir texto, documentos PDF, imágenes, audio y video en las solicitudes de instrucciones y obtener respuestas de texto o código.
También puedes pasar la URL del archivo en Part.from_uri
en la solicitud al modelo directamente.
- Ejecuta la sección Envía instrucciones multimodales del notebook.
Establece las instrucciones del sistema
Las instrucciones del sistema te permiten controlar el comportamiento del modelo. Configura la instrucción del sistema para darle contexto adicional al modelo para comprender la tarea, proporcionar respuestas más personalizadas y cumplir con lineamientos sobre la interacción del usuario.
- Ejecuta la sección Establece instrucciones del sistema del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Interactuar con el modelo
Tarea 4. Configura y controla el modelo
Configura los parámetros del modelo
Puedes incluir valores de parámetros en cada llamada que envíes a un modelo para controlar cómo este genera una respuesta. Para obtener más información, consulta Experimenta con los valores de los parámetros.
- Ejecuta la sección Configura los parámetros del modelo del notebook.
Configura filtros de seguridad
La API de Gemini proporciona filtros de seguridad que puedes ajustar en varias categorías de filtros para restringir o permitir ciertos tipos de contenido. Puedes usar estos filtros para ajustar lo que sea apropiado para tu caso de uso. Consulta la página Configura filtros de seguridad para obtener más detalles.
Cuando haces una solicitud al modelo, el contenido se analiza y se le asigna una calificación de seguridad. Puedes imprimir las respuestas del modelo para inspeccionar las calificaciones de seguridad del contenido generado, como en este ejemplo:
- Ejecuta la sección Configura filtros de seguridad del notebook.
Inicia un chat de varios turnos
La API de Gemini te permite tener conversaciones de formato libre en varios turnos.
- Ejecuta la sección Inicia un chat de varios turnos del notebook.
Controla el resultado generado
La capacidad de generación controlada de la API de Gemini te permite limitar el resultado del modelo a un formato estructurado. Puedes proporcionar los esquemas como modelos de Pydantic o una cadena de JSON.
También puedes definir un esquema de respuesta en un diccionario de Python. Usa solo los campos que se indican a continuación. Se ignorará el resto de los campos.
enum
items
maxItems
nullable
properties
required
En este ejemplo, le indicas al modelo que analice los datos de las opiniones sobre productos, extraiga las entidades clave, realice la clasificación de opiniones (varias opciones), proporcione una explicación adicional y genere los resultados en formato JSON.
- Ejecuta la sección Controla el resultado generado del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar y controlar el modelo
Tarea 5. Administra la interacción del modelo
Genera transmisión de contenido
De forma predeterminada, el modelo devuelve una respuesta después de completar todo el proceso de generación. También puedes usar el método generate_content_stream
para transmitir la respuesta a medida que se genera. El modelo devuelve fragmentos de la respuesta a medida que se generan.
- Ejecuta la sección Genera transmisión de contenido del notebook.
Envía solicitudes asíncronas
Puedes enviar solicitudes asíncronas con el módulo client.aio
. Este módulo expone todos los métodos asíncronos análogos que están disponibles en client
.
Por ejemplo, client.aio.models.generate_content
es la versión asíncrona de client.models.generate_content
.
- Ejecuta la sección Envía solicitudes asíncronas del notebook.
Cuenta y procesa tokens
Puedes usar el método count_tokens
para calcular la cantidad de tokens de entrada antes de enviar una solicitud a la API de Gemini. Consulta la página Enumera y cuenta tokens para obtener más detalles.
Cuenta tokens
- Ejecuta la sección Cuenta tokens del notebook.
Procesa tokens
- Ejecuta la sección Procesa tokens del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Administrar la interacción del modelo
Tarea 6. Funciones avanzadas
Llamadas a funciones
Las llamadas a funciones te permiten proporcionar un conjunto de herramientas que se pueden usar para responder a la instrucción del usuario. Crearás la descripción de una función en tu código y, luego, pasarás esa descripción a un modelo de lenguaje en una solicitud. La respuesta del modelo incluye el nombre de una función que coincide con la descripción y los argumentos con los que se la llama.
Para ver más ejemplos de llamadas a funciones, consulta este notebook.
- Ejecuta la sección Llamadas a funciones del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Llamar funciones
Usa el almacenamiento de contexto en caché
El almacenamiento de contexto en caché te permite almacenar los tokens de entrada que se usan con frecuencia en una caché dedicada y hacer referencia a ellos para las solicitudes posteriores. Esto elimina la necesidad de pasar repetidamente el mismo conjunto de tokens a un modelo.
Nota: El almacenamiento de caché en contexto solo está disponible para modelos estables con versiones fijas (por ejemplo, gemini-2.0-flash-001
). Debes incluir el sufijo de la versión (por ejemplo, -001
).
Crea una caché
- Ejecuta la sección Crea una caché del notebook.
Usa una caché
- Ejecuta la sección Usa una caché del notebook.
Borra una caché
- Ejecuta la sección Borra una caché del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Usar el almacenamiento de contexto en caché
Predicción por lotes
A diferencia de obtener respuestas en línea (síncronas), en las que se te limita a una solicitud de entrada a la vez, las predicciones por lotes de la API de Gemini en Vertex AI te permiten enviar una gran cantidad de solicitudes a Gemini en una sola solicitud por lotes. Luego, las respuestas del modelo se propagan de forma asíncrona a tu ubicación de almacenamiento del resultado en Cloud Storage o BigQuery.
Las predicciones por lotes suelen ser más eficientes y rentables que las predicciones en línea cuando se procesa una gran cantidad de entradas que no son sensibles a la latencia.
Prepara entradas por lotes
La entrada para las solicitudes por lotes especifica los elementos que se enviarán a tu modelo para la predicción.
Las solicitudes por lotes para Gemini aceptan fuentes de almacenamiento de BigQuery y Cloud Storage. Puedes obtener más información sobre los formatos de entrada por lotes en la página Generación de texto por lotes.
En este lab, se usa Cloud Storage como ejemplo. Los requisitos para la entrada de Cloud Storage son los siguientes:
- Formato de archivo: Líneas JSON (JSONL)
- Ubicado en
us-central1
- Permisos de lectura adecuados para la cuenta de servicio
Cada solicitud que envíes a un modelo puede incluir parámetros que controlan cómo el modelo genera una respuesta. Obtén más información sobre los parámetros de Gemini en la página Experimenta con los valores de los parámetros.
Esta es una de las solicitudes de ejemplo en el archivo JSONL de entrada batch_requests_for_multimodal_input_2.jsonl
:
{"request":{"contents": [{"role": "user", "parts": [{"text": "List objects in this image."}, {"file_data": {"file_uri": "gs://cloud-samples-data/generative-ai/image/office-desk.jpeg", "mime_type": "image/jpeg"}}]}],"generationConfig":{"temperature": 0.4}}}
- Ejecuta la sección Prepara entradas por lotes del notebook.
Prepara la ubicación del resultado por lotes
Cuando se completa una tarea de predicción por lotes, el resultado se almacena en la ubicación que especificaste en la solicitud.
-
La ubicación tiene el formato de un prefijo de URI de Cloud Storage o BigQuery, por ejemplo:
gs://path/to/output/data
o bq://projectId.bqDatasetId
.
-
Si no se especifica, se usa gs://STAGING_BUCKET/gen-ai-batch-prediction
para la fuente de Cloud Storage y bq://PROJECT_ID.gen_ai_batch_prediction.predictions_TIMESTAMP
para la fuente de BigQuery.
En este lab, se usa un bucket de Cloud Storage como ejemplo de ubicación de resultado.
Puedes especificar el URI de tu bucket de Cloud Storage en BUCKET_URI
o, si no se especifica, se creará un nuevo bucket de Cloud Storage en el formato gs://PROJECT_ID-TIMESTAMP
.
- Ejecuta la sección Prepara la ubicación del resultado por lotes del notebook.
Envía una solicitud de predicción por lotes
Para realizar una solicitud de predicción por lotes, especifica un ID de modelo de origen, una fuente de entrada y una ubicación de resultado en la que Vertex AI almacene los resultados de la predicción por lotes.
Para obtener más información, consulta la página API de predicción por lotes. También puedes verificar el estado en la consola en https://console.cloud.google.com/vertex-ai/batch-predictions
- Ejecuta la sección Envía una solicitud de predicción por lotes del notebook.
Nota: La predicción por lotes puede tardar unos minutos en completarse.
Recupera los resultados de las predicciones por lotes
Cuando se completa una tarea de predicción por lotes, el resultado de la predicción se almacena en la ubicación que especificaste en la solicitud. También está disponible en batch_job.dest.bigquery_uri
o batch_job.dest.gcs_uri
.
Resultado de ejemplo:
{"status": "", "processed_time": "2024-11-13T14:04:28.376+00:00", "request": {"contents": [{"parts": [{"file_data": null, "text": "List objects in this image."}, {"file_data": {"file_uri": "gs://cloud-samples-data/generative-ai/image/gardening-tools.jpeg", "mime_type": "image/jpeg"}, "text": null}], "role": "user"}], "generationConfig": {"temperature": 0.4}}, "response": {"candidates": [{"avgLogprobs": -0.10394711927934126, "content": {"parts": [{"text": "Here's a list of the objects in the image:\n\n* **Watering can:** A green plastic watering can with a white rose head.\n* **Plant:** A small plant (possibly oregano) in a terracotta pot.\n* **Terracotta pots:** Two terracotta pots, one containing the plant and another empty, stacked on top of each other.\n* **Gardening gloves:** A pair of striped gardening gloves.\n* **Gardening tools:** A small trowel and a hand cultivator (hoe). Both are green with black handles."}], "role": "model"}, "finishReason": "STOP"}], "modelVersion": "gemini-2.0-flash-001@default", "usageMetadata": {"candidatesTokenCount": 110, "promptTokenCount": 264, "totalTokenCount": 374}}}
- Ejecuta la sección Recupera los resultados de la predicción por lotes del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Recuperar los resultados de las predicciones por lotes
Obtén embeddings de texto
Puedes obtener embeddings de texto para un fragmento de texto con el método embed_content
. Todos los modelos producen un resultado con 768 dimensiones de forma predeterminada. Sin embargo, algunos modelos les dan a los usuarios la opción de elegir una dimensionalidad de resultado de entre 1
y 768
. Consulta la API de embeddings de texto de Vertex AI para obtener más detalles.
- Ejecuta la sección Obtén embeddings de texto del notebook.
Haz clic en Revisar mi progreso para verificar el objetivo.
Obtener embeddings de texto
¡Felicitaciones!
¡Felicitaciones! Exploraste con éxito el SDK de IA generativa de Google, aprendiste a conectarte a los servicios de IA, enviar instrucciones diversas y ajustar las respuestas del modelo de Gemini. También obtuviste experiencia práctica con técnicas más avanzadas, como administrar interacciones, usar el almacenamiento de contexto en caché o, incluso, trabajar con embeddings. Ahora tienes la preparación necesaria para aprovechar el poder de la IA generativa en tus propios proyectos.
Próximos pasos/Más información
Consulta los siguientes recursos para obtener más información sobre Gemini:
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: 5 de mayo de 2025
Prueba más reciente del lab: 5 de mayo 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.