1. บทนำ
ใน Codelab นี้ คุณจะดูวิธีการสร้างบริการสรุปในพื้นที่ทํางาน Slack ได้โดยการผสานรวมกับคําสั่งเครื่องหมายทับของ Slack
ผู้ใช้เรียกใช้คำสั่งเครื่องหมายทับ /summarize และป้อนข้อความที่จะสรุป จากนั้นแอปพลิเคชัน Slack จะเรียกใช้ Cloud Function ที่เชื่อมโยงซึ่งยอมรับข้อความและเรียกใช้ PaLM API เพื่อทำการสรุป จากนั้นระบบจะส่งข้อความที่สรุปแล้วกลับไปยังคำสั่ง Slash ของ Slack และแสดงเป็นคำตอบในแอปพลิเคชัน Slack
รายการบริการของ Google Cloud ที่ใช้มีดังนี้
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
สิ่งที่คุณจะสร้าง
คุณจะสร้าง
- Cloud Function ที่เรียกใช้ PaLM API เพื่อสรุปข้อความในข้อความที่มาจาก Slack โดยใช้คำสั่ง Slash
- แอปพลิเคชัน Slack ที่เรียกใช้ Cloud Function ข้างต้นเพื่อสรุป
2. ข้อกำหนด
3. ก่อนเริ่มต้น
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Google Cloud แล้ว ดูวิธีตรวจสอบว่าโปรเจ็กต์เปิดใช้การเรียกเก็บเงินแล้วหรือไม่
- ตรวจสอบว่าได้เปิดใช้ Cloud Functions API และ Vertex AI API แล้ว
- เปิดใช้งาน Cloud Shell จากคอนโซล Google Cloud โดยทำตามวิธีการที่นี่
- หากไม่ได้ตั้งค่าโปรเจ็กต์ ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
gcloud config set project <YOUR_PROJECT_ID>
- ใน Cloud Shell ให้ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
4. การทำให้ Cloud Function ใช้งานได้
หากต้องการสร้างและทำให้ใช้งานได้ Cloud Functions ให้ทำตามขั้นตอนต่อไปนี้
- โคลนโค้ดจากที่เก็บ https://github.com/rominirani/genai-apptemplates-googlecloud โดยเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล Cloud Shell
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- คำสั่งนี้จะโคลนเนื้อหาของที่เก็บไปยังโฟลเดอร์ genai-templates-googlecloud
- ไปที่โฟลเดอร์ของโปรเจ็กต์ที่เราสนใจโดยเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล Cloud Shell
cd genai-apptemplates-googlecloud/summarization-slack
- คุณควรเห็นทั้งไฟล์ main.py และ requirements.txt ในโฟลเดอร์สรุป-slack โดยการเรียกใช้คำสั่ง dir หรือไปที่ Cloud Shell Editor
- หากต้องการทําให้ 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 ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่ api.slack.com/apps
- คลิกสร้างแอปใหม่
- ในหน้าต่างสร้างแอป ให้เลือกตัวเลือกตั้งแต่ต้น
- ป้อนชื่อแอป เช่น
Summarization Slack Application.เลือกพื้นที่ทำงาน Slack สำหรับการพัฒนาแอป - คลิกสร้างแอป หน้าการตั้งค่าจะเปิดขึ้น
- ในหน้าการตั้งค่า ให้คลิกข้อมูลพื้นฐาน > คำสั่ง Slash คลิกสร้างคำสั่งใหม่
- ในแบบฟอร์มสร้างคำสั่งใหม่ ให้ระบุค่าต่อไปนี้
- คำสั่ง: ป้อนคำสั่งเครื่องหมายทับ เช่น
/summarize. - URL ของคำขอ: ระบุ URL แบบเต็มของ Cloud Function ที่เราทําให้ใช้งานได้ เช่น
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText - ป้อนคำอธิบายสั้นๆ เคล็ดลับการใช้งาน แล้วบันทึก
- กลับไปที่การตั้งค่า > ข้อมูลพื้นฐาน คลิกติดตั้งแอป แล้วคลิกติดตั้งใน Workspace ระบบจะติดตั้งแอปในพื้นที่ทำงาน
เท่านี้ก็สร้างแอป Slack ที่กำหนดเองเสร็จสมบูรณ์แล้ว ซึ่งตอนนี้แอปได้ติดตั้งใน Slack Workspace ของคุณและมีคำสั่งเครื่องหมายทับที่กำหนดเอง (/summarize) ที่ช่วยให้ผู้ใช้สรุปข้อความที่ระบุในข้อความได้
6. ทดสอบคำสั่งเครื่องหมายทับ
- ไปที่พื้นที่ทำงาน Slack ที่คุณติดตั้งแอปพลิเคชัน Slack สำหรับสรุป
ไปที่ https://slack.com/intl/en-in/workspace-signin แล้วป้อน "ค้นหาพื้นที่ทำงาน" เพื่อดูชื่อพื้นที่ทำงาน เลือกตัวเลือกนั้น
- ในแชท ให้ป้อนข้อความที่นำหน้าด้วยคำสั่งเครื่องหมายทับ "/summarize " ตัวอย่างการเรียกใช้แสดงอยู่ด้านล่าง

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

7. ล้างข้อมูล
โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโพสต์นี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์
- หากต้องการเก็บโปรเจ็กต์ไว้ ให้ข้ามขั้นตอนข้างต้นและลบ Cloud Function โดยไปที่ Cloud Functions จากนั้นในรายการฟังก์ชัน ให้เลือกฟังก์ชันที่ต้องการลบ แล้วคลิกลบ
8. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างบริการสรุปข้อความในแอปพลิเคชัน Slack เรียบร้อยแล้ว