การทำงานอัตโนมัติของคำสั่ง Slack

1. บทนำ

ใน Codelab นี้ คุณจะดูวิธีการสร้างบริการสรุปในพื้นที่ทํางาน Slack ได้โดยการผสานรวมกับคําสั่งเครื่องหมายทับของ Slack

ผู้ใช้เรียกใช้คำสั่งเครื่องหมายทับ /summarize และป้อนข้อความที่จะสรุป จากนั้นแอปพลิเคชัน Slack จะเรียกใช้ Cloud Function ที่เชื่อมโยงซึ่งยอมรับข้อความและเรียกใช้ PaLM API เพื่อทำการสรุป จากนั้นระบบจะส่งข้อความที่สรุปแล้วกลับไปยังคำสั่ง Slash ของ Slack และแสดงเป็นคำตอบในแอปพลิเคชัน Slack

รายการบริการของ Google Cloud ที่ใช้มีดังนี้

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

สิ่งที่คุณจะสร้าง

คุณจะสร้าง

  • Cloud Function ที่เรียกใช้ PaLM API เพื่อสรุปข้อความในข้อความที่มาจาก Slack โดยใช้คำสั่ง Slash
  • แอปพลิเคชัน Slack ที่เรียกใช้ Cloud Function ข้างต้นเพื่อสรุป

2. ข้อกำหนด

  • เบราว์เซอร์ เช่น Chrome หรือ Firefox
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน

3. ก่อนเริ่มต้น

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Google Cloud แล้ว ดูวิธีตรวจสอบว่าโปรเจ็กต์เปิดใช้การเรียกเก็บเงินแล้วหรือไม่
  3. ตรวจสอบว่าได้เปิดใช้ Cloud Functions API และ Vertex AI API แล้ว
  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 Function ใช้งานได้

หากต้องการสร้างและทำให้ใช้งานได้ 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. คุณควรเห็นทั้งไฟล์ main.py และ requirements.txt ในโฟลเดอร์สรุป-slack โดยการเรียกใช้คำสั่ง dir หรือไปที่ Cloud Shell Editor
  2. หากต้องการทําให้ Cloud Function ใช้งานได้ ให้เรียกใช้คําสั่ง 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 Function ใช้งานได้แล้ว URL ของ Cloud Function ที่ทำให้ใช้งานได้จะแสดงในเทอร์มินัล Cloud Shell URL จะอยู่ในรูปแบบต่อไปนี้

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

จด URL ที่แสดงไว้ เนื่องจากคุณจะต้องใช้ URL นี้เพื่อสร้างคำสั่ง Slack Slash

5. สร้างคำสั่งเครื่องหมายทับของ Slack

มาสร้างคำสั่ง Slash ที่กำหนดเองใน Slack กัน คำสั่งที่กำหนดเองนี้จะ/summarizeเรียกใช้ Cloud Function ที่เราได้ติดตั้งใช้งานในส่วนก่อนหน้า

หากต้องการสร้างคำสั่ง Slash ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่ api.slack.com/apps
  2. คลิกสร้างแอปใหม่
  3. ในหน้าต่างสร้างแอป ให้เลือกตัวเลือกตั้งแต่ต้น
  4. ป้อนชื่อแอป เช่น Summarization Slack Application. เลือกพื้นที่ทำงาน Slack สำหรับการพัฒนาแอป
  5. คลิกสร้างแอป หน้าการตั้งค่าจะเปิดขึ้น
  6. ในหน้าการตั้งค่า ให้คลิกข้อมูลพื้นฐาน > คำสั่ง Slash คลิกสร้างคำสั่งใหม่
  7. ในแบบฟอร์มสร้างคำสั่งใหม่ ให้ระบุค่าต่อไปนี้
  • คำสั่ง: ป้อนคำสั่งเครื่องหมายทับ เช่น /summarize.
  • URL ของคำขอ: ระบุ URL แบบเต็มของ Cloud Function ที่เราทําให้ใช้งานได้ เช่น https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • ป้อนคำอธิบายสั้นๆ เคล็ดลับการใช้งาน แล้วบันทึก
  1. กลับไปที่การตั้งค่า > ข้อมูลพื้นฐาน คลิกติดตั้งแอป แล้วคลิกติดตั้งใน Workspace ระบบจะติดตั้งแอปในพื้นที่ทำงาน

เท่านี้ก็สร้างแอป Slack ที่กำหนดเองเสร็จสมบูรณ์แล้ว ซึ่งตอนนี้แอปได้ติดตั้งใน Slack Workspace ของคุณและมีคำสั่งเครื่องหมายทับที่กำหนดเอง (/summarize) ที่ช่วยให้ผู้ใช้สรุปข้อความที่ระบุในข้อความได้

6. ทดสอบคำสั่งเครื่องหมายทับ

  1. ไปที่พื้นที่ทำงาน Slack ที่คุณติดตั้งแอปพลิเคชัน Slack สำหรับสรุป

ไปที่ https://slack.com/intl/en-in/workspace-signin แล้วป้อน "ค้นหาพื้นที่ทำงาน" เพื่อดูชื่อพื้นที่ทำงาน เลือกตัวเลือกนั้น

  1. ในแชท ให้ป้อนข้อความที่นำหน้าด้วยคำสั่งเครื่องหมายทับ "/summarize " ตัวอย่างการเรียกใช้แสดงอยู่ด้านล่าง

bcb511e5909709db.png

  1. คลิกปุ่มส่งเพื่อเรียกใช้ Cloud Functions และแสดงคำตอบสรุปตามที่แสดงด้านล่าง

a62b223f30bb163e.png

7. ล้างข้อมูล

โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโพสต์นี้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร
  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์
  4. หากต้องการเก็บโปรเจ็กต์ไว้ ให้ข้ามขั้นตอนข้างต้นและลบ Cloud Function โดยไปที่ Cloud Functions จากนั้นในรายการฟังก์ชัน ให้เลือกฟังก์ชันที่ต้องการลบ แล้วคลิกลบ

8. ขอแสดงความยินดี

ยินดีด้วย คุณสร้างบริการสรุปข้อความในแอปพลิเคชัน Slack เรียบร้อยแล้ว