App de Chat con la API de PaLM en Cloud Run

1. Introducción

En este codelab, se muestra cómo compilar e implementar una app de chat basada en IA en una aplicación web como un servicio de Cloud Run en Google Cloud. Esta app de chat permite a los usuarios realizar consultas y obtener una respuesta con el modelo PaLM para Chat Bison ( text-chat).

Qué compilarás

Crearás

  • Un entorno en Google Cloud para ejecutar la aplicación
  • Una imagen de Docker para la aplicación
  • Un servicio de Cloud Run que ejecuta la aplicación

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 consola de Google Cloud, en la página del selector de proyectos, 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 más información para verificar si la facturación está habilitada en un proyecto.
  3. Para activar Cloud Shell desde la consola de Google Cloud, sigue 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, configura las siguientes variables de entorno:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Habilita las APIs de Google Cloud necesarias ejecutando 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. Configura tu entorno

  1. Para copiar el código de muestra en tu proyecto, clona el repositorio en 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. Navega a la carpeta del proyecto que te interese ejecutando el siguiente comando desde la terminal de Cloud Shell:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
  1. Configura las siguientes variables de entorno para la inicialización de Vertex AI:

GCP_PROJECT : Es el ID de tu proyecto de Google Cloud. Por ejemplo: mi_proyecto.

GCP_REGION : Es la región en la que deseas implementar tu función de Cloud Functions. Por ejemplo: us-central1.

export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'

5. Compilar una imagen de Docker

Si deseas compilar una imagen de Docker para la aplicación y enviarla a Artifact Registry, sigue estos pasos:

  1. Configura una variable de entorno para el repositorio de Artifact Registry. Los nombres solo pueden contener letras minúsculas, números y guiones. Además, deben comenzar con una letra y terminar con una letra o un número. Por ejemplo: my-chat-app-repo.
export AR_REPO='my-chat-app-repo'
  1. Establece una variable de entorno para el nombre de tu servicio. Por ejemplo: chat-flask-app.
export SERVICE_NAME='chat-flask-app'
  1. Crea tu repositorio en el formato Docker.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
  1. Configurar la autenticación de Docker
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
  1. Compila la imagen.
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
  1. Para verificar si la imagen se envió a Artifact Registry, ve a la página de Artifact Registry. Busca el repositorio que creaste en esta página.

6. Implemente la aplicación

  1. Implementar la aplicación como servicio en Cloud Run
gcloud run deploy "$SERVICE_NAME" \ 
--port=8080 \ 
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \ 
--allow-unauthenticated \ 
--region=$GCP_REGION \ 
--platform=managed  \ 
--project=$GCP_PROJECT \ 
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION

Este paso puede tardar unos segundos en completarse.

  1. Para iniciar la aplicación de chat, haz clic en la URL del servicio.

56c06b62e0ac95bf.png

La aplicación de chat se abrirá en una pestaña nueva, como se muestra en la siguiente captura de pantalla:

eebde9c35c171563.png

7. 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 quieres conservar tu proyecto, omite los pasos anteriores y borra el servicio de Cloud Run. Para ello, navega a Cloud Run y, en la lista de servicios, marca el que quieras borrar y haz clic en BORRAR.

8. Felicitaciones

¡Felicitaciones! Compilaste e implementaste correctamente una app de chat basada en IA para una aplicación web como un servicio de Cloud Run en Google Cloud. Puedes usar esta app de chat para permitir que los usuarios ingresen su consulta. La app invocará el modelo de chat de Vertex AI y proporcionará la respuesta.