1. ก่อนเริ่มต้น
ใน Codelab (1) นี้ คุณจะได้ตั้งค่าส่วนขยายการสรุปข้อมูลแดชบอร์ด Looker ภายในเครื่องเพื่อให้คุณลองใช้และพัฒนาภายในเครื่องได้ จากนั้น (2) คุณจะต้องทำให้ส่วนขยายใช้งานได้ในเวอร์ชันที่ใช้งานจริงเพื่อให้ผู้ใช้ Looker รายอื่นในอินสแตนซ์ Looker ของคุณสามารถใช้ได้ สุดท้าย (3) คุณสามารถทำตามขั้นตอนเพิ่มเติมเพื่อปรับแต่งและปรับปรุงฟังก์ชันการทำงานของส่วนขยาย คุณควรกรอกข้อมูลในส่วนที่ไม่บังคับทั้งหมดตามลำดับ
ภาพรวมส่วนขยายการสรุปแดชบอร์ดของ Looker
ในทางปฏิบัติ ส่วนขยายการสรุปแดชบอร์ด Looker จะส่งข้อมูลของแดชบอร์ด Looker ไปยังโมเดล Gemini ของ Vertex AI จากนั้นโมเดล Gemini จะแสดงข้อมูลสรุปของแดชบอร์ดและการแนะนําขั้นตอนถัดไป ส่วนขยายจะแสดงข้อมูลสรุปและขั้นตอนถัดไปเป็นการ์ดในหน้าแดชบอร์ด ซึ่งผสานรวมกับประสบการณ์การใช้งานแดชบอร์ด นอกจากนี้ ส่วนขยายยังส่งออกข้อมูลสรุปและขั้นตอนถัดไปไปยัง Slack หรือ Google Chat ได้ด้วย ส่วนขยายนี้ใช้ประโยชน์จากแอปพลิเคชัน React บนหน้าเว็บร่วมกับบริการแบ็กเอนด์ WebSocket เพื่อส่งและรับข้อมูลจากโมเดล Gemini ของ Vertex AI
ข้อกำหนดเบื้องต้น
- มีความคุ้นเคยกับการพัฒนาโหนด, Docker และ terform ในระดับพื้นฐาน
- ความคุ้นเคยกับการตั้งค่าโปรเจ็กต์ Looker LookML
สิ่งที่คุณจะได้เรียนรู้
- วิธีตั้งค่าและพัฒนาส่วนขยายภายในเครื่อง
- วิธีทำให้ส่วนขยายใช้งานได้ในเวอร์ชันที่ใช้งานจริงเพื่อให้ผู้ใช้ Looker คนอื่นๆ ในอินสแตนซ์ Looker ของคุณสามารถใช้ได้
- วิธีเลือกปรับแต่งประสิทธิภาพของส่วนขยายและเพิ่มฟังก์ชันการทำงานของส่วนขยาย
- วิธีจัดการส่วนขยายที่ติดตั้งใช้งานในเวอร์ชันที่ใช้งานจริง
สิ่งที่ต้องมี
- อินสแตนซ์ Looker จะผ่านใบอนุญาต Looker Original, ช่วงทดลองใช้ Looker Core ที่ใช้งานอยู่ หรือใบอนุญาต Looker Core ที่ใช้งานอยู่
- สิทธิ์
develop
และdeploy
ในอินสแตนซ์ Looker - สิทธิ์ในการแก้ไขหน้าแดชบอร์ดที่คุณต้องการลองใช้กับส่วนขยาย
- คีย์ Looker API จากอินสแตนซ์ Looker
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินอยู่
- เปิดใช้ Cloud Run API, Vertex AI API และ Artifact Registry API ในโปรเจ็กต์แล้ว
- สิทธิ์เข้าถึงสภาพแวดล้อมในเครื่องที่ติดตั้ง gcloud CLI ขั้นตอนของ Codelab จะถือว่ามาจากสภาพแวดล้อมของสไตล์ Linux
2. ตั้งค่าแบ็กเอนด์สำหรับการพัฒนาในเครื่อง
ในส่วนนี้ คุณจะต้องตั้งค่าบริการแบ็กเอนด์ WebSocket เพื่อทดลองใช้และพัฒนาการทดสอบในเครื่อง บริการดังกล่าวจะมีสิทธิ์เข้าถึง Vertex AI
- ติดตั้ง Node เวอร์ชัน 18 ขึ้นไปในสภาพแวดล้อมในเครื่อง ทำตามวิธีการเหล่านี้เพื่อติดตั้ง Node
- โคลนที่เก็บข้อมูลของส่วนขยายไปยังไดเรกทอรีหน้าแรกในเครื่อง แล้วไปที่ไดเรกทอรีรูทของที่เก็บข้อมูล โค้ดตัวอย่างทั้งหมดในโค้ดแล็บนี้จะถือว่าที่เก็บข้อมูลที่โคลนอยู่ในไดเรกทอรีหลักในเครื่อง
cd ~
git clone git@github.com:looker-open-source/dashboard-summarization.git
- ไปยังไดเรกทอรีรูทของที่เก็บที่โคลนและเปลี่ยนชื่อไฟล์
.env.example
เป็น.env
เพื่อให้คุณตั้งค่าตัวแปรสภาพแวดล้อมในส่วนถัดไปของ Codelab นี้ได้
cd ~/dashboard-summarization
mv .env.example .env
- ไปยังไดเรกทอรี
src
ของแบ็กเอนด์ Web Socket ของที่เก็บที่โคลน ไดเรกทอรีนี้มีซอร์สโค้ดสำหรับเซิร์ฟเวอร์
cd ~/dashboard-summarization/websocket-service/src
- ติดตั้งการอ้างอิงของบริการด้วย NPM
npm install
- เปลี่ยนชื่อไฟล์
looker-example.ini
เป็นlooker.ini
mv looker-example.ini looker.ini
- ภายในการอัปเดตไฟล์ looker.ini:
client_id
และclient_secret
กับคีย์จาก Looker APIbase_url
ที่มี URL ของอินสแตนซ์ Looker ในรูปแบบhttps://<YOUR_LOOKER_URL_MINUS_PROTOCOL>:19999
- ข้อความระหว่างวงเล็บ (ส่วนหัวของส่วน) ที่มีโฮสต์ของ URL อินสแตนซ์ Looker
เช่น หากรหัสไคลเอ็นต์คือ ABC123
รหัสลับไคลเอ็นต์คือ XYZ789
และ URL ของอินสแตนซ์ Looker คือ https://mycompany.cloud.looker.com
ไฟล์ looker.ini
ของคุณจะมีลักษณะดังนี้
[mycompany]
base_url=https://mycompany.cloud.looker.com:19999
client_id=ABC123
client_secret=XYZ789
verify_ssl=true
- กำหนดรหัสโปรเจ็กต์ Google Cloud แล้ววางไว้ในตัวแปรสภาพแวดล้อม
PROJECT
แทนที่YOUR_PROJECT_ID
ด้วยรหัสโปรเจ็กต์
export PROJECT="YOUR_PROJECT_ID"
- Vertex AI มีโมเดล Gemini ในหลายภูมิภาคที่ระบุไว้ที่นี่ ระบุภูมิภาคที่แบ็กเอนด์ในเครื่องจะส่งและรับข้อมูลจากโมเดล Gemini ของ Vertex AI ตั้งค่าภูมิภาคในตัวแปรสภาพแวดล้อม
REGION
แทนที่YOUR_VERTEX_REGION
ด้วยภูมิภาคของคุณ เช่นus-central1
export REGION="YOUR_VERTEX_REGION"
- จากนั้นเริ่มบริการในพื้นที่
npm start
- บริการแบ็กเอนด์ Web Socket ในเครื่องของคุณจะทำงานบน http://localhost:5000
คุณได้ตั้งค่าบริการแบ็กเอนด์ของ WebSocket ในสภาพแวดล้อมในเครื่องเรียบร้อยแล้ว!!
บริการนี้ทำหน้าที่เป็นอินเทอร์เฟซระหว่างส่วนขยายส่วนหน้ากับโมเดล Gemini ของ Vertex AI บริการจะนำข้อมูลแดชบอร์ดและ LookML จากส่วนขยายส่วนหน้าของคุณซึ่งมีข้อมูลที่ค้นหาจาก Looker และแสดงโมเดล Gemini ของ Vertex AI จากนั้นบริการจะสตรีมคำตอบของ Gemini ไปยังส่วนขยายในหน้าเว็บเพื่อแสดงในแดชบอร์ด
นอกจากนี้ คุณยังเปลี่ยนแปลงซอร์สโค้ดของบริการแบ็กเอนด์ได้ด้วย คุณจะต้องหยุดกระบวนการให้บริการก่อน เปลี่ยนแปลงโค้ด แล้วเรียกใช้ npm start
อีกครั้ง
3. ตั้งค่าฟรอนท์เอนด์สำหรับการพัฒนาในเครื่อง
คุณจะต้องตั้งค่าส่วนขยายฟรอนท์เอนด์เพื่อลองใช้และพัฒนาในเครื่องในส่วนนี้
- ในสภาพแวดล้อมในเครื่องเดียวกันจากขั้นตอนก่อนหน้า ให้ไปที่ไดเรกทอรีรูทของที่เก็บข้อมูลที่โคลน และติดตั้งข้อกำหนดของเซิร์ฟเวอร์หน้าเว็บสำหรับหน้าเว็บ
cd ~/dashboard-summarization
npm install
- เริ่มเซิร์ฟเวอร์การพัฒนาฟีดหน้าเว็บในเครื่อง
npm run develop
- ขณะนี้เซิร์ฟเวอร์ฟรอนท์เอนด์ในเครื่องของคุณใช้ JavaScript ของส่วนขยายที่ http://localhost:8080/bundle.js
- เปิดเว็บเบราว์เซอร์ แล้วเข้าสู่ระบบอินสแตนซ์ Looker
- ทําตามวิธีการเหล่านี้เพื่อตั้งค่าโปรเจ็กต์ LookML ว่าง ตั้งชื่อการสรุปหน้าแดชบอร์ดโปรเจ็กต์ ตอนนี้คุณควรเปิดโปรเจ็กต์ LookML ที่ไม่มีข้อมูลโดยอัตโนมัติใน Looker IDE ในแท็บเบราว์เซอร์ปัจจุบัน
- สร้างไฟล์ Manifest ของโปรเจ็กต์ในรูทของโปรเจ็กต์ LookML ไฟล์นี้จะเรียกว่า Manifest.lkml หากไม่ทราบวิธี ให้ทำตามวิธีการเพิ่มไฟล์ลงในโปรเจ็กต์ LookML
- แทนที่เนื้อหาของไฟล์ manifest.lkml ใหม่ด้วยเนื้อหาของ manifest.lkml ในไดเรกทอรีรูทของที่เก็บข้อมูลที่ปิด เลือกปุ่ม "บันทึกการเปลี่ยนแปลง" ที่มุมขวาบนเพื่อบันทึกการเปลี่ยนแปลงในไฟล์
- ในแท็บเบราว์เซอร์แยกต่างหาก ให้ไปที่รายการการเชื่อมต่อฐานข้อมูลในอินสแตนซ์ Looker ทำตามวิธีการเหล่านี้หากไม่ทราบวิธี
- เลือกชื่อการเชื่อมต่อฐานข้อมูล Looker 1 รายการ ไม่ว่าจะเลือกการเชื่อมต่อแบบใด หากคุณไม่มีสิทธิ์ดูการเชื่อมต่อฐานข้อมูล โปรดติดต่อผู้ดูแลระบบ Looker และขอชื่อการเชื่อมต่อฐานข้อมูล Looker 1 รายการ
- กลับไปที่แท็บเบราว์เซอร์ที่เปิดโปรเจ็กต์ LookML ใน Looker IDE สร้างไฟล์โมเดลในโปรเจ็กต์ LookML และตั้งชื่อการสรุปแดชบอร์ดไฟล์
- แทนที่เนื้อหาของไฟล์ Dashboard-summarization.model.lkml ของคุณด้วยตัวอย่างโค้ดด้านล่าง อย่าลืมแทนที่สตริงภายในเครื่องหมายคำพูดคู่ด้วยชื่อการเชื่อมต่อฐานข้อมูลที่เลือกไว้ในขั้นตอนที่ 9 บันทึกการเปลี่ยนแปลงในไฟล์
connection: "<YOUR_CONNECTION_NAME>"
- ตั้งค่าที่เก็บเพื่อบันทึกโปรเจ็กต์ เลือกปุ่ม "กําหนดค่า Git" ที่ด้านขวาบน เลือก "ตั้งค่าที่เก็บแบบ Bare แทน" เลือก "สร้างที่เก็บ"
- ตอนนี้คุณมีที่เก็บพื้นฐานเพื่อจัดเก็บไฟล์โปรเจ็กต์ LookML แล้ว กลับไปที่โปรเจ็กต์ใน IDE ของ Looker โดยเลือก "กลับไปที่โปรเจ็กต์" หรือย้อนกลับด้วยตนเอง
- เลือกปุ่ม "ตรวจสอบ LookML" ที่มุมขวาบน ปุ่มจะเปลี่ยนเป็น "คอมมิตการเปลี่ยนแปลงและพุช"
- เลือกปุ่ม "ส่งการเปลี่ยนแปลงและพุช" เพิ่มข้อความที่ต้องการ แล้วเลือก "ดำเนินการ"
- เลือก "ทำให้ใช้งานได้ในเวอร์ชันที่ใช้งานจริง" ที่มุมขวาบนของ Looker IDE ตอนนี้คุณได้เพิ่มส่วนขยายลงในอินสแตนซ์ Looker แล้ว
- ไปที่แดชบอร์ด Looker ที่คุณต้องการเพิ่มส่วนขยาย
- ทำตามวิธีการเพื่อเพิ่มการ์ดส่วนขยายลงในแดชบอร์ด เพิ่มส่วนขยายใหม่ลงในหน้าแดชบอร์ดเป็นไทล์
- ตรวจสอบว่าบริการแบ็กเอนด์ WebSocket ในพื้นที่ที่คุณตั้งค่าไว้ก่อนหน้านี้ทํางานอยู่
ยินดีด้วย คุณลองใช้ส่วนขยายการสรุปข้อมูลแดชบอร์ด Looker ในแดชบอร์ดได้แล้ว ส่วนขยายจะส่งข้อมูลเมตาของแดชบอร์ดไปยังบริการแบ็กเอนด์ WebSocket ในเครื่อง และจะแสดงเอาต์พุต Gemini จากบริการแบ็กเอนด์ภายในการ์ดส่วนขยายหน้าแดชบอร์ดโดยตรง
ขณะที่เซิร์ฟเวอร์หน้าเว็บในเครื่องทํางานอยู่ คุณสามารถทําการเปลี่ยนแปลงซอร์สโค้ด JavaScript ของส่วนขยายได้ และเซิร์ฟเวอร์จะบิลด์และแสดงการเปลี่ยนแปลงโดยอัตโนมัติ คุณจะต้องโหลดส่วนขยายหรือหน้าแดชบอร์ดซ้ำเพื่อดูการเปลี่ยนแปลง
4. ทำให้แบ็กเอนด์ใช้งานได้ในเวอร์ชันที่ใช้งานจริง
ในส่วนนี้ คุณจะได้ตั้งค่าบริการแบ็กเอนด์ WebSocket เพื่อแสดงอินสแตนซ์ของส่วนขยายการสรุปแดชบอร์ดบนแดชบอร์ดใดๆ ก็ตามในอินสแตนซ์ Looker ซึ่งจะช่วยให้ผู้ใช้ Looker คนอื่นๆ ลองใช้ส่วนขยายในหน้าแดชบอร์ดของตนเองได้โดยไม่ต้องตั้งค่าบริการแบ็กเอนด์ของตนเอง ขั้นตอนเหล่านี้จะถือว่าคุณได้ติดตั้งใช้งานแบ็กเอนด์สําหรับการพัฒนาในเครื่องในสภาพแวดล้อมในเครื่องเดียวกันนี้เรียบร้อยแล้วก่อนหน้านี้
- ทำตามวิธีการเหล่านี้เพื่อตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันในสภาพแวดล้อมในเครื่องด้วยรหัสโปรเจ็กต์สำหรับขั้นตอนถัดไป
- สร้างที่เก็บ Artifact Registry สำหรับอิมเมจ Docker ของบริการแบ็กเอนด์ แทนที่
YOUR_REGION
ด้วยภูมิภาคที่ต้องการให้ที่เก็บของคุณอยู่
gcloud artifacts repositories create dashboard-summarization-repo \
--repository-format=docker \
--location=YOUR_REGION \
- ไปที่ไดเรกทอรี
src
ของแบ็กเอนด์เว็บโซケットของที่เก็บข้อมูลที่โคลน
cd ~/dashboard-summarization/websocket-service/src
- แก้ไขไฟล์
cloudbuild.yaml
และแทนที่อินสแตนซ์ทั้งหมดของYOUR_REGION
และYOUR_PROJECT_ID
ด้วยรหัสภูมิภาคและรหัสโปรเจ็กต์ของคุณ บันทึกการเปลี่ยนแปลงในไฟล์ - ส่งบิลด์โดยใช้ Cloud Build ที่จะสร้างอิมเมจ Docker ของบริการแบ็กเอนด์และพุชไปยังที่เก็บ Artifact Registry ที่คุณเพิ่งสร้างขึ้น ให้แทนที่
YOUR_REGION
ด้วยภูมิภาคที่ต้องการใช้บริการ Cloud Build
gcloud builds submit --region=YOUR_REGION --config cloudbuild.yaml
- โปรดทราบว่า URL ของอิมเมจ Docker ที่สร้างขึ้นใหม่อยู่ที่
YOUR_REGION-docker.pkg.dev/YOUR_PROJECT_ID/dashboard-summarization-repo/websocketserviceimage:latest
แทนที่YOUR_PROJECT_ID
ด้วยรหัสโปรเจ็กต์ แทนที่YOUR_REGION
ด้วยภูมิภาคจากขั้นตอนที่ 2 ที่คุณใช้สร้างที่เก็บ Artifact Registry - ไปที่ไดเรกทอรี
websocket-service/terraform
ในที่เก็บที่โคลน
cd ~/dashboard-summarization/websocket-service/terraform
- ระบุตำแหน่งของ Google Cloud Run ที่คุณต้องการเรียกใช้บริการแบ็กเอนด์ของ WebSocket เลือกจากสถานที่เหล่านี้
- แก้ไขไฟล์ variables.tf และแทนที่
YOUR_PROJECT_ID
และYOUR_DOCKER_IMAGE_URL
ด้วยค่าที่เหมาะสม ตรวจสอบขั้นตอนที่ 6 สําหรับ URL รูปภาพของ Docker แทนที่YOUR_REGION
ด้วยภูมิภาคที่คุณเลือกในขั้นตอนที่ 8 ก่อนหน้า บันทึกการเปลี่ยนแปลงในไฟล์ - ปรับใช้ทรัพยากรที่บริการแบ็กเอนด์ของคุณจะใช้โดยใช้ terraform
terraform init
terraform plan
terraform apply
- บันทึกปลายทาง URL ของ Cloud Run ที่ทำให้ใช้งานได้แล้วสำหรับส่วนถัดไป
ยินดีด้วย คุณได้ทำให้บริการแบ็กเอนด์ WebSocket ใช้งานได้แล้ว และตอนนี้บริการดังกล่าวกำลังทำงานบน Google Cloud Run ตอนนี้อินสแตนซ์ของส่วนขยายการสรุปแดชบอร์ด Looker จะสื่อสารกับบริการแบ็กเอนด์ได้แล้ว เราขอแนะนำให้คุณมีบริการแบ็กเอนด์ของ WebSocket อย่างน้อย 1 อินสแตนซ์ที่ทำงานบน Cloud Run เสมอ การเก็บสถานะของบริการแบ็กเอนด์จะรักษาความสมบูรณ์ของสตรีมมิงข้อมูลระหว่างบริการแบ็กเอนด์ WebSocket กับส่วนหน้าของส่วนขยาย และช่วยรักษาเซสชันของผู้ใช้แต่ละรายขณะใช้ส่วนขยาย
5. ทำให้ฟรอนท์เอนด์ใช้งานได้จริง
สำหรับส่วนสุดท้ายนี้ คุณจะต้องทำขั้นตอนสุดท้ายในการทำให้ฟรอนท์เอนด์ของส่วนขยายใช้งานได้สำหรับผู้ใช้ Looker ทุกคนในอินสแตนซ์ Looker ของคุณ
- ไปที่ไดเรกทอรีรูทของที่เก็บที่โคลน
cd ~/dashboard-summarization
- แก้ไข .
env
ไฟล์ แทนที่YOUR_CLOUD_RUN_URL
ด้วยปลายทาง URL ของ Cloud Run จากส่วนก่อนหน้า บันทึกการเปลี่ยนแปลงในไฟล์ ซึ่งจะกำหนดให้ฟรอนต์เอนด์ของส่วนขยายเวอร์ชันที่ใช้งานจริงไปยังบริการแบ็กเอนด์ WebSocket ที่ทำงานใน Cloud Run - สร้าง JavaScript ของส่วนขยาย ระบบจะสร้างไดเรกทอรี
dist
โดยอัตโนมัติโดยมีไฟล์bundle.js
และไฟล์อื่นๆ ภายในไดเรกทอรี
npm run build
- เปิดเว็บเบราว์เซอร์ แล้วเข้าสู่ระบบอินสแตนซ์ Looker เปิดการนำทางด้านซ้ายแล้วเปิดปุ่มสลับ "โหมดการพัฒนา" ที่ด้านล่าง
- เมื่อการนำทางด้านซ้ายเปิดอยู่ ให้เลือก "Develop" จากนั้นเลื่อนลงมาแล้วเลือก "dashboard-summarization" ซึ่งเป็นโปรเจ็กต์ LookML ของส่วนขยาย ตอนนี้คุณควรอยู่ใน IDE ของ Looker สําหรับโปรเจ็กต์ LookML
- ลากและวางไฟล์ทั้งหมดในไดเรกทอรี dist ที่สร้างขึ้นก่อนหน้านี้ลงในไดเรกทอรีรูทของโปรเจ็กต์ใน "File Browser" ทำตามวิธีการเหล่านี้หากต้องการความช่วยเหลือเพิ่มเติม
- เปิดไฟล์
manifest.lkml
ใน Looker IDE แทนที่บรรทัดในไฟล์
url: "http://localhost:8080/bundle.js"
กับ
file: "bundle.js"
แทนที่ YOUR_CLOUD_RUN_URL
ด้วยปลายทาง URL ของ Cloud Run จากส่วนท้ายสุดของส่วนสุดท้าย บันทึกการเปลี่ยนแปลงลงในไฟล์
- เลือกปุ่ม "ตรวจสอบ LookML" ที่มุมขวาบน ปุ่มจะเปลี่ยนเป็น "ยืนยันการเปลี่ยนแปลงและพุช"
- เลือกปุ่ม "ส่งการเปลี่ยนแปลงและพุช" เพิ่มข้อความที่ต้องการ แล้วเลือก "ดำเนินการ"
- เลือก "ทำให้ใช้งานได้ในเวอร์ชันที่ใช้งานจริง" ที่มุมขวาบนของ Looker IDE
ยินดีด้วย คุณได้อนุญาตให้ผู้ใช้ Looker ทุกคนในอินสแตนซ์ Looker เพิ่มส่วนขยายการสรุปข้อมูลแดชบอร์ด Looker ลงในแดชบอร์ดของตนแล้ว ขณะที่ผู้ใช้ Looker คนอื่นๆ ใช้ส่วนขยายนี้ อินสแตนซ์ทั้งหมดของส่วนขยายจะเรียกใช้บริการแบ็กเอนด์ของ WebSocket ที่คุณทำให้ใช้งานได้และทำงานอยู่ใน Google Cloud Run
โปรดทราบว่าหากคุณทำการเปลี่ยนแปลงใดๆ กับซอร์สโค้ด คุณจะต้อง:
- คอมไพล์ JavaScript ของส่วนขยายอีกครั้ง
- แทนที่ไฟล์ที่สร้างขึ้นซึ่งคุณเพิ่มลงในโปรเจ็กต์ LookML ด้วยไฟล์ที่สร้างขึ้นใหม่จากไดเรกทอรี
dist
- ตรวจสอบความถูกต้อง คอมมิต และทำให้การเปลี่ยนแปลงโปรเจ็กต์ LookML ใช้งานได้เป็นเวอร์ชันที่ใช้งานจริง
ลองใช้ส่วนขยายการสรุปแดชบอร์ดของ Looker เราขอแนะนําให้คุณมีส่วนร่วมในการพัฒนาส่วนขยายและช่วยให้ส่วนขยายตอบสนองความต้องการของชุมชน Looker ได้ดีขึ้น คุณสร้างคำขอพุลในที่เก็บได้
ดูส่วนที่ไม่บังคับต่อไปนี้เพื่อเปิดใช้การส่งออก Slack/Google Chat ปรับแต่งข้อมูลสรุปของ Gemini และขั้นตอนถัดไป รวมถึงตั้งค่าการบันทึก Gemini
6. [ไม่บังคับ] ตั้งค่าความสามารถในการส่งออก
เมื่อคุณและผู้ใช้ Looker ได้ลองใช้ส่วนขยายการสรุปข้อมูลแดชบอร์ด Looker แล้ว เราจะได้แชร์ข้อมูลเชิงลึกของส่วนขยายกับกลุ่มเป้าหมายจำนวนมากขึ้น ทำตามส่วนนี้เพื่อให้ส่วนขยายส่งข้อมูลสรุปและขั้นตอนถัดไปไปยัง Google Chat หรือ Slack คุณควรทำความคุ้นเคยกับการตั้งค่า OAuth เพื่อดำเนินการในส่วนนี้ของ Codelab
เปิดใช้การส่งออก Google Chat
- เปิดใช้ Chat API ในโปรเจ็กต์ Google Cloud
- ทำตามขั้นตอนที่ 1 ของวิธีการตั้งค่า OAuth ใน Google Workspace สำหรับขอบเขต คุณต้องใส่
spaces.messages.create
- ทำตามขั้นตอนที่ 2 ของวิธีการตั้งค่า OAuth ใน Google Workspace เพิ่ม URL ของอินสแตนซ์ Looker เป็น URI ในส่วน "ต้นทาง JavaScript ที่ได้รับอนุญาต" เช่น
https://mycompany.cloud.looker.com
จดรหัสไคลเอ็นต์ที่สร้างขึ้น - ระบุรหัสของพื้นที่ใน Google Chat ที่ต้องการส่งออกข้อมูลสรุป หากไม่แน่ใจว่าต้องทำอย่างไร ให้ทำตามคำแนะนำเหล่านี้
- แก้ไขไฟล์
env
แทนที่YOUR_GOOGLE_CLIENT_ID
ด้วยรหัสลูกค้า แทนที่YOUR_GOOGLE_SPACE_ID
ด้วยรหัสพื้นที่ใน Google Chat บันทึกการเปลี่ยนแปลงไฟล์ การดำเนินการนี้จะกำหนดค่าฟรอนท์เอนด์ของส่วนขยายให้ส่งข้อมูลเชิงลึกไปยังพื้นที่ใน Google Chat ที่คุณต้องการได้ - หากคุณเรียกใช้ส่วนหน้าของส่วนขยายในเครื่อง ให้สร้างส่วนขยายอีกครั้ง หรือหากคุณกำลังทำให้ส่วนหน้าของส่วนขยายใช้งานได้ ให้ทำให้ส่วนหน้าของส่วนขยายใช้งานได้อีกครั้ง
เปิดใช้การส่งออก Slack
- ทำตามขั้นตอนที่ 1 และ 2 ของเอกสารสำหรับนักพัฒนาซอฟต์แวร์อย่างเป็นทางการของ Slack เพื่อตั้งค่าแอปพลิเคชัน OAuth สำหรับขอบเขต คุณต้องใส่
chat:write
และchannels:read
จดรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ที่สร้างขึ้น - กำหนดรหัสของช่อง Slack ที่ต้องการส่งออกข้อมูลสรุปไปให้
- แก้ไขไฟล์
env
แทนที่YOUR_SLACK_CLIENT_ID
ด้วยรหัสลูกค้า แทนที่YOUR_SLACK_CLIENT_SECRET
ด้วยรหัสลับไคลเอ็นต์ แทนที่YOUR_SLACK_CHANNEL_ID
ด้วยรหัสช่อง บันทึกการเปลี่ยนแปลงในไฟล์ ซึ่งจะกําหนดค่าส่วนหน้าของส่วนขยายเพื่อให้ส่งข้อมูลเชิงลึกไปยังแชแนล Slack ที่ต้องการได้ - หากคุณเรียกใช้ส่วนหน้าของส่วนขยายในเครื่อง ให้สร้างส่วนขยายอีกครั้ง หรือหากคุณกำลังทำให้ฟรอนท์เอนด์ของส่วนขยายใช้งานได้ ให้ใช้ฟรอนท์เอนด์ของส่วนขยายอีกครั้ง
ตอนนี้ส่วนขยายจะส่งออกข้อมูลสรุปไปยัง Slack หรือ Google Chat ได้โดยตรง โปรดทราบว่าส่วนขยายจะส่งสรุปไปยังพื้นที่ใน Google Chat หรือช่อง Slack ที่ฮาร์ดโค้ดไว้เท่านั้น คุณสามารถเพิ่มขอบเขต OAuth เพิ่มเติมและแก้ไขโค้ดเพื่อดึงข้อมูลและแสดงรายการพื้นที่ทำงานและแชแนลที่จะส่งสรุปได้
7. [ไม่บังคับ] ปรับแต่งสรุปและขั้นตอนถัดไป
ส่วนขยายจะแสดงข้อความแจ้งไปยังโมเดล Gemini พร้อมข้อมูลเมตาและข้อมูลคำค้นหาทั้งหมดของหน้าแดชบอร์ด คุณสามารถปรับปรุงความแม่นยำ รายละเอียด และความลึกของสรุปและขั้นตอนที่กำหนดได้โดยการเพิ่มข้อมูลเมตาและบริบทลงในแดชบอร์ด ลองทำตามขั้นตอนต่อไปนี้กับแดชบอร์ดแต่ละรายการที่ส่วนขยายเป็นส่วนหนึ่ง
- ทำตามคำแนะนำเหล่านี้เพื่อเพิ่มรายละเอียดหน้าแดชบอร์ดไปยังหน้าแดชบอร์ด การดำเนินการนี้จะช่วยให้ LLM ทราบถึงบริบททั่วไปของแดชบอร์ด
- ทำตามวิธีการเหล่านี้เพื่อเพิ่มหมายเหตุลงในการ์ดของแดชบอร์ดแต่ละรายการ ซึ่งจะช่วยให้ LLM ทราบถึงบริบทของการค้นหาแต่ละรายการในแดชบอร์ด บันทึกตามบริบทเล็กๆ น้อยๆ จะเป็นปัจจัยพิจารณาข้อมูลสรุปที่สร้างขึ้น
ยิ่งคุณเพิ่มข้อมูลลงในแดชบอร์ดมากเท่าใด ข้อมูลสรุปและขั้นตอนถัดไปของส่วนขยายก็จะยิ่งดีขึ้นเท่านั้น คุณสามารถแก้ไขโค้ดให้รวมข้อมูลเมตาของหน้าแดชบอร์ดเพิ่มเติมในพรอมต์ไปยังรูปแบบ Gemini ได้
8. [ไม่บังคับ] ตั้งค่าการบันทึกโมเดล Gemini
ทุกครั้งที่ผู้ใช้บอกให้ส่วนขยายสร้างข้อมูลสรุปสําหรับหน้าแดชบอร์ด ส่วนขยายจะเรียกใช้ Vertex AI สําหรับคําค้นหาแต่ละรายการในหน้าแดชบอร์ด รวมถึงการเรียกใช้ครั้งสุดท้ายเพื่อจัดรูปแบบข้อมูลสรุปทั้งหมด ติดตามส่วนนี้เพื่อบันทึกการเรียกใช้ Vertex AI ที่คุณใช้เพื่อประมาณและตรวจสอบค่าใช้จ่ายและการเข้าชมของ Vertex AI คุณควรทำตามคำแนะนำเหล่านี้เฉพาะในกรณีที่ได้ทำให้บริการแบ็กเอนด์ของ WebSocket ใช้งานได้แล้ว
- ระบุตำแหน่ง Cloud Run ของบริการแบ็กเอนด์ WebSocket ที่ติดตั้งใช้งาน
- ทำตามวิธีการเหล่านี้เพื่อตั้งค่าซิงก์การบันทึกที่จะกำหนดเส้นทางบันทึกไปยัง Big Query ปลายทางของซิงก์ควรเป็น BigQuery ตั้งค่าตัวกรองการรวมด้วยตัวอย่างโค้ดต่อไปนี้ด้วย
YOUR_CLOUD_RUN_LOCATION
ที่แทนที่ด้วยตำแหน่ง Cloud Run ของขั้นตอนก่อนหน้า
resource.type = "cloud_run_revision"
resource.labels.service_name = "websocket-service"
resource.labels.location = "YOUR_CLOUD_RUN_LOCATION"
severity>=DEFAULT
jsonPayload.component="dashboard-summarization-logs"
9. ยินดีด้วย
คุณได้ตั้งค่าส่วนขยายการสรุปแดชบอร์ด Looker ไว้ในเครื่องเพื่อให้คุณลองใช้ นอกจากนี้ คุณยังทำให้ส่วนขยายใช้งานได้กับ Google Cloud เพื่อให้ผู้ใช้คนอื่นๆ ลองใช้งานได้เช่นกัน ตอนนี้คุณและผู้ใช้คนอื่นๆ จะสามารถเข้าถึงข้อมูลสรุปที่ขับเคลื่อนโดย Gemini และขั้นตอนถัดไปจากภายในแดชบอร์ดได้เลย
10. ขั้นตอนถัดไป
- แก้ไขโค้ดเบสของส่วนขยายเพื่อปรับแต่งฟังก์ชันการทำงานให้เหมาะกับความต้องการขององค์กร
- มีส่วนร่วมในที่เก็บของส่วนขยายและปรับปรุงส่วนขยายสำหรับคุณและชุมชน Looker
- พัฒนาส่วนขยายของคุณเองเพื่อเสริมประสบการณ์การใช้งาน Looker
- ผสานรวมส่วนขยายเข้ากับหน้าแดชบอร์ดเป็นไทล์เพื่อปรับปรุงประสบการณ์การใช้งานหน้าแดชบอร์ด