Automatyzacja poleceń w Slacku

1. Wprowadzenie

W tym ćwiczeniu znajdziesz instrukcje tworzenia usługi podsumowywania w obszarze roboczym Slack poprzez integrację z poleceniem po ukośniku w Slacku.

Użytkownik wywołuje polecenie po ukośniku /summarize i wpisuje tekst, który ma zostać podsumowany. Następnie aplikacja Slack wywołuje powiązaną funkcję w Cloud Functions, która akceptuje tekst i wywołuje interfejs PaLM API w celu podsumowania. Podsumowany tekst jest następnie zwracany do polecenia Slack Slash Command i wyświetlany jako odpowiedź w aplikacji Slack.

Lista używanych usług Google Cloud:

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

Co utworzysz

Utworzysz

  • Funkcja w Cloud Functions, która wywołuje interfejs PaLM API w celu podsumowania tekstu pochodzącego ze Slacka za pomocą polecenia po ukośniku
  • Aplikacja Slack, która wywołuje powyższą funkcję Cloud Function w celu podsumowania.

2. Wymagania

  • przeglądarka, np. Chrome lub Firefox;
  • projekt Google Cloud z włączonymi płatnościami;

3. Zanim zaczniesz

  1. W konsoli Google Cloud na stronie selektora projektu wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Google Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie włączone są płatności
  3. Sprawdź, czy interfejsy Cloud Functions API i Vertex AI API są włączone.
  4. Aktywuj Cloud Shell w konsoli Google Cloud, postępując zgodnie z instrukcjami tutaj.
  5. Jeśli projekt nie jest ustawiony, użyj tego polecenia, aby go ustawić:
gcloud config set project <YOUR_PROJECT_ID>
  1. W Cloud Shell ustaw te zmienne środowiskowe:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. Wdrażanie funkcji w Cloud Functions

Aby utworzyć i wdrożyć Cloud Functions, wykonaj te czynności:

  1. Sklonuj kod z repozytorium https://github.com/rominirani/genai-apptemplates-googlecloud, wykonując w terminalu Cloud Shell to polecenie:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. To polecenie sklonuje zawartość repozytorium do folderu genai-templates-googlecloud.
  2. Przejdź do folderu projektu, który Cię interesuje, wykonując to polecenie w terminalu Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
  1. W folderze summarization-slack powinny być widoczne pliki main.py i requirements.txt . Możesz to sprawdzić, wykonując polecenie dir lub otwierając edytor Cloud Shell.
  2. Aby wdrożyć funkcję w Cloud Functions, uruchom polecenie 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

Po wdrożeniu funkcji w Cloud Functions adres URL wdrożonej funkcji zostanie wyświetlony w terminalu Cloud Shell. Adres URL ma format:

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

Zanotuj wyświetlony adres URL. Będzie on potrzebny do utworzenia polecenia Slack po ukośniku.

5. Tworzenie polecenia po ukośniku w Slacku

Utwórzmy niestandardowe polecenie po ukośniku w Slacku. To polecenie niestandardowe /summarize wywołuje funkcję w Cloud Functions, którą wdrożyliśmy w poprzedniej sekcji.

Aby utworzyć polecenie Slash, wykonaj te czynności:

  1. Wejdź na api.slack.com/apps.
  2. Kliknij Utwórz nową aplikację.
  3. W oknie Utwórz aplikację wybierz opcję Od początku.
  4. Wpisz nazwę aplikacji. Na przykład Summarization Slack Application. Wybierz obszar roboczy Slacka do tworzenia aplikacji.
  5. Kliknij Utwórz aplikację. Otworzy się strona Ustawienia.
  6. Na stronie Ustawienia kliknij Informacje podstawowe > Polecenia z ukośnikiem. Kliknij Utwórz nowe polecenie.
  7. W formularzu Utwórz nowe polecenie podaj te wartości:
  • Polecenie: wydaj polecenie po ukośniku. Na przykład /summarize.
  • URL żądania: podaj pełny adres URL wdrożonej funkcji w Cloud Functions. Na przykład https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • Wpisz krótki opis i wskazówkę dotyczącą użycia, a potem zapisz zmiany.
  1. Wróć do sekcji Ustawienia > Informacje podstawowe. Kliknij Zainstaluj aplikację, a potem Zainstaluj w Workspace. Aplikacja zostanie zainstalowana w Twoim obszarze roboczym.

W ten sposób zakończysz tworzenie niestandardowej aplikacji Slack, która jest teraz zainstalowana w Twojej przestrzeni roboczej Slack i ma niestandardowe polecenie po ukośniku (/summarize), które pomaga użytkownikowi podsumować tekst podany w wiadomości.

6. Testowanie polecenia po ukośniku

  1. Otwórz obszar roboczy Slacka, w którym masz zainstalowaną aplikację Slack do podsumowywania:

Wejdź na https://slack.com/intl/en-in/workspace-signin i wpisz „Find your workspaces” (Znajdź swoje obszary robocze), aby znaleźć nazwę obszaru roboczego. Wybierz tę opcję.

  1. Na czacie wpisz tekst poprzedzony poleceniem po ukośniku „/summarize”. Przykładowe wywołanie pokazano poniżej:

bcb511e5909709db.png

  1. Kliknij przycisk Wyślij, aby wywołać funkcję w Cloud Functions i wyświetlić odpowiedź z podsumowaniem, jak pokazano poniżej:

a62b223f30bb163e.png

7. Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby użyte w tym poście, wykonaj te czynności:

  1. W konsoli Google Cloud otwórz stronę Zarządzanie zasobami.
  2. Z listy projektów wybierz projekt do usunięcia, a potem kliknij Usuń.
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
  4. Jeśli chcesz zachować projekt, pomiń powyższe kroki i usuń funkcję w chmurze. W tym celu otwórz Cloud Functions, na liście funkcji zaznacz tę, którą chcesz usunąć, i kliknij USUŃ.

8. Gratulacje

Gratulacje! Udało Ci się utworzyć usługę podsumowywania tekstu w aplikacji Slack.