Slack-Befehlsautomatisierung

1. Einführung

In diesem Codelab finden Sie eine Anleitung zum Erstellen eines Zusammenfassungsdienstes in einem Slack-Workspace, indem Sie eine Einbindung in den Slack-Slash-Befehl bereitstellen.

Der Nutzer ruft den Slash-Befehl /summarize auf und gibt den Text ein, der zusammengefasst werden soll. Anschließend ruft die Slack-Anwendung die zugehörige Cloud Functions-Funktion auf, die den Text akzeptiert und die PaLM API für die Zusammenfassung aufruft. Der Text wird dann an den Slack-Slash-Befehl zurückgegeben und als Antwort in der Slack-Anwendung angezeigt.

. Die Liste der verwendeten Google Cloud-Dienste sieht so aus:

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

Aufgaben

Sie erstellen

  • Eine Cloud Functions-Funktion, die die PaLM API für die Zusammenfassung von Texten aus Slack mit dem Slash-Befehl aufruft
  • Slack-Anwendung, die die obige Cloud Functions-Funktion zur Zusammenfassung aufruft.

2. Voraussetzungen

  • Ein Browser wie Chrome oder Firefox
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung

3. Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für Ihr Google Cloud-Projekt muss aktiviert sein. Prüfen, ob die Abrechnung für ein Projekt aktiviert ist
  3. Prüfen Sie, ob die Cloud Functions API und Vertex AI APIs aktiviert sind.
  4. Aktivieren Sie Cloud Shell über die Google Cloud Console, indem Sie dieser Anleitung folgen.
  5. Wenn Ihr Projekt noch nicht eingerichtet ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
  1. Legen Sie in Cloud Shell die folgenden Umgebungsvariablen fest:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. Cloud-Funktion bereitstellen

So erstellen und stellen Sie Cloud Functions-Funktionen bereit:

  1. Klonen Sie Code aus dem Repository https://github.com/rominirani/genai-apptemplates-googlecloud. Führen Sie dazu den folgenden Befehl in Ihrem Cloud Shell-Terminal aus:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Mit diesem Befehl wird der Repository-Inhalt in den Ordner „genai-templates-googlecloud“ geklont.
  2. Rufen Sie den Ordner des gewünschten Projekts auf, indem Sie im Cloud Shell-Terminal den folgenden Befehl ausführen:
cd genai-apptemplates-googlecloud/summarization-slack
  1. Sie sollten die Dateien main.py und requirements.txt im Ordner „Zusammenfassungsslack“ sehen. Führen Sie dazu entweder den Befehl „dir“ aus oder rufen Sie den Cloud Shell-Editor auf.
  2. Führen Sie den Befehl gcloudfunctions deploy aus, um die Cloud Functions-Funktion bereitzustellen:
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

Nachdem Sie die Cloud Functions-Funktion bereitgestellt haben, wird die URL der bereitgestellten Cloud Functions-Funktion im Cloud Shell-Terminal angezeigt. Die URL hat folgendes Format:

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

Notieren Sie sich die angezeigte URL. Sie wird zum Erstellen des Slack-Slash-Befehls benötigt.

5. Slack-Slash-Befehl erstellen

Lassen Sie uns nun einen benutzerdefinierten Slash-Befehl in Slack erstellen. Der benutzerdefinierte Befehl /summarize ruft die Cloud Functions-Funktion auf, die wir im vorherigen Abschnitt bereitgestellt haben.

So erstellen Sie einen Slash-Befehl:

  1. Rufen Sie api.slack.com/apps auf.
  2. Klicken Sie auf Create New App (Neue App erstellen).
  3. Wählen Sie im Fenster App erstellen die Option Neu erstellen aus.
  4. Geben Sie einen Namen für die App ein. Beispiel: Summarization Slack Application.. Wählen Sie den Slack-Arbeitsbereich für Ihre App-Entwicklung aus.
  5. Klicken Sie auf Create App (App erstellen). Die Seite Einstellungen wird geöffnet.
  6. Klicken Sie auf der Seite Einstellungen auf Allgemeine Informationen > Slash-Befehle. Klicken Sie auf Create New Command (Neuen Befehl erstellen).
  7. Geben Sie im Formular Create New Command (Neuen Befehl erstellen) die folgenden Werte ein:
  • Befehl: Geben Sie einen Slash-Befehl. z. B. /summarize..
  • Request URL: Geben Sie die vollständige URL der von uns bereitgestellten Cloud Functions-Funktion an. z. B. https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText.
  • Geben Sie eine kurze Beschreibung und einen Nutzungshinweis ein und speichern Sie die Angaben.
  1. Gehen Sie zurück zu Einstellungen > Allgemeine Informationen. Klicken Sie auf App installieren und dann auf In Workspace installieren. Die App wird in Ihrem Arbeitsbereich installiert.

Damit ist die Erstellung der benutzerdefinierten Slack-App abgeschlossen, die jetzt in Ihrem Slack-Workspace installiert ist und einen benutzerdefinierten Slash-Befehl (/summarize) enthält, mit dem Nutzer den Text in der Nachricht zusammenfassen können.

6. Slash-Befehl testen

  1. Rufen Sie den Slack-Workspace auf, in dem Sie die Slack-Anwendung „Zusammenfassung“ installiert haben:

Rufen Sie https://slack.com/intl/en-in/workspace-signin auf und geben Sie „Meine Arbeitsbereiche finden“ ein. um den Namen des Arbeitsbereichs zu sehen. Wählen Sie das aus.

  1. Geben Sie im Chat den Text mit dem Schrägstrich-Befehl „/summarize“ ein. Hier ein Beispielaufruf:

bcb511e5909709db.png

  1. Klicken Sie auf die Schaltfläche Senden, um die Cloud Functions-Funktion aufzurufen und die Zusammenfassungsantwort wie unten gezeigt anzuzeigen:

a62b223f30bb163e.png

7. Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:

  1. Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.
  4. Wenn Sie Ihr Projekt behalten möchten, überspringen Sie die obigen Schritte und löschen Sie die Cloud Functions-Funktion. Rufen Sie dazu Cloud Functions auf. Wählen Sie in der Liste der Funktionen die Funktion aus, die Sie löschen möchten, und klicken Sie auf LÖSCHEN.

8. Glückwunsch

Glückwunsch! Sie haben in der Slack-Anwendung erfolgreich einen Dienst zur Textzusammenfassung erstellt.