Automatización de comandos de Slack

1. Introducción

En este codelab, puedes encontrar instrucciones para crear un servicio de resumen en un lugar de trabajo de Slack proporcionando una integración con el comando de barra de Slack.

El usuario invoca un comando de barra /summarize y, luego, ingresa el texto que se desea resumir. Luego, la aplicación de Slack invoca la Cloud Function asociada que acepta el texto e invoca la API de PaLM para el resumen. Luego, el texto resumido se devuelve al comando de barra de Slack y se muestra como respuesta en la aplicación de Slack.

de Google Cloud. Esta es la lista de servicios de Google Cloud usados:

  1. Cloud Functions
  2. API de PaLM de Vertex AI
  3. Cloud Logging

Qué compilarás

Crearás

  • Una Cloud Function que invoca la API de PaLM para resumir texto en el texto que proviene de Slack usando el comando de barra
  • Aplicación de Slack que invoca la Cloud Function anterior para el resumen

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. Asegúrate de que las API de Cloud Functions y Vertex AI estén habilitadas.
  4. Para activar Cloud Shell desde la consola de Google Cloud, sigue las instrucciones que se indican aquí.
  5. 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

4. Implementa la función de Cloud Functions

Para crear e implementar Cloud Functions, sigue estos pasos:

  1. Clona el código del repo https://github.com/rominirani/genai-apptemplates-googlecloud mediante la ejecución del siguiente comando en tu 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. Navega a la carpeta del proyecto que te interese ejecutando el siguiente comando desde la terminal de Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
  1. Deberías ver los archivos main.py y requirements.txt en la carpeta summarization-slack, ya sea ejecutando el comando dir o navegando al editor de Cloud Shell.
  2. Para implementar la Cloud Function, ejecuta el comando gcloud functions deploy:
gcloud functions deploy summarizeText \
--gen2 \
--runtime=python311 \
--source=. \
--region=$GCP_REGION \
--project=$GCP_PROJECT \
--entry-point=summarizeText \
--trigger-http \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION \
--max-instances=1

Después de implementar la Cloud Function, la URL de la Cloud Function que se implementó se mostrará en la terminal de Cloud Shell. La URL tiene el siguiente formato:

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

Toma nota de la URL que se mostró, ya que deberás crear el comando de barra de Slack.

5. Crea el comando de barra de Slack

Creemos un comando de barra personalizado en Slack. El comando personalizado /summarize invoca la Cloud Function que implementamos en la sección anterior.

Para crear un comando de barra, sigue estos pasos:

  1. Ve a api.slack.com/apps.
  2. Haz clic en Create New App.
  3. En la ventana Crear una app, elige la opción Desde cero.
  4. Ingresa un nombre para tu app. Por ejemplo, Summarization Slack Application.. Selecciona el lugar de trabajo de Slack para el desarrollo de tu app.
  5. Haz clic en Crear aplicación. Se abrirá la página Configuración.
  6. En la página Configuración, haz clic en Información básica > Comandos de barra Haz clic en Crear nuevo comando.
  7. En el formulario Crear comando nuevo, proporciona los siguientes valores:
  • Comando: Escribe un comando de barra. Por ejemplo, /summarize.
  • URL de solicitud: Proporciona la URL completa de la Cloud Function que implementamos. Por ejemplo, https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • Ingresa una descripción breve o una sugerencia de uso, y guárdala.
  1. Regresa a Configuración > Información básica. Haz clic en Instala tu app y, luego, en Instalar en Workspace. La app debe estar instalada en tu espacio de trabajo.

Esto completa la creación de la app de Slack personalizada que ahora está instalada en tu espacio de trabajo de Slack y tiene un comando de barra personalizado (/summarize) que ayuda al usuario a resumir el texto que proporciona en el mensaje.

6. Prueba el comando de barra

  1. Ve al lugar de trabajo de Slack en el que instalaste la aplicación para resúmenes de Slack:

Ve a https://slack.com/intl/en-in/workspace-signin y escribe "Encuentra tus lugares de trabajo" para ver el nombre de tu lugar de trabajo. Selecciona esa opción.

  1. En el chat, ingresa el texto precedido por el comando de barra “/summarize”. A continuación, se muestra un ejemplo de invocación:

bcb511e5909709db.png

  1. Haz clic en el botón Enviar para invocar la Cloud Function y mostrar la respuesta de resumen como se muestra a continuación:

a62b223f30bb163e.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 la Cloud Function. Para ello, navega a Cloud Functions y, en la lista de funciones, marca la que quieras borrar y haz clic en BORRAR.

8. Felicitaciones

¡Felicitaciones! Creaste correctamente un servicio de resumen de textos en la aplicación de Slack.