אוטומציה של פקודת Slack

1. מבוא

ב-Codelab הזה יש הוראות ליצירת שירות סיכום בסביבת עבודה של Slack באמצעות שילוב עם פקודת הלוכסן של Slack.

המשתמש מפעיל פקודת לוכסן /summarize ומזין את הטקסט שרוצים לסכם. לאחר מכן, אפליקציית Slack מפעילה את פונקציית Cloud Functions שמשויכת אליה, שמקבלת את הטקסט ומפעילה את PaLM API לסיכום. הטקסט המסוכם מוחזר לפקודת הלוכסן של Slack ומוצג כתשובה באפליקציית Slack.

. רשימת השירותים של Google Cloud שבהם נעשה שימוש:

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

מה תפַתחו

תצרו

  • פונקציית Cloud Functions שמפעילה את PaLM API לסיכום טקסט על הטקסט שמגיע מ-Slack באמצעות פקודת לוכסן
  • אפליקציית Slack שמפעילה את פונקציית Cloud Functions שלמעלה כדי ליצור סיכום.

2. דרישות

  • דפדפן, כמו Chrome או Firefox
  • פרויקט ב-Google Cloud שהחיוב בו מופעל

3. לפני שמתחילים

  1. ב-מסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
  2. מוודאים שהחיוב מופעל בפרויקט בענן שלכם ב-Google Cloud. כך בודקים אם החיוב מופעל בפרויקט
  3. מוודאים שCloud Functions API ו-Vertex AI APIs מופעלים.
  4. מפעילים את Cloud Shell מ-מסוף Google Cloud לפי ההוראות כאן.
  5. אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
  1. ב-Cloud Shell, מגדירים את משתני הסביבה הבאים:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. פריסת הפונקציה של Cloud Functions

כדי ליצור ולפרוס פונקציות Cloud Functions:

  1. משכפלים קוד ממאגר https://github.com/rominirani/genai-apptemplates-googlecloud על ידי הרצת הפקודה הבאה בטרמינל של Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. הפקודה הזו תשכפל את תוכן המאגר לתיקייה genai-templates-googlecloud.
  2. כדי לעבור לתיקייה של הפרויקט הרלוונטי, מריצים את הפקודה הבאה בטרמינל של Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
  1. אחרי שמריצים את הפקודה dir או עוברים אל העורך של Cloud Shell, אמורים לראות את שני הקבצים main.py ו-requirements.txt בתיקייה summarization-slack.
  2. כדי לפרוס את הפונקציה של Cloud Functions, מריצים את הפקודה 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

אחרי שפורסים את הפונקציה של Cloud Functions, כתובת ה-URL של הפונקציה שפרסתם מוצגת במסוף של Cloud Shell. כתובת ה-URL היא בפורמט הבא:

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

חשוב לשים לב לכתובת ה-URL שהוצגה, כי תצטרכו אותה כדי ליצור את פקודת הלוכסן של Slack.

5. יצירת פקודה דרך שורת הפקודות ב-Slack

הגיע הזמן ליצור פקודת לוכסן מותאמת אישית ב-Slack. הפקודה המותאמת אישית /summarize מפעילה את הפונקציה של Cloud Functions שפרסנו בקטע הקודם.

כדי ליצור פקודת סלאש:

  1. עוברים אל api.slack.com/apps.
  2. לוחצים על יצירת אפליקציה חדשה.
  3. בחלון יצירת אפליקציה, בוחרים באפשרות מאפס.
  4. מזינים שם לאפליקציה. לדוגמה, Summarization Slack Application. בוחרים את סביבת העבודה ב-Slack לפיתוח האפליקציה.
  5. לוחצים על Create App (יצירת אפליקציה). הדף Settings (הגדרות) ייפתח.
  6. בדף הגדרות, לוחצים על מידע בסיסי > פקודות עם לוכסן. לוחצים על יצירת פקודה חדשה.
  7. בטופס Create New Command (יצירת פקודה חדשה), מציינים את הערכים הבאים:
  • פקודה: נותנים פקודה דרך שורת הפקודות. לדוגמה, /summarize..
  • כתובת URL של הבקשה: מציינים את כתובת ה-URL המלאה של פונקציית Cloud Functions שפרסתם. לדוגמה, https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText.
  • מזינים תיאור קצר, רמז לשימוש ושומרים.
  1. חוזרים אל הגדרות > מידע בסיסי. לוחצים על התקנת האפליקציה ואז על התקנה ב-Workspace. האפליקציה מותקנת בסביבת העבודה שלכם.

כך מסיימים ליצור את אפליקציית Slack המותאמת אישית, שמותקנת עכשיו בסביבת העבודה שלכם ב-Slack ויש לה פקודה דרך שורת הפקודות מותאמת אישית (/summarize) שעוזרת למשתמש לסכם את הטקסט שהוא מספק בהודעה.

6. בדיקת הפקודה דרך שורת הפקודות

  1. עוברים אל סביבת העבודה ב-Slack שבה התקנתם את אפליקציית הסיכום של Slack:

עוברים אל https://slack.com/intl/en-in/workspace-signin ומזינים 'חיפוש סביבות עבודה' כדי למצוא את השם של סביבת העבודה. בוחרים באפשרות הזו.

  1. בצ'אט, מזינים את הטקסט עם התחילית של פקודה דרך שורת הפקודות ‎/summarize. דוגמה להפעלה מוצגת בהמשך:

bcb511e5909709db.png

  1. לוחצים על הלחצן Send (שליחה) כדי להפעיל את Cloud Function ולהציג את תשובת הסיכום כמו שמוצג בהמשך:

a62b223f30bb163e.png

7. הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במאמר הזה:

  1. במסוף Google Cloud, עוברים לדף Manage resources.
  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
  4. אם רוצים לשמור את הפרויקט, מדלגים על השלבים שלמעלה ומוחקים את Cloud Function. כדי לעשות זאת, עוברים אל Cloud Functions, מסמנים את הפונקציה שרוצים למחוק מתוך רשימת הפונקציות ולוחצים על DELETE (מחיקה).

8. מזל טוב

מעולה! יצרתם בהצלחה שירות לסיכום טקסט באפליקציית Slack.