La IA generativa en Vertex AI (también conocida como IA generativa o IA generativa) te brinda acceso a Los modelos de IA generativa de Google para múltiples modalidades (texto, código, imágenes, voz). Puedes probar y ajustar estos modelos de lenguaje grandes (LLM) y, luego, implementarlos en tus aplicaciones potenciadas por IA. Para obtener más información, consulta Descripción general de la IA generativa en Vertex AI.
Vertex AI tiene una variedad de modelos de base de IA generativa a los que se puede acceder a través de una API, incluidos los modelos que se usan en los siguientes ejemplos:
- Gemini Pro está diseñado para manejar tareas de lenguaje natural, chat de código y texto de varios turnos, y generación de código.
- Gemini Pro Vision admite instrucciones multimodales. Puedes incluir texto, imágenes y video en las solicitudes de prompts y obtener respuestas de texto o código.
- Pathways Language Model 2 (PaLM 2) para texto se ajusta para tareas de lenguaje, como clasificación, resumen y extracción de entidades.
Cada modelo se expone a través de un extremo de publicador específico para tu proyecto de Google Cloud, por lo que no es necesario implementar el modelo de base, a menos que necesites ajustarlo para un caso de uso específico. Puedes enviar una instrucción al extremo del publicador. Una instrucción es una solicitud de lenguaje natural que se envía a un LLM para obtener una respuesta.
En este instructivo, se muestran flujos de trabajo que generan respuestas de los modelos de Vertex AI mediante el envío de instrucciones de texto a los extremos del publicador con un conector de Workflows o una solicitud HTTP POST
. Para obtener más información, consulta la
Descripción general del conector de la API de Vertex AI
y realiza una solicitud HTTP.
Ten en cuenta que puedes implementar y ejecutar cada flujo de trabajo de forma independiente.
Objetivos
En este instructivo, harás lo siguiente:
- Habilita las APIs de Vertex AI y Workflows, y otorga el rol de usuario de Vertex AI (
roles/aiplatform.user
) a tu cuenta de servicio. Este rol permite acceder a la mayoría de Vertex AI capacidades de integración. Para obtener más información sobre la configuración de Vertex AI, consulta Prepárate en Google Cloud. - Implementa y ejecuta un flujo de trabajo que le solicite a un modelo de Vertex AI (Gemini Pro Vision) que describa una imagen que esté disponible públicamente a través de Cloud Storage. Para obtener más información, consulta Cómo hacer públicos los datos.
- Implementa y ejecuta un flujo de trabajo que itere por una lista de países en paralelo y solicite a un modelo de Vertex AI (Gemini Pro) que genere y muestre los historiales de los países. Usa ramas paralelas te permite reducir el tiempo total de ejecución iniciando las llamadas al LLM al mismo tiempo y esperar a que todos se completen antes de combinar resultados. Para obtener más información, consulta Ejecuta los pasos del flujo de trabajo en paralelo.
- Implementa un flujo de trabajo similar al anterior. Sin embargo, solicita a un modelo de Vertex AI (PaLM 2 para texto) que genere y muestre los historiales de los países. Para obtener más información cómo elegir un modelo, consulta Información del modelo.
- Implementa un flujo de trabajo que pueda resumir un documento grande. Debido a que hay un límite para la ventana de contexto que establece la extensión del período que el modelo consulta durante el entrenamiento (y para las previsiones), el flujo de trabajo divide el documento en partes más pequeñas y, luego, le solicita a un modelo de Vertex AI (Gemini Pro) que resuma cada parte en paralelo. Para ver más información, consulta Instrucciones para hacer resúmenes y Horizonte de previsión, ventana de contexto y ventana de previsión.
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Antes de comenzar
Antes de probar los ejemplos de este instructivo, asegúrate de haber completado lo siguiente:
Console
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
Implementa un flujo de trabajo que describa una imagen (Gemini Pro Vision)
Implementa un flujo de trabajo que use un método conector
(generateContent
) para enviar una solicitud a Gemini Pro Vision
extremo del publicador. El método proporciona compatibilidad con la generación de contenido con entradas multimodales.
El flujo de trabajo proporciona una instrucción de texto y el URI de una imagen que está disponible de forma pública en un bucket de Cloud Storage. Puedes ver la imagen y, en la consola de Google Cloud, puedes ver los detalles del objeto.
El flujo de trabajo muestra una descripción de la imagen a partir de la respuesta generada por el modelo.
Para obtener más información sobre los parámetros del cuerpo de la solicitud HTTP que se usan cuando se solicita el LLM y los elementos del cuerpo de la respuesta, consulta la referencia de la API de Gemini.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
Haz clic en
Crear.Ingresa un nombre para el flujo de trabajo nuevo:
describe-image
.En la lista Región, selecciona us-central1 (Iowa).
Para la Cuenta de servicio, selecciona la cuenta de servicio que crear.
Haz clic en Siguiente.
En el editor de flujos de trabajo, ingresa la siguiente definición para tu flujo de trabajo:
Haz clic en Implementar.
gcloud
Crea un archivo de código fuente para tu flujo de trabajo:
touch describe-image.yaml
En un editor de texto, copia el siguiente flujo de trabajo en tu archivo de código fuente:
Para implementar el flujo de trabajo, ingresa el siguiente comando:
gcloud workflows deploy describe-image \ --source=describe-image.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ejecuta el flujo de trabajo
Ejecuta la definición actual del flujo de trabajo asociada con el flujo de trabajo.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
En la página Flujos de trabajo, selecciona la describe-image para ir a la página de detalles.
En la página Detalles del flujo de trabajo, haz clic en play_arrow Ejecución.
En Entrada, ingresa lo siguiente:
{"image_url":"gs://generativeai-downloads/images/scones.jpg"}
Haz clic de nuevo en Ejecutar.
Observa los resultados del flujo de trabajo en el panel Output.
El resultado debería ser similar al siguiente ejemplo:
{ "image_description": "There are three pink peony flowers on the right side of the picture[]...]There is a white napkin on the table.", "image_url": "gs://generativeai-downloads/images/scones.jpg" }
gcloud
Abre una terminal.
Ejecuta el flujo de trabajo:
gcloud workflows run describe-image \ --data='{"image_url":"gs://generativeai-downloads/images/scones.jpg"}'
Los resultados de la ejecución deberían ser similares a los siguientes:
Waiting for execution [258b530e-a093-46d7-a4ff-cbf5392273c0] to complete...done. argument: '{"image_url":"gs://generativeai-downloads/images/scones.jpg"}' createTime: '2024-02-09T13:59:32.166409938Z' duration: 4.174708484s endTime: '2024-02-09T13:59:36.341118422Z' name: projects/1051295516635/locations/us-central1/workflows/describe-image/executions/258b530e-a093-46d7-a4ff-cbf5392273c0 result: "{\"image_description\":\"The picture shows a rustic table with a white surface,\ \ on which there are several scones with blueberries, as well as two cups of coffee\ [...] \ on the table. The background of the table is a dark blue color.\",\"image_url\"\ :\"gs://generativeai-downloads/images/scones.jpg\"}" startTime: '2024-02-09T13:59:32.166409938Z' state: SUCCEEDED
Implementa un flujo de trabajo que genere historias de países (Gemini Pro)
Implementa un flujo de trabajo que itere a través de una lista de entrada de países en
paralelo
y use un método de conector
(generateContent
) para realizar una solicitud a un extremo de publicador de Gemini Pro. El método proporciona compatibilidad con la generación de contenido con entradas multimodales.
El flujo de trabajo devuelve las historias de los países que generó el modelo, combinando en un mapa.
Para obtener más información sobre los parámetros del cuerpo de la solicitud HTTP que se usan cuando se solicita el LLM y los elementos del cuerpo de la respuesta, consulta la referencia de la API de Gemini.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
Haz clic en
Crear.Ingresa un nombre para el flujo de trabajo nuevo:
gemini-pro-country-histories
.En la lista Región, selecciona us-central1 (Iowa).
Para la Cuenta de servicio, selecciona la cuenta de servicio que crear.
Haz clic en Siguiente.
En el editor de flujos de trabajo, ingresa la siguiente definición para tu flujo de trabajo:
Haz clic en Implementar.
gcloud
Crea un archivo de código fuente para tu flujo de trabajo:
touch gemini-pro-country-histories.yaml
En un editor de texto, copia el siguiente flujo de trabajo en tu archivo de código fuente:
Para implementar el flujo de trabajo, ingresa el siguiente comando:
gcloud workflows deploy gemini-pro-country-histories \ --source=gemini-pro-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ejecuta el flujo de trabajo
Ejecuta la definición actual del flujo de trabajo asociada con el flujo de trabajo.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
En la página Recomendaciones, selecciona el flujo de trabajo gemini-pro-country-histories para ir a su página de detalles.
En la página Detalles del flujo de trabajo, haz clic en play_arrow Ejecución.
En Entrada, ingresa lo siguiente:
{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}
Haz clic de nuevo en Ejecutar.
Observa los resultados del flujo de trabajo en el panel Output.
El resultado debería ser similar al siguiente ejemplo:
{ "Argentina": "The history of Argentina is a complex and fascinating one, marked by periods of prosperity and decline, political [...] "Bhutan": "The history of Bhutan is a rich and fascinating one, dating back to the 7th century AD. Here is a brief overview: [...] "Cyprus": "The history of Cyprus is a long and complex one, spanning over 10,000 years. The island has been ruled by a succession [...] "Denmark": "1. **Prehistory and Early History (c. 12,000 BC - 800 AD)**\\n - The earliest evidence of human habitation in Denmark [...] "Ethiopia": "The history of Ethiopia is a long and complex one, stretching back to the earliest human civilizations. The country is [...] }
gcloud
Abre una terminal.
Ejecuta el flujo de trabajo:
gcloud workflows run gemini-pro-country-histories \ --data='{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}' \ --location=us-central1
Los resultados de la ejecución deberían ser similares a los siguientes:
Waiting for execution [7ae1ccf1-29b7-4c2c-99ec-7a12ae289391] to complete...done. argument: '{"countries":["Argentina","Bhutan","Cyprus","Denmark","Ethiopia"]}' createTime: '2024-02-09T16:25:16.742349156Z' duration: 12.075968673s endTime: '2024-02-09T16:25:28.818317829Z' name: projects/1051295516635/locations/us-central1/workflows/gemini-pro-country-histories/executions/7ae1ccf1-29b7-4c2c-99ec-7a12ae289391 result: "{\"Argentina\":\"The history of Argentina can be traced back to the arrival\ [...] n* 2015: Argentina elects Mauricio Macri as president.\",\"Bhutan\":\"The history\ [...] \ natural beauty, ancient monasteries, and friendly people.\",\"Cyprus\":\"The history\ [...] ,\"Denmark\":\"The history of Denmark can be traced back to the Stone Age, with\ [...] \ a high standard of living.\",\"Ethiopia\":\"The history of Ethiopia is long and\ [...] startTime: '2024-02-09T16:25:16.742349156Z' state: SUCCEEDED
Implementa un flujo de trabajo que genere historiales de países (PaLM 2 para textos).
Es posible que no quieras usar Gemini Pro como modelo. El
El siguiente ejemplo usa un flujo de trabajo similar al anterior; Sin embargo, usa
un método conector
(predict
) para realizar una solicitud a PaLM 2.
para el extremo de publicador de texto. El método realiza una predicción en línea.
Para obtener más información sobre los parámetros del cuerpo de la solicitud HTTP que se usan cuando se solicita el LLM y los elementos del cuerpo de la respuesta, consulta la referencia de la API de PaLM 2 para texto.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
Haz clic en
Crear.Ingresa un nombre para el flujo de trabajo nuevo:
text-bison-country-histories
.En la lista Región, selecciona us-central1 (Iowa).
Para la Cuenta de servicio, selecciona la cuenta de servicio que crear.
Haz clic en Siguiente.
En el editor de flujos de trabajo, ingresa la siguiente definición para tu flujo de trabajo:
Ten en cuenta que, según el modelo que se use, es posible que debas quitar los espacios en blanco innecesarios de la respuesta.
Haz clic en Implementar.
gcloud
Crea un archivo de código fuente para tu flujo de trabajo:
touch text-bison-country-histories.yaml
En un editor de texto, copia el siguiente flujo de trabajo en tu archivo de código fuente:
Según el modelo que uses, es posible que debas quitar espacio en blanco innecesario de la respuesta.
Para implementar el flujo de trabajo, ingresa el siguiente comando:
gcloud workflows deploy text-bison-country-histories \ --source=text-bison-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Implementa un flujo de trabajo que resuma un documento grande (Gemini Pro)
Implementa un flujo de trabajo que divida un documento grande en partes más pequeñas para facilitar
http.post
solicitudes a un extremo
de publicador de Gemini Pro en
paralelo de modo que el modelo pueda resumir cada parte de forma simultánea. Finalmente, el flujo de trabajo
combina todos los resúmenes parciales en uno completo.
Para obtener más información sobre los parámetros del cuerpo de la solicitud HTTP que se usan cuando se solicitan instrucciones el LLM y los elementos del cuerpo de respuesta, consulta la Referencia de la API de Gemini.
En la definición del flujo de trabajo, se supone que creaste un bucket de Cloud Storage
al que puedes subir un archivo de texto. Para obtener más información sobre el conector de Workflows (googleapis.storage.v1.objects.get
) que se usa para recuperar objetos del bucket de Cloud Storage, consulta la referencia de conectores.
Después de implementar el flujo de trabajo, puedes ejecutarlo creando un activador de
Eventarc adecuado y, luego, subiendo un archivo al bucket. Para
más información, consulta
Enruta eventos de Cloud Storage a flujos de trabajo.
Ten en cuenta que se deben habilitar APIs adicionales y otorgar roles adicionales, incluido el rol de usuario de objetos de almacenamiento (roles/storage.objectUser
) a tu cuenta de servicio, que admite el uso de objetos de Cloud Storage. Para obtener más información, consulta la
Prepárate para crear un activador.
Console
En la consola de Google Cloud, ve a la página Flujos de trabajo.
Haz clic en
Crear.Ingresa un nombre para el flujo de trabajo nuevo:
gemini-pro-summaries
.En la lista Región, selecciona us-central1 (Iowa).
Para la Cuenta de servicio, selecciona la cuenta de servicio que crear.
Haz clic en Siguiente.
En el editor de flujos de trabajo, ingresa la siguiente definición para tu flujo de trabajo:
Haz clic en Implementar.
gcloud
Crea un archivo de código fuente para tu flujo de trabajo:
touch gemini-pro-summaries.yaml
En un editor de texto, copia el siguiente flujo de trabajo en tu archivo de código fuente:
Para implementar el flujo de trabajo, ingresa el siguiente comando:
gcloud workflows deploy gemini-pro-summaries \ --source=gemini-pro-summaries.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
Console
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Borra los recursos individuales
Borra los flujos de trabajo que creaste en este instructivo.
¿Qué sigue?
- Obtén más información sobre los conectores de flujos de trabajo.
- Obtén más información sobre el método
generateContent
de Vertex AI. - Obtén más información sobre el método
predict
de Vertex AI.