1. ก่อนเริ่มต้น
Codelab นี้จะแนะนําคุณในการใช้ Conversational Analytics API (CA API) กับ Looker เพื่อสร้างแอปพลิเคชันแชทของคุณเองสําหรับการค้นหาข้อมูล คุณควรมีความรู้เกี่ยวกับ BigQuery, Looker, LLM และเอเจนต์ รวมถึง Python เพื่อให้ได้รับประโยชน์สูงสุด
สิ่งที่คุณจะได้เรียนรู้
หลังจากทำตาม Codelab นี้ คุณจะได้เรียนรู้สิ่งต่อไปนี้
- วิธีใช้ Conversational Analytics กับ Looker
- วิธีตั้งค่าและใช้แอปเริ่มต้นใช้งานอย่างรวดเร็วของ Conversational Analytics Python (และวิธีการทำงานของแอป)
- ประโยชน์ของการใช้ Looker สำหรับการสร้างโมเดลเชิงความหมายด้วย Conversational Analytics
สิ่งที่คุณต้องมี
คุณต้องมีสิ่งต่อไปนี้จึงจะทำ Codelab นี้ให้เสร็จสมบูรณ์ได้
- อินสแตนซ์ Looker ที่ติดตั้ง ASC Demographic Data Looker Block
- การเข้าถึง API และนักพัฒนาแอปในอินสแตนซ์ Looker
- สภาพแวดล้อมในเครื่องที่ติดตั้ง Python v3.11 ขึ้นไป, Git และ gcloud
- โปรเจ็กต์ในระบบคลาวด์ที่มีการตั้งค่าบทบาท IAM เหล่านี้สำหรับบัญชีผู้ใช้ของคุณ
roles/bigquery.dataViewerผู้ดูข้อมูล BigQueryroles/bigquery.userผู้ใช้ BigQueryroles/looker.instanceUserผู้ใช้ในอินสแตนซ์ Looker
2. สร้างและลองใช้แอปแชทด้วย BigQuery
ก่อนอื่นมาตั้งค่าและลองใช้แอปเริ่มต้นอย่างรวดเร็วของ Conversational Analytics โดยใช้ BigQuery เป็นแหล่งข้อมูลกัน
ตรวจสอบสิทธิ์และเปิดใช้ Cloud API
- ตรวจสอบสิทธิ์ในเครื่องด้วยบัญชีผู้ใช้
gcloud auth login
- เปิดใช้ API ของโปรเจ็กต์ Cloud โปรดแทนที่
YOUR_PROJECT_IDด้วยรหัสโปรเจ็กต์ Google Cloud ของคุณ
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- ตั้งค่าข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) และการเรียกเก็บเงิน
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
ตั้งค่าแอปเริ่มต้นอย่างรวดเร็ว
- โคลน quickstart github repo ลงในสภาพแวดล้อมในเครื่อง ดูตัวอย่างคำสั่งต่อไปนี้
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- ไปที่ไดเรกทอรี
ca-api-quickstartsที่คุณโคลนไว้
cd ca-api-quickstarts
- สร้างไฟล์
secrets.tomlในไดเรกทอรี.streamlitYOUR_LOOKER_CLIENT_IDและYOUR_LOOKER_CLIENT_SECRETควรเป็นรหัสไคลเอ็นต์ Looker และรหัสลับไคลเอ็นต์ Looker จากอินสแตนซ์ Looker เนื้อหาของไฟล์ควรมีลักษณะดังนี้
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
คุณใช้คำสั่งตัวอย่างต่อไปนี้เพื่อสร้างไฟล์ได้ อย่าลืมแทนที่ค่าด้วยรหัสโปรเจ็กต์ รหัสไคลเอ็นต์ และรหัสลับไคลเอ็นต์
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- ติดตั้งข้อกำหนด Python ของแอปเริ่มต้นอย่างรวดเร็ว
pip install -r requirements.txt
- เรียกใช้แอปเริ่มต้นอย่างรวดเร็ว
streamlit run app.py
- เปิด https://localhost:8501 ในเบราว์เซอร์ที่คุณเลือก
ลองใช้แอปเริ่มต้นฉบับย่อ
ตอนนี้คุณอยู่ในหน้าเอเจนต์ของแอป Quickstart แล้ว คุณไม่มีตัวแทนข้อมูลที่พร้อมให้บริการ
- ตอนนี้มาสร้างเอเจนต์ข้อมูลที่พูดเหมือนโจรสลัดในแบบฟอร์มสร้างเอเจนต์กัน
- ตั้งค่าช่องชื่อที่แสดงโดยทำดังนี้
Pirate BQ Agent
- ตั้งค่าฟิลด์คำสั่งของระบบ
You are a pirate. Answer questions like a pirate
- เลือกตัวเลือก BigQuery
- ตั้งค่าฟิลด์โปรเจ็กต์
bigquery-public-data
- ตั้งค่าฟิลด์ชุดข้อมูล
google_trends
- ตั้งค่าฟิลด์ตาราง
top_rising_terms
- เลือกสร้างเอเจนต์
- ตอนนี้เราจะไปที่หน้าแชทผ่านการนำทางหลักด้านซ้าย ตัวแทนที่เราเพิ่งสร้างขึ้นพร้อมแชทแล้ว มาเริ่มแชทด้วยการเพิ่มพรอมต์/ข้อความว่า "สวัสดี เป็นไงบ้าง"
- ตอนนี้มาดูข้อมูลเกี่ยวกับชุดข้อมูลนี้กัน "ชุดข้อมูลนี้เกี่ยวกับอะไร"
- ถามคำถามอื่น เช่น
- "มีสถานที่ใดใน [ป้อนรัฐ] อยู่ในชุดข้อมูลบ้าง"
- "คุณให้ข้อมูลในช่วง 2 สัปดาห์ที่ผ่านมาสำหรับ [เมือง รัฐ] ได้ไหม"
- "คุณสร้างภาพได้ไหม"
คุณเพิ่งสนทนากับเอเจนต์ข้อมูลและข้อมูล BigQuery ในแอปพลิเคชันแชทของคุณเอง
3. สร้างโมเดลและสํารวจข้อมูลใน Looker
ตอนนี้เรามาสร้างโมเดลและสำรวจข้อมูล BigQuery เดียวกันใน Looker กัน
ค้นหาข้อมูลสำมะโนประชากรของ BigQuery
จะเกิดอะไรขึ้นเมื่อเราเชื่อมต่อกับชุดข้อมูลเชิงสัมพันธ์ที่ใหญ่ขึ้น ก่อนอื่นเราจะสร้างเอเจนต์ใหม่
- กลับไปที่แบบฟอร์มสร้างเอเจนต์ของหน้าเอเจนต์
- ตั้งค่าช่องชื่อที่แสดงโดยทำดังนี้
BQ Census Agent
- ตั้งค่าฟิลด์คำสั่งของระบบ
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- เลือกตัวเลือก BigQuery
- ตั้งค่าฟิลด์โปรเจ็กต์
bigquery-public-data
- ตั้งค่าฟิลด์ชุดข้อมูล
census_bureau_acs
- ตั้งค่าฟิลด์ตาราง
blockgroup_2018_5yr
- เลือกสร้างเอเจนต์
- ถามคำถามต่อไปนี้กับ Agent ที่สร้างขึ้นใหม่
- "คุณมีข้อมูลอะไรบ้าง"
- "คุณช่วยแสดงตัวอย่างข้อมูลของฉันได้ไหม"
ใช้ Looker เพื่อสร้างโมเดลข้อมูลสำมะโนประชากร
ตอนนี้เราจะใช้โมเดล LookML เพื่อกำหนดข้อมูลสำมะโนประชากรของ BigQuery เราจะแก้ปัญหาที่เราเพิ่งเห็นไปก่อนหน้านี้
- เข้าสู่ระบบอินสแตนซ์ Looker
- ไปที่ไฟล์บล็อกข้อมูลประชากร ACS โดยไปที่การนำทางหลักด้านซ้าย เลือกพัฒนา แล้วเลือก marketplace_acs_census-v2
- มาดูมุมมอง Looker กัน เปิดไดเรกทอรี
imported_projectไดเรกทอรีacs_census-v2และไดเรกทอรีgeography - สุดท้าย ให้เปิดไฟล์
cbsa.view - ในบรรทัดที่ 17 เราจะเห็นว่า LookML กำลังสร้าง Derived Table กล่าวคือ โค้ดนี้จะสร้างตารางใหม่ที่รวมกันโดยการรวมชุดข้อมูล BigQuery สาธารณะ 2 ชุดเข้าด้วยกัน ชุดหนึ่งมีข้อมูลสำมะโนประชากร และอีกชุดหนึ่งมีข้อมูลขอบเขตทางภูมิศาสตร์ LookML ช่วยให้เราสามารถรวมชุดข้อมูลหลายชุดได้โดยการสร้างตารางที่ได้มาแบบถาวรเพื่อทำการค้นหา
นอกจากนี้ การเข้าร่วมยังกำหนดไว้ในโค้ดที่กำหนดเวอร์ชันได้ (LookML) แทนที่จะเป็นคำสั่งของระบบ ซึ่งทำให้การพัฒนาเอเจนต์ปรับขนาดได้มากขึ้น LookML ช่วยให้คุณกำหนดสมมติฐานและข้อจำกัดที่เฉพาะเจาะจงเกี่ยวกับข้อมูลเพื่อสนับสนุนผู้ใช้ขณะที่แชทกับข้อมูลผ่านเอเจนต์ข้อมูลได้
สํารวจข้อมูลสำมะโนประชากรที่สร้างแบบจำลองใน Looker
มาเรียกใช้การค้นหาอย่างรวดเร็วใน Explore เพื่อแสดงให้เห็นว่าเรามีแหล่งข้อมูลแบบรวมศูนย์แหล่งเดียวในการค้นหา
- ในเมนูการนำทางหลักด้านซ้าย ให้เลือกสำรวจ แล้วเลือกบล็อกข้อมูลสำมะโนประชากร จากนั้นเลือกรัฐและเขต
- เลือกมาตรวัดการศึกษา > อนุปริญญา
- เลือกมิติข้อมูลต่อไปนี้
- ภูมิศาสตร์ > กลุ่มบล็อก
- ภูมิศาสตร์ > เขต > ชื่อเขต
- ภูมิศาสตร์ > รัฐ > รัฐ
- เรียกใช้การค้นหา (ด้านขวาบน) แล้วคุณจะเห็นว่าตอนนี้รหัสภูมิศาสตร์เหล่านั้น (เรียกว่า "กลุ่มบล็อก") เชื่อมโยงกับสตริงที่มนุษย์อ่านได้แล้ว
- เปิดแท็บการแสดงภาพ แล้วคุณจะเห็นข้อมูลนี้ในแผนที่
4. ลองใช้แอปแชทกับ Looker
ตอนนี้มาสร้าง Data Agent สำหรับ Looker กัน
- ไปที่แบบฟอร์มสร้าง Agent ของหน้า Agent ของแอปเริ่มต้นอย่างรวดเร็ว
- ตั้งค่าช่องชื่อที่แสดงโดยทำดังนี้
Cartoon character data analyst
- ตั้งค่าช่องคำสั่งของระบบ
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- เลือกตัวเลือก Looker
- ตั้งค่าช่อง Url เป็น URL ของอินสแตนซ์ Looker: "https://..."
- ตั้งค่าช่องโมเดล
data_block_acs_bigquery
- ตั้งค่าฟิลด์สำรวจ
cbsa
- เลือกสร้างเอเจนต์
- ไปที่หน้าแชทแล้วเลือก Agent ที่สร้างขึ้นใหม่
- มาเริ่มแชทด้วยการเพิ่มพรอมต์/ข้อความว่า "สวัสดี เป็นไงบ้าง"
- มาลองถามเอเจนต์ให้อธิบายชุดข้อมูลกัน "คุณมีข้อมูลอะไรบ้าง"
- ลองถามคำถามเพิ่มเติมกัน
- "เทศมณฑลใดในนิวยอร์กมีประชากรมากที่สุด"
- "แล้วเมืองที่มีผู้จบการศึกษาระดับมัธยมปลายต่อประชากรมากที่สุดล่ะ"
- "ช่วยบอกจำนวนประชากรแยกตามเพศและรัฐได้ไหม"
- "ฉันอยากดูแผนภูมิแท่งของรัฐ 10 อันดับแรกที่มีประชากรมากที่สุด"
5. แอปเริ่มต้นอย่างรวดเร็วทำอะไรได้อีกบ้าง
ตอนนี้คุณทำสิ่งต่อไปนี้ได้แล้ว
- ตั้งค่าแอปแชทในเครื่อง
- สร้างตัวแทนข้อมูล BigQuery และตัวแทนข้อมูล Looker
- พูดคุยกับตัวแทนข้อมูลของคุณ
- ดูข้อมูลเกี่ยวกับประโยชน์ของการสร้างโมเดลเชิงความหมายของ Looker เป็นบริบทสำหรับการแชท
มาลองใช้ความสามารถอื่นๆ ของแอปเริ่มต้นใช้งานกัน
- โหลดหน้าเว็บของแอปเริ่มต้นอย่างรวดเร็วซ้ำ แล้วไปที่หน้าแชท
- คุณสามารถดูการสนทนาที่ผ่านมาพร้อมข้อความที่เกี่ยวข้องทั้งหมดจากทั้ง Agent ของ BigQuery และ Looker ส่วนหน้าของแอปไม่ได้จัดเก็บการสนทนาหรือข้อความที่ผ่านมา แต่จะดึงข้อมูลจาก CA API
- ตอนนี้ให้ไปที่หน้าตัวแทนแล้วเลือกตัวแทน Looker จากรายการ
- คุณสามารถอัปเดตการกำหนดค่าของเอเจนต์หรือลบเอเจนต์ได้หากต้องการ ระบบจะไม่จัดเก็บตัวแทนไว้ในส่วนหน้าของแอป
6. ความท้าทายเพิ่มเติมและการสำรวจเพิ่มเติม (ไม่บังคับ)
หากต้องการ คุณสามารถใช้โอกาสนี้ทำความคุ้นเคยกับข้อมูลวิเคราะห์เชิงสนทนาและแอปเริ่มต้นอย่างรวดเร็ว หรือลองท้าทายตัวเองด้วยการแก้ไขแอปเริ่มต้นอย่างรวดเร็ว คุณสามารถลองทำตามคำแนะนำและความท้าทายต่อไปนี้ หรือข้ามไปยังส่วนสุดท้ายได้
ทำความคุ้นเคยกับ CA API และแอปเริ่มต้นอย่างรวดเร็วเพิ่มเติม
- ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการของระบบโดยละเอียดเพื่อควบคุมลักษณะการทำงานของเอเจนต์
- ตั้งค่า Data Agent อีกตัวที่ชี้ไปยังชุดข้อมูล BigQuery ใหม่
- ติดตั้งบล็อก Looker ใหม่ในอินสแตนซ์ Looker สร้างเอเจนต์ และชี้ไปยังชุดข้อมูล Looker ใหม่
ความท้าทายในการแก้ไขแอปฉบับย่อ
- คุณคุ้นเคยกับการฝัง Looker ไหม หากเป็นเช่นนั้น ให้ลองฝังแดชบอร์ด Looker ภายในแอปเริ่มต้นอย่างรวดเร็ว โดยพิจารณาใช้คอมโพเนนต์ iframe ของ Streamlit
- ค้นหาชุดข้อมูลสาธารณะที่มี URL ของวิดีโอ แล้วอัปเดตตรรกะการแสดงผลแชทของแอปเพื่อแสดงวิดีโอในแชท
7. บทสรุปและสิ่งสำคัญที่ได้เรียนรู้
คุณทำแบบทดสอบครบหมดแล้ว คุณได้สร้างแอปแชท สร้างเอเจนต์ข้อมูล และแชทกับข้อมูลทั้งหมดด้วย Conversational Analytics API มาดูความสามารถและแนวคิดที่สำคัญกัน
ความสามารถของ Conversational Analytics
เราได้พูดถึงความสามารถของ Conversational Analytics ไปหลายอย่าง เช่น ความสามารถในการทำสิ่งต่อไปนี้
- สร้าง อัปเดต แสดงรายการ รับ และลบตัวแทนข้อมูล
- ชี้ตัวแทนข้อมูลไปยัง BigQuery หรือ Looker เป็นแหล่งข้อมูล
- สร้าง แสดงรายการ และรับการสนทนาและข้อความที่เกี่ยวข้อง
- สร้างข้อกำหนดแผนภูมิ Vega สำหรับการแสดงภาพที่สมจริงในการสนทนา
- ใช้ข้อความที่ผ่านมาในการสนทนาเป็นบริบทที่มีประโยชน์สำหรับข้อความในอนาคต
ประโยชน์ของการใช้ Looker กับ CA API
Looker มีการสร้างโมเดลเชิงความหมายของข้อมูลที่รวมศูนย์ ทดสอบได้ และควบคุมได้ เมื่อใช้ร่วมกับ Conversational Analytics แล้ว Looker จะเป็นวิธีที่ปรับขนาดได้ในการให้บริบทแก่เอเจนต์ข้อมูล
ขั้นต่อไปคืออะไร
- ดูคำแนะนำ ฟีเจอร์ และกรณีการใช้งานเพิ่มเติมได้ในเอกสารประกอบการวิเคราะห์เชิงสนทนา
- ติดตามข่าวสารล่าสุดและมีส่วนร่วมในที่เก็บแอปพลิเคชันเริ่มต้นอย่างรวดเร็ว