1. Introducción
En este codelab, encontrarás instrucciones para crear un servicio de resumen en un espacio de trabajo de Slack a través de 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 resumirá. Luego, la aplicación de Slack invoca la Cloud Function asociada que acepta el texto y, a su vez, invoca la API de PaLM para el resumen. El texto resumido se devuelve al comando de barra de Slack y se muestra como respuesta en la aplicación de Slack.
La lista de servicios de Google Cloud que se usan es la siguiente:
- Cloud Functions
- API de PaLM de Vertex AI
- Cloud Logging
Qué compilarás
Crearás lo siguiente:
- Una Cloud Function que invoca la API de PaLM para el resumen de texto en el texto que proviene de Slack con el comando de barra
- Una aplicación de Slack que invoca la Cloud Function anterior para el resumen
2. Requisitos
3. Antes de comenzar
- En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
- 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.
- Asegúrate de que estén habilitadas la API de Cloud Functions y las APIs de Vertex AI.
- Activa Cloud Shell desde la consola de Google Cloud siguiendo las instrucciones que se indican aquí.
- Si tu proyecto no está configurado, usa el siguiente comando para hacerlo:
gcloud config set project <YOUR_PROJECT_ID>
- En Cloud Shell, establece 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:
- Clona el código del repositorio https://github.com/rominirani/genai-apptemplates-googlecloud ejecutando el siguiente comando en tu terminal de Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- Este comando clonará el contenido del repositorio en la carpeta genai-templates-googlecloud.
- Navega a la carpeta del proyecto que nos interesa ejecutando el siguiente comando desde la terminal de Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
- Deberías ver los archivos main.py y requirements.txt en la carpeta summarization-slack ejecutando el comando dir o navegando al editor de Cloud Shell.
- 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 implementada se muestra en la terminal de Cloud Shell. La URL tiene el siguiente formato:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
Ten en cuenta la URL que se mostró, ya que será necesaria para crear el comando de barra de Slack.
5. Crea el comando de barra de Slack
Creemos un comando de barra personalizado en Slack. Este comando personalizado /summarize invoca la Cloud Function que implementamos en la sección anterior.
Para crear un comando de barra, sigue estos pasos:
- Ve a api.slack.com/apps.
- Haz clic en Crear una app nueva.
- En la ventana Crear una app, elige la opción Desde cero.
- Ingresa un nombre para tu app. Por ejemplo,
Summarization Slack Application.Selecciona el espacio de trabajo de Slack para el desarrollo de tu app. - Haz clic en Crear app. Se abrirá la página Configuración.
- En la página Configuración, haz clic en Información básica > Comandos de barra. Haz clic en Crear comando nuevo.
- En el formulario Crear comando nuevo, proporciona los siguientes valores:
- Comando: Proporciona 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 y una sugerencia de uso, y guarda los cambios.
- Vuelve a Configuración > Información básica. Haz clic en Instalar la app y, luego, en Instalar en el espacio de trabajo. La app se instalará en tu espacio de trabajo.
Con esto, se completa la creación de la app personalizada de Slack que ahora está instalada en tu espacio de trabajo de Slack y tiene un comando de barra personalizado (/summarize) que ayuda a un usuario a resumir el texto que proporciona en el mensaje.
6. Prueba el comando de barra
- Ve al espacio de trabajo de Slack en el que instalaste la aplicación de Slack de resumen:
Ve a https://slack.com/intl/en-in/workspace-signin y, luego, ingresa "Find your workspaces" para encontrar el nombre de tu espacio de trabajo. Selecciónalo.
- En el chat, ingresa el texto con el prefijo del comando de barra "/summarize ". A continuación, se muestra una invocación de muestra:

- Haz clic en el botón Enviar para invocar la Cloud Function y mostrar la respuesta del resumen, como se muestra a continuación:

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:
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.
- 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.
8. Felicitaciones
¡Felicitaciones! Creaste correctamente un servicio de resumen de texto en la aplicación de Slack.