1. บทนำ
ใน Codelab นี้ คุณจะดูวิธีการสร้างบริการสรุปข้อมูลใน Workspace ของ Slack ได้โดยการผสานรวมด้วยคำสั่ง Slack
ผู้ใช้เรียกใช้คำสั่งเครื่องหมายทับ /summarize
และป้อนข้อความเพื่อสรุป จากนั้นแอปพลิเคชัน Slack จะเรียกใช้ Cloud Function ที่เกี่ยวข้องซึ่งยอมรับข้อความและเรียกใช้ PaLM API เพื่อสรุป จากนั้นระบบจะส่งข้อความสรุปกลับไปยังคำสั่ง Slack และแสดงเป็นการตอบกลับในแอปพลิเคชัน Slack
ที่ใช้เวลาเพียง 2 นาที รายชื่อบริการ Google Cloud ที่ใช้มีดังนี้
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
สิ่งที่คุณจะสร้าง
คุณจะได้สร้าง
- Cloud Function ที่เรียกใช้ PaLM API สำหรับการสรุปข้อความในข้อความที่มาจาก Slack โดยใช้คำสั่งเครื่องหมายทับ
- แอปพลิเคชัน Slack ที่เรียกใช้ Cloud Function ด้านบนเพื่อสรุป
2. ข้อกำหนด
3. ก่อนเริ่มต้น
- ใน Google Cloud Console ในหน้าตัวเลือกโปรเจ็กต์ ให้เลือกหรือสร้างโปรเจ็กต์ 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 ในโฟลเดอร์ summarization-slack โดยการใช้คำสั่ง dir หรือไปที่ Cloud Shell Editor
- หากต้องการทำให้ 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 ที่เราทำให้ใช้งานได้ในส่วนก่อนหน้า
หากต้องการสร้างคำสั่งเครื่องหมายทับ ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่ api.slack.com/apps
- คลิกสร้างแอปใหม่
- ในหน้าต่างสร้างแอป ให้เลือกตัวเลือกตั้งแต่ต้น
- ป้อนชื่อแอป เช่น
Summarization Slack Application.
เลือก Workspace สำหรับการพัฒนาแอปของคุณ - คลิกสร้างแอป หน้าการตั้งค่าจะเปิดขึ้น
- ในหน้าการตั้งค่า ให้คลิกข้อมูลพื้นฐาน > คำสั่งเครื่องหมายทับ คลิกสร้างคำสั่งใหม่
- ในแบบฟอร์ม Create New Command ให้ระบุค่าต่อไปนี้
- Command: ใส่คําสั่งเครื่องหมายทับ เช่น
/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 Function และแสดงการตอบกลับการสรุปดังที่แสดงด้านล่าง
7. ล้างข้อมูล
โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโพสต์นี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์
- หากต้องการเก็บโปรเจ็กต์ไว้ ให้ข้ามขั้นตอนข้างต้นและลบ Cloud Function โดยไปที่ Cloud Functions และจากรายการฟังก์ชัน ให้เลือกฟังก์ชันที่ต้องการลบ แล้วคลิก "ลบ"
8. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างบริการสรุปข้อความในแอปพลิเคชัน Slack เรียบร้อยแล้ว