Slack-Befehlsautomatisierung

1. Einführung

In diesem Codelab finden Sie eine Anleitung zum Erstellen eines Zusammenfassungsdienstes in einem Slack-Workspace durch Integration mit dem Slack-Slash-Befehl.

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

Liste der verwendeten Google Cloud-Dienste:

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

Aufgaben

Sie erstellen Folgendes:

  • Eine Cloud Functions-Funktion, die die PaLM API zur Textzusammenfassung für den Text aufruft, der über den Slash-Befehl von Slack kommt
  • Eine Slack-Anwendung, die die oben genannte 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 der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Achten Sie darauf, dass die Abrechnung für Ihr Google Cloud-Projekt aktiviert ist. Informationen zum Prüfen, ob die Abrechnung für ein Projekt aktiviert ist
  3. Achten Sie darauf, dass die Cloud Functions API und die Vertex AI APIs aktiviert sind.
  4. Aktivieren Sie Cloud Shell in der Google Cloud Console. Folgen Sie dazu der Anleitung hier.
  5. Wenn Ihr Projekt nicht festgelegt 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 bereit:

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

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

Notieren Sie sich die angezeigte URL. Sie wird benötigt, um den Slack-Slash-Befehl zu erstellen.

5. Slack-Slash-Befehl erstellen

Erstellen wir einen benutzerdefinierten Slash-Befehl in Slack. Mit diesem benutzerdefinierten Befehl /summarize wird die Cloud Functions-Funktion aufgerufen, 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 Anwendung erstellen).
  3. Wählen Sie im Fenster Create an app (Anwendung erstellen) die Option From scratch (Von Grund auf) aus.
  4. Geben Sie einen Namen für Ihre Anwendung ein. Beispiel: Summarization Slack Application. Wählen Sie den Slack-Workspace für die Entwicklung Ihrer Anwendung aus.
  5. Klicken Sie auf Create App (Anwendung erstellen). Die Seite Settings (Einstellungen) wird geöffnet.
  6. Klicken Sie auf der Seite Settings (Einstellungen) auf Basic Information > Slash Commands (Grundlegende 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 an:
  • Command (Befehl): Geben Sie einen Slash-Befehl ein. Beispiel: /summarize.
  • Request URL (Anfrage-URL): Geben Sie die vollständige URL der Cloud Functions-Funktion an, die wir bereitgestellt haben. Beispiel: https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • Geben Sie eine kurze Beschreibung und einen Nutzungshinweis ein und speichern Sie die Eingaben.
  1. Kehren Sie zu Settings > Basic Information (Einstellungen > Grundlegende Informationen) zurück. Klicken Sie auf Install your app (Anwendung installieren) und dann auf Install to Workspace (Im Workspace installieren). Die Anwendung wird in Ihrem Workspace installiert.

Damit ist die Erstellung der benutzerdefinierten Slack-Anwendung abgeschlossen. Sie ist jetzt in Ihrem Slack-Workspace installiert und hat einen benutzerdefinierten Slash-Befehl (/summarize), mit dem Nutzer den Text zusammenfassen können, den sie in der Nachricht angeben.

6. Slash-Befehl testen

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

Rufen Sie https://slack.com/intl/en-in/workspace-signin auf und geben Sie „Find your workspaces“ (Meine Workspaces finden) ein, um den Namen Ihres Workspace zu finden. Wählen Sie ihn aus.

  1. Geben Sie im Chat den Text ein, dem der Slash-Befehl „/summarize “ vorangestellt ist. Ein Beispiel für den Aufruf ist unten zu sehen:

bcb511e5909709db.png

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

a62b223f30bb163e.png

7. Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
  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 oben genannten 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 erfolgreich einen Dienst zur Textzusammenfassung in der Slack-Anwendung erstellt.