Cloud Function que une los modelos de Text Bison de PaLM

1. Introducción

En este codelab, se muestra cómo invocar una Cloud Function que inicializa el módulo de Vertex AI y, luego, proporciona un extremo para invocar el modelo de Text Bison de PaLM. Esta Cloud Function está escrita en Python. A continuación, se muestra la lista de servicios que se usan:

  • Cloud Functions
  • API de PaLM de Vertex AI

Qué compilarás

Crearás e implementarás una Cloud Function que proporciona un extremo para invocar el modelo de Text Bison de PaLM.

2. Requisitos

  • Un navegador, como Chrome o Firefox.
  • Un proyecto de Google Cloud con la facturación habilitada.

3. Antes de comenzar

  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 Google Cloud. Obtén información para verificar si la facturación está habilitada en un proyecto.
  3. Activa Cloud Shell desde la consola de Google Cloud siguiendo las instrucciones que se indican aquí.
  4. Si tu proyecto no está configurado, usa el siguiente comando para hacerlo:
gcloud config set project <YOUR_PROJECT_ID>
  1. En Cloud Shell, establece las siguientes variables de entorno:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Para habilitar las APIs de Google Cloud necesarias, ejecuta los siguientes comandos en la terminal de Cloud Shell:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

4. Implementa la función de Cloud Functions

Para crear e implementar Cloud Functions, sigue estos pasos:

  1. Para clonar el código del repositorio https://github.com/rominirani/genai-apptemplates-googlecloud, ejecuta el siguiente comando en la terminal de Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Con este comando, se clonará el contenido del repositorio en la carpeta genai-templates-googlecloud.
  2. Para navegar a la carpeta del proyecto que nos interesa, ejecuta el siguiente comando desde la terminal de Cloud Shell:
cd genai-apptemplates-googlecloud/text-predict-cloudfunction
  1. Deberías ver los archivos main.py y requirements.txt en la carpeta text-predict-cloudfunction. Para ello, ejecuta el comando dir o navega al editor de Cloud Shell.
  2. Para implementar la Cloud Function, ejecuta el comando gcloud functions deploy:
gcloud functions deploy predictText --gen2 --runtime=python311 --region=$GCP_REGION --source=. --entry-point=predictText --trigger-http --set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION --allow-unauthenticated --max-instances=1

Después de implementar la Cloud Function, la URL de la Cloud Function implementada se muestra en la terminal de Cloud Shell. La URL tiene el siguiente formato:

https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText

5. Invoca la Cloud Function

Como esta Cloud Function se implementa con un activador HTTP, puedes invocarla directamente. A continuación, se muestra una llamada de ejemplo:

curl -m 70 -X POST https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText \
-H "Content-Type: application/json" \
-d '{
  "prompt": "What are the best places to visit in the United States?"
}'

La salida obtenida se verá así:

3470e0a6d0a30b37.png

6. Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta publicación:

  1. En la consola de Google Cloud, ve a la página Administrar recursos.
  2. En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.
  4. Si deseas conservar tu proyecto, omite los pasos anteriores y borra la Cloud Function. Para ello, navega a Cloud Functions y, en la lista de funciones, marca la que deseas borrar y haz clic en BORRAR.

7. Felicitaciones

¡Felicitaciones! Usaste correctamente una Cloud Function que encapsula el modelo de Text Bison de PaLM. Revisa la documentación del producto de LLM de Vertex AI para obtener más información sobre los modelos disponibles.