Slack Command Automation

۱. مقدمه

در این آزمایشگاه کد، می‌توانید دستورالعمل‌هایی برای ایجاد یک سرویس خلاصه‌سازی در فضای کاری Slack با ارائه یکپارچه‌سازی با دستور Slack Slash پیدا کنید.

کاربر یک دستور Slash /summarize را فراخوانی می‌کند و متنی را که باید خلاصه شود وارد می‌کند. سپس برنامه Slack تابع Cloud مرتبط را که متن را می‌پذیرد و API PaLM را برای خلاصه‌سازی فراخوانی می‌کند، فراخوانی می‌کند. متن خلاصه شده سپس به دستور Slack Slash بازگردانده می‌شود و به عنوان پاسخ در برنامه Slack نمایش داده می‌شود.

فهرست سرویس‌های ابری گوگل مورد استفاده عبارتند از:

  1. توابع ابری
  2. رابط برنامه‌نویسی کاربردی Vertex AI و PaLM
  3. ثبت وقایع ابری

آنچه خواهید ساخت

شما خلق خواهید کرد

  • یک تابع ابری که API مربوط به PaLM را برای خلاصه‌سازی متن دریافتی از Slack با استفاده از دستور Slash فراخوانی می‌کند.
  • برنامه Slack که تابع ابری فوق را برای خلاصه‌سازی فراخوانی می‌کند.

۲. الزامات

  • یک مرورگر، مانند کروم یا فایرفاکس
  • یک پروژه گوگل کلود با قابلیت پرداخت صورتحساب

۳. قبل از شروع

  1. در کنسول گوگل کلود ، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید
  2. مطمئن شوید که صورتحساب برای پروژه Google Cloud شما فعال است. یاد بگیرید که چگونه بررسی کنید که آیا صورتحساب در یک پروژه فعال است یا خیر
  3. مطمئن شوید که API توابع ابری (Cloud Functions API) و 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

۴. استقرار عملکرد ابری

برای ایجاد و استقرار توابع ابری، مراحل زیر را دنبال کنید:

  1. با اجرای دستور زیر در ترمینال Cloud Shell خود، کد را از مخزن https://github.com/rominirani/genai-apptemplates-googlecloud کپی کنید:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. این دستور محتویات مخزن را در پوشه genai-templates-googlecloud کپی می‌کند.
  2. با اجرای دستور زیر از ترمینال Cloud Shell به پوشه پروژه مورد نظر خود بروید:
cd genai-apptemplates-googlecloud/summarization-slack
  1. شما باید هر دو فایل main.py و requirements.txt را در پوشه summarization-slack با اجرای دستور dir یا با رفتن به ویرایشگر Cloud Shell مشاهده کنید.
  2. برای استقرار تابع ابری، دستور 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

پس از اینکه تابع ابری را مستقر کردید، آدرس اینترنتی تابع ابری که مستقر شده است در ترمینال پوسته ابری نمایش داده می‌شود. این آدرس اینترنتی به شکل زیر است:

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

به URL نمایش داده شده توجه کنید، برای ایجاد دستور Slack Slash لازم است.

۵. دستور Slack Slash را ایجاد کنید

بیایید یک دستور Slash سفارشی در Slack ایجاد کنیم. این دستور سفارشی /summarize تابع Cloud را که در بخش قبلی پیاده‌سازی کرده‌ایم، فراخوانی می‌کند.

برای ایجاد یک دستور Slash، مراحل زیر را انجام دهید:

  1. به api.slack.com/apps بروید.
  2. روی ایجاد برنامه جدید کلیک کنید.
  3. در پنجره ایجاد برنامه ، گزینه From scratch را انتخاب کنید.
  4. یک نام برای برنامه خود وارد کنید. برای مثال، Summarization Slack Application. فضای کاری Slack را برای توسعه برنامه خود انتخاب کنید.
  5. روی ایجاد برنامه کلیک کنید. صفحه تنظیمات باز می‌شود.
  6. در صفحه تنظیمات ، روی اطلاعات پایه > دستورات اسلش کلیک کنید. روی ایجاد دستور جدید کلیک کنید.
  7. در فرم ایجاد دستور جدید ، مقادیر زیر را وارد کنید:
  • دستور : یک دستور اسلش بدهید. برای مثال، /summarize.
  • درخواست آدرس اینترنتی (URL) : آدرس اینترنتی کامل تابع ابری (Cloud Function) که ما مستقر کرده‌ایم را ارائه دهید. برای مثال، https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • یک توضیح کوتاه، یک نکته‌ی کاربردی وارد کنید و ذخیره کنید.
  1. به تنظیمات > اطلاعات پایه برگردید. روی نصب برنامه خود کلیک کنید و سپس روی نصب در فضای کاری کلیک کنید. برنامه در فضای کاری شما نصب شده است.

این کار ایجاد برنامه Slack سفارشی را که اکنون در فضای کاری Slack شما نصب شده است، تکمیل می‌کند و دارای یک دستور Slash سفارشی ( /summarize ) است که به کاربر کمک می‌کند متنی را که در پیام ارائه می‌دهد خلاصه کند.

۶. دستور اسلش را آزمایش کنید

  1. به فضای کاری Slack که برنامه Summarization Slack را در آن نصب کرده‌اید، بروید:

به آدرس https://slack.com/intl/en-in/workspace-signin بروید و عبارت «Find your workspaces» را وارد کنید تا نام فضای کاری خود را پیدا کنید. آن را انتخاب کنید.

  1. در چت، متنی که با دستور اسلش « /summarize » شروع می‌شود را وارد کنید. یک نمونه فراخوانی در زیر نشان داده شده است:

bcb511e5909709db.png

  1. برای فراخوانی تابع ابری و نمایش پاسخ خلاصه‌سازی، مطابق شکل زیر، روی دکمه ارسال کلیک کنید:

a62b223f30bb163e.png

۷. تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این پست، این مراحل را دنبال کنید:

  1. در کنسول گوگل کلود، به صفحه مدیریت منابع بروید.
  2. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
  3. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن کلیک کنید.
  4. اگر می‌خواهید پروژه خود را حفظ کنید، مراحل بالا را رد کنید و با رفتن به Cloud Functions و از لیست توابع، تابع Cloud را که می‌خواهید حذف کنید، حذف کنید و روی DELETE کلیک کنید.

۸. تبریک

تبریک! شما با موفقیت یک سرویس خلاصه‌سازی متن در برنامه Slack ایجاد کردید.