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

1. บทนำ

ใน Codelab นี้ คุณจะดูวิธีการสร้างบริการสรุปข้อมูลใน Workspace ของ Slack ได้โดยการผสานรวมด้วยคำสั่ง Slack

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

ที่ใช้เวลาเพียง 2 นาที รายชื่อบริการ Google Cloud ที่ใช้มีดังนี้

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

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

คุณจะได้สร้าง

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

2. ข้อกำหนด

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

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

  1. ใน Google Cloud Console ในหน้าตัวเลือกโปรเจ็กต์ ให้เลือกหรือสร้างโปรเจ็กต์ 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 ในโฟลเดอร์ summarization-slack โดยการใช้คำสั่ง dir หรือไปที่ Cloud Shell Editor
  2. หากต้องการทำให้ Cloud Function ใช้งานได้ ให้เรียกใช้คำสั่งใช้งานฟังก์ชัน gcloud ดังนี้
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 ที่แสดงซึ่งจำเป็นสำหรับการสร้างคำสั่ง Slack เครื่องหมายทับ

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

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

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

  1. ไปที่ api.slack.com/apps
  2. คลิกสร้างแอปใหม่
  3. ในหน้าต่างสร้างแอป ให้เลือกตัวเลือกตั้งแต่ต้น
  4. ป้อนชื่อแอป เช่น Summarization Slack Application. เลือก Workspace สำหรับการพัฒนาแอปของคุณ
  5. คลิกสร้างแอป หน้าการตั้งค่าจะเปิดขึ้น
  6. ในหน้าการตั้งค่า ให้คลิกข้อมูลพื้นฐาน > คำสั่งเครื่องหมายทับ คลิกสร้างคำสั่งใหม่
  7. ในแบบฟอร์ม Create New Command ให้ระบุค่าต่อไปนี้
  • Command: ใส่คําสั่งเครื่องหมายทับ เช่น /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 Function และแสดงการตอบกลับการสรุปดังที่แสดงด้านล่าง

a62b223f30bb163e.png

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

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

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

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

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