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

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

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ ต.ค. 30, 2023
account_circleเขียนโดย Romin Irani, Sahana C Prabhakar

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 เรียบร้อยแล้ว