เปลี่ยนดาร์กดาต้าให้เป็นทองคำที่มีโครงสร้าง

1. ภาพรวม

เราต่างรู้กันดีว่า "ดาร์กดาต้า" นั้นสร้างความเจ็บปวดเพียงใด ซึ่งก็คือไฟล์ PDF, รูปภาพ และไฟล์ข้อความที่อยู่ในที่เก็บข้อมูลออบเจ็กต์บนระบบคลาวด์ ซึ่งมองไม่เห็นโดยสมบูรณ์เมื่อใช้คำค้นหา SQL และแดชบอร์ด BI โดยปกติแล้ว การปลดล็อกข้อมูลนี้ต้องใช้ไปป์ไลน์ OCR ที่ซับซ้อน การป้อนข้อมูลด้วยตนเอง หรือสคริปต์ที่กำหนดเองซึ่งมีความเสี่ยง

ปัญหานี้จะหมดไป

ใน Lab นี้ ฉันจะแสดงวิธีแปลงไฟล์ PDF ที่ไม่มีโครงสร้าง 400 ไฟล์ ซึ่งครอบคลุมข้อความ ตาราง และรูปภาพ ให้เป็นตาราง BigQuery ที่มีโครงสร้างชัดเจนพร้อมความสัมพันธ์ที่อนุมานโดยอัตโนมัติระหว่างตารางเหล่านั้น และเราจะดำเนินการนี้ให้เสร็จภายในไม่กี่นาทีโดยใช้แคตตาล็อกความรู้ของ BigQuery และ Dataplex

สิ่งที่คุณจะสร้าง

เพื่อทำให้เห็นภาพชัดเจนขึ้น เรามาดูธุรกิจสมมติกัน นั่นคือแฟรนไชส์โฟรเซนโยเกิร์ตที่เติบโตอย่างรวดเร็ว

สมมติว่าคุณจัดการข้อมูลสำหรับธุรกิจโฟรโยนี้ คุณมีสูตรอาหารและเอกสารข้อกำหนดของซัพพลายเออร์หลายร้อยรายการ ซึ่งทั้งหมดบันทึกเป็น PDF ผู้นำทางธุรกิจต้องการเปิดตัว AI Agent เพื่อช่วยผู้จัดการร้านค้าและลูกค้าในการค้นหารายละเอียดผลิตภัณฑ์

ลองนึกภาพสถานการณ์ที่แย่ที่สุด ลูกค้าถามว่า "ฉันสนใจฟรอสโยเกิร์ต Midnight Swirl ของคุณมาก มีสารก่อภูมิแพ้ไหม"

โดยปกติแล้ว ระบบจะต้องทำสิ่งต่อไปนี้เพื่อตอบคำถามนี้

  1. ค้นหา PDF สูตร "Midnight Swirl"
  2. อ่านส่วนผสม (เช่น "ผงโกโก้" "ส่วนผสมนม" "อิมัลซิไฟเออร์ X")
  3. ค้นหาใน PDF ของซัพพลายเออร์หลายสิบรายการเพื่อค้นหาเอกสารข้อมูลจำเพาะของส่วนผสมที่เฉพาะเจาะจงเหล่านั้น
  4. ตรวจสอบชีตซัพพลายเออร์เพื่อดูสารก่อภูมิแพ้ที่ซ่อนอยู่ซึ่งเชื่อมโยงกับส่วนผสมเหล่านั้น

การพยายามสร้าง AI Agent ที่ทำสิ่งนี้ได้ทันทีโดยการอ่านไฟล์ PDF ดิบ 400 ไฟล์ในขณะรันไทม์นั้นช้า มีค่าใช้จ่ายสูง และมีแนวโน้มที่จะเกิดอาการหลอนของ AI แต่เราจะใช้การอนุมานเชิงความหมายเพื่อดึงข้อมูลทั้งหมดนี้ลงในฐานข้อมูลเชิงสัมพันธ์ก่อน ซึ่งจะทำให้ AI Agent ในอนาคตของเราทำงานได้อย่างรวดเร็วและอิงตามข้อมูล SQL ที่เป็นข้อเท็จจริง 100%

มาเริ่มสร้างกันเลย

2381f1453211387d.png

สิ่งที่คุณจะได้เรียนรู้

  • วิธีตั้งค่า Bucket ของ Cloud Storage สำหรับไฟล์ต้นฉบับ (PDF)
  • วิธีตั้งค่าและเรียกใช้งาน Datascan และการอนุมานเชิงความหมายในแคตตาล็อกความรู้เพื่อดึงข้อมูลจาก PDF แหล่งที่มา และอนุมานการเชื่อมต่อและบริบทเชิงความหมาย แล้วจัดเก็บไว้ใน BigQuery
  • วิธีใช้ Agent ของ BigQuery เพื่อแชทกับชุดข้อมูลที่สร้างขึ้นใหม่

ข้อกำหนด

  • เบราว์เซอร์ เช่น Chrome หรือ Firefox
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
  • คุ้นเคยกับ SQL และ Java ในระดับพื้นฐาน

2. ก่อนเริ่มต้น

สร้างโปรเจ็กต์

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าโปรเจ็กต์เปิดใช้การเรียกเก็บเงินหรือไม่
  1. คุณจะใช้ Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานใน Google Cloud คลิกเปิดใช้งาน Cloud Shell ที่ด้านบนของคอนโซล Google Cloud

รูปภาพปุ่มเปิดใช้งาน Cloud Shell

  1. เมื่อเชื่อมต่อกับ Cloud Shell แล้ว ให้ตรวจสอบว่าคุณได้รับการตรวจสอบสิทธิ์แล้วและตั้งค่าโปรเจ็กต์เป็นรหัสโปรเจ็กต์โดยใช้คำสั่งต่อไปนี้
gcloud auth list
  1. เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อยืนยันว่าคำสั่ง gcloud รู้จักโปรเจ็กต์ของคุณ
gcloud config list project
  1. หากต้องการตรวจสอบสิทธิ์
gcloud auth login
  1. หากไม่ได้ตั้งค่าโปรเจ็กต์ ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project <YOUR_PROJECT_ID>
  1. เปิดใช้ API ที่จำเป็น: เรียกใช้คำสั่งนี้เพื่อเปิดใช้ API ที่จำเป็นทั้งหมด
gcloud services enable \
    dataplex.googleapis.com \
    datacatalog.googleapis.com \
    discoveryengine.googleapis.com \
    bigqueryconnection.googleapis.com \
    bigquery.googleapis.com \
    aiplatform.googleapis.com \
    cloudresourcemanager.googleapis.com \
    serviceusage.googleapis.com \
    storage.googleapis.com

ข้อควรระวังและการแก้ปัญหา

กลุ่มอาการ"โปรเจ็กต์ผี"

คุณเรียกใช้ gcloud config set project แต่จริงๆ แล้วคุณกำลังดูโปรเจ็กต์อื่นใน UI ของคอนโซล ตรวจสอบรหัสโปรเจ็กต์ในเมนูแบบเลื่อนลงด้านซ้ายบน

แผงกั้น การเรียกเก็บเงิน

คุณเปิดใช้โปรเจ็กต์แล้ว แต่ลืมบัญชีสำหรับการเรียกเก็บเงิน AlloyDB เป็นเครื่องมือที่มีประสิทธิภาพสูง จึงจะไม่เริ่มทำงานหาก "ถังน้ำมัน" (การเรียกเก็บเงิน) ว่างเปล่า

ความล่าช้าการเผยแพร่ API

คุณคลิก "เปิดใช้ API" แต่บรรทัดคำสั่งยังคงแสดง Service Not Enabled รอ 60 วินาที ระบบคลาวด์ต้องใช้เวลาสักครู่ในการเปิดใช้งานนิวรอน

คำถามที่พบบ่อยเกี่ยวกับโควต้า

หากใช้บัญชีทดลองใช้ใหม่ คุณอาจพบโควต้าระดับภูมิภาคสำหรับอินสแตนซ์ AlloyDB หาก us-central1 ไม่สำเร็จ ให้ลอง us-east1

ตัวแทนบริการ"ซ่อน"

บางครั้งระบบไม่ได้มอบบทบาท aiplatform.user ให้กับตัวแทนบริการ AlloyDB โดยอัตโนมัติ หากคำค้นหา SQL สื่อสารกับ Gemini ไม่ได้ในภายหลัง สาเหตุส่วนใหญ่จะมาจากข้อจำกัดนี้

3. การตั้งค่า Bucket ของ Google Cloud Storage

ในส่วนนี้ คุณจะสร้างโครงสร้างองค์กรภายใน BigQuery เพื่อจัดเก็บข้อมูลสูตรและซัพพลายเออร์ของ Froyo โดยเฉพาะรายละเอียดผลิตภัณฑ์ Froyo นอกจากนี้ยังสร้างการเชื่อมต่อทรัพยากรระบบคลาวด์ ซึ่งทำหน้าที่เป็น "บริดจ์" ที่ปลอดภัยเพื่อให้ BigQuery อ่านไฟล์จากแหล่งที่มาภายนอก เช่น Cloud Storage ได้

ก่อนเริ่มใช้งาน

ที่เก็บนี้มีสูตรอาหารและไฟล์ PDF ของซัพพลายเออร์ที่เราจะใช้ในโปรเจ็กต์นี้ โปรดตรวจสอบว่าคุณได้ดาวน์โหลดไฟล์เหล่านี้ หากต้องการดาวน์โหลดไฟล์ ให้ทำดังนี้

เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell

git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/next-26-keynotes.git

ไปที่โฟลเดอร์ที่สร้างขึ้นใหม่โดยทำดังนี้

cd next-26-keynotes

ดึงโฟลเดอร์ data-cloud-demo

git sparse-checkout set genkey/data-cloud-demo

หลังจากชำระเงินเสร็จสมบูรณ์แล้ว ให้ไปที่โฟลเดอร์ data-cloud-demo แล้วแตกไฟล์ ZIP เพื่อเข้าถึงชิ้นงานของ Codelab

สร้าง Bucket และอัปโหลดไฟล์ PDF ของ Froyo (สูตรอาหารและซัพพลายเออร์)

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าที่เก็บข้อมูล Cloud Storage
  2. คลิกสร้าง
  3. ในหน้าสร้าง Bucket ให้ป้อนข้อมูล Bucket หลังจากทำตามแต่ละขั้นตอนต่อไปนี้ ให้คลิก "ต่อไป" เพื่อไปยังขั้นตอนถัดไป
  4. ในส่วนเริ่มต้นใช้งาน ให้ป้อนชื่อที่เก็บข้อมูล เช่น froyo_data
  5. ในส่วนเลือกที่จัดเก็บข้อมูล ให้เลือกภูมิภาค แล้วป้อนภูมิภาค us-central1
  6. ในส่วนเลือกวิธีควบคุมการเข้าถึงออบเจ็กต์ ให้ยกเลิกการเลือกช่องทำเครื่องหมายบังคับใช้การป้องกันการเข้าถึงแบบสาธารณะใน Bucket นี้
  7. คลิกสร้าง
  8. ในรายการ Bucket ให้คลิก Bucket ที่คุณสร้างขึ้น
  9. ในแท็บออบเจ็กต์ของ Bucket ให้คลิกอัปโหลด แล้วคลิกอัปโหลดโฟลเดอร์
  10. เลือกโฟลเดอร์ recipes ที่คุณแตกไฟล์ในส่วน "ก่อนที่จะเริ่ม" ของ Codelab นี้
  11. คลิกอัปโหลด
  12. ทำซ้ำขั้นตอนการอัปโหลดสำหรับโฟลเดอร์ซัพพลายเออร์

เมื่ออัปโหลดแล้ว โครงสร้างที่เก็บข้อมูลควรมีลักษณะดังนี้ (ไม่ว่าชื่อที่เก็บข้อมูลจะเป็นอะไรก็ตาม)

596b8acb481016b7.png

4. การตั้งค่าการเชื่อมต่อ BigQuery

สร้างการเชื่อมต่อทรัพยากรระบบคลาวด์ ซึ่งจะสร้างบัญชีบริการที่ไม่ซ้ำกันซึ่งทำหน้าที่เป็น "บัตรประจำตัว" ของ BigQuery เพื่อเข้าถึงไฟล์ภายนอก

  • ไปที่หน้า BigQuery
  • คลิก Explorer ในแผงด้านซ้าย หากไม่เห็นแผงด้านซ้าย ให้คลิกขยายแผงด้านซ้ายเพื่อเปิดแผง
  • ในบานหน้าต่าง Explorer ให้ขยายชื่อโปรเจ็กต์ แล้วคลิกการเชื่อมต่อ
  • ในหน้าการเชื่อมต่อ ให้คลิกสร้างการเชื่อมต่อ
  • สำหรับประเภทการเชื่อมต่อ ให้เลือกโมเดลระยะไกล ฟังก์ชันระยะไกล BigLake และ Spanner ของ Vertex AI (ทรัพยากรระบบคลาวด์)
  • ในช่องรหัสการเชื่อมต่อ ให้ป้อนชื่อรหัสการเชื่อมต่อดังนี้
  • bq-connection อย่าลืมจดรหัสดังกล่าวไว้เนื่องจากคุณจะต้องใช้เมื่อตั้งค่าการสแกนข้อมูลในภายหลังใน Codelab นี้
  • ตั้งค่าประเภทสถานที่ตั้งเป็นภูมิภาค แล้วเลือกภูมิภาค เช่น us-central1 การเชื่อมต่อควรอยู่ในภูมิภาคเดียวกับทรัพยากรอื่นๆ เช่น ชุดข้อมูล
  • คลิกสร้างการเชื่อมต่อ
  • คลิกไปที่การเชื่อมต่อ
  • ในแผงข้อมูลการเชื่อมต่อ ให้คัดลอกรหัสบัญชีบริการเพื่อใช้ในขั้นตอนถัดไป บัญชีบริการจะมีลักษณะคล้ายกับ bqcx-**********-qn3a@gcp-sa-bigquery-condel.iam.gserviceaccount.com

5. การตั้งค่าสิทธิ์

  1. ให้สิทธิ์ที่จำเป็นแก่การเชื่อมต่อ BigQuery เพื่อเข้าถึงออบเจ็กต์ Cloud Storage และแคตตาล็อกความรู้

ไปที่หน้า IAM และผู้ดูแลระบบ แล้วคลิกปุ่มให้สิทธิ์เข้าถึงในส่วนดูตามผู้รับสิทธิ์ จากนั้นเพิ่มผู้รับสิทธิ์โดยวางบัญชีบริการที่คุณคัดลอกไว้ในขั้นตอนสุดท้าย ในส่วนบทบาท ให้เพิ่มชื่อบทบาทต่อไปนี้ทีละรายการแล้วบันทึก

  • roles/storage.objectUser
  • roles/storage.objectViewer
  • roles/bigquery.user
  • roles/bigquery.dataEditor
  • roles/aiplatform.viewer
  • roles/agentplatform.user
  • roles/storage.admin
  • roles/dataproc.serviceAgent
  • roles/dataplex.discoveryPublishingServiceAgent
  • roles/dataplex.serviceAgent
  • roles/dataplex.securityAdmin
  1. ให้สิทธิ์บัญชีบริการ Dataplex ในการเข้าถึง Bucket ของ Cloud Storage

ไปที่หน้า IAM และผู้ดูแลระบบ แล้วคลิกปุ่มให้สิทธิ์เข้าถึงในส่วนดูตามผู้รับสิทธิ์ และเพิ่มผู้รับสิทธิ์โดยพิมพ์ Dataplex ลงในแถบข้อความผู้รับสิทธิ์ใหม่ จากรายการที่เติมข้อความอัตโนมัติ ให้เลือกหลักบัญชีบริการ Dataplex ที่มีลักษณะคล้ายกับรายการต่อไปนี้

service-*********@ gcp-sa-dataplex.iam.gserviceaccount.com

มอบบทบาทต่อไปนี้ให้กับบัญชีบริการนี้

  • roles/storage.objectUser
  • roles/storage.objectViewer
  • roles/storage.viewer
  • roles/dataplex.discoveryBigLakePublishingServiceAgentroles/storage.objectUser
  • roles/storage.objectViewer
  • roles/storage.viewer
  • roles/dataplex.discoveryBigLakePublishingServiceAgentroles/storage.objectUser
  • roles/storage.objectViewer
  • roles/storage.viewer
  • roles/dataplex.discoveryBigLakePublishingServiceAgent

6. การตั้งค่า Knowledge Catalog

สร้างแคตตาล็อกความรู้เพื่อรวม Unstructured Data และทำให้การค้นหาไฟล์ที่ไม่มีโครงสร้าง (เช่น สูตรอาหารและซัพพลายเออร์ในรูปแบบ PDF) เป็นแบบอัตโนมัติ

  1. สร้าง DataScan ผ่าน curl

คุณสร้างงานนี้จากคอนโซลได้เช่นกัน แต่ในส่วนนี้ เราจะสร้างการสแกนสำหรับ Bucket ของ Cloud Storage โดยการเพิ่ม datascan_ID และชี้ไปยังชุดข้อมูล BigQuery หลังจากนั้นแคตตาล็อกความรู้จะสร้างรายการสำหรับไฟล์ PDF ใน BigQuery โดยอัตโนมัติ

เรียกใช้ชุดคำสั่งด้านล่างจากเทอร์มินัล Cloud Shell ในโปรเจ็กต์ที่ใช้งานอยู่ปัจจุบันที่คุณสนใจ

# 1. Set your variables
PROJECT_ID="<PROJECT_ID>"
REGION="<REGION>"
ENV_SUFFIX="stg1"
DATASCAN_ID="froyo-data-${ENV_SUFFIX}"
BUCKET_NAME="<BUCKET_NAME>"

# 2. Set this to the Name of the connection you created in Step 7
CONNECTION_ID="<CONNECTION_ID_NAME>"

# 3. Define the API Endpoint
DATAPLEX_API="dataplex.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}"

# 4. Create the DataScan via CURL
echo "Creating Dataplex DataScan: ${DATASCAN_ID}..."

curl -X POST "https://$DATAPLEX_API/dataScans?dataScanId=${DATASCAN_ID}" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"data": {
   "resource": "//storage.googleapis.com/projects/'"${PROJECT_ID}"'/buckets/'"${BUCKET_NAME}"'"
   },
"executionSpec": {
   "trigger": {
      "on_demand": {}
   }
},
"dataDiscoverySpec": {
   "bigqueryPublishingConfig": {
      "tableType": "BIGLAKE",
      "connection": "projects/'"${PROJECT_ID}"'/locations/'"${REGION}"'/connections/'"${CONNECTION_ID}"'"
   },
   "storageConfig": {
      "unstructuredDataOptions": {
      "entity_inference_enabled": true
      }
   }
   }
}'

แทนที่ค่าของตัวแปรตัวยึดตำแหน่งด้านบนเพื่อให้คำสั่งทำงานได้สำเร็จ โปรดทราบว่าคำสั่งนี้จะสร้างงานเท่านั้น ไม่ได้ดำเนินการ

  1. หลังจากผ่านไป 1-2 นาที ให้ไปที่หน้าการดูแลจัดการข้อมูลเมตาในคอนโซล Google Cloud
  2. ในแท็บการค้นพบ Cloud Storage ให้คลิกชื่อของรายการการสแกนการค้นพบ (อย่าคลิกลิงก์แหล่งที่มาซึ่งอาจเป็นตัวเลือกที่น่าสนใจ แต่จะเปิดที่เก็บข้อมูล)

31afb1dc3caba5f6.png

  1. ขั้นตอนสำคัญ

แก้ไขงานและตรวจสอบว่าได้เลือกช่องทำเครื่องหมาย "เปิดใช้การอนุมานเชิงความหมาย" แล้ว หากยังไม่ได้เลือก ให้เลือก ป้อนรหัสโปรเจ็กต์และภูมิภาค แล้วคลิกบันทึก

c021927bf80fe204.png

เมื่อเสร็จแล้ว คุณจะเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล Cloud Shell หรือคลิกปุ่ม "เรียกใช้เลย" ในหน้าการค้นพบ Cloud Storage ก็ได้

gcloud dataplex datascans run $DATASCAN_ID --location=$REGION
  1. การสแกนอาจใช้เวลาสักครู่ เมื่องานเสร็จสิ้นแล้ว ให้ตรวจสอบว่ามีชุดข้อมูลที่เผยแพร่หรือไม่ หากต้องการตรวจสอบสถานะของงาน ให้ตรวจสอบในหน้าการดูแลจัดการข้อมูลเมตา ในแท็บการค้นพบ Cloud Storage ให้คลิกชื่อการสแกนการค้นพบของการเรียกใช้ล่าสุด คุณควรเห็นชุดข้อมูลที่เผยแพร่ดังที่แสดงด้านล่าง

d0cd6ae1edb81ce9.png

หมายเหตุ: หากพบข้อผิดพลาดในขั้นตอนการสแกน โปรดรอสักครู่แล้วลองอีกครั้ง (ระบบจะใช้เวลา 2-3 นาทีในการสร้างงานและดำเนินการให้เสร็จสมบูรณ์)

คุณดูตารางใน BigQuery ได้โดยคลิกและไปที่ชุดข้อมูล froyo_data คลิกรหัสตารางใน BigQuery แล้วเรียกใช้การค้นหาด้านล่างในแท็บตัวแก้ไขคำค้นหา

SELECT count(*) FROM `agent-data-cloud.froyo_data.froyo_data` LIMIT 1000;

ซึ่งจะทำให้ได้ 400 (หากไม่ได้ ให้ย้อนกลับไปเรียกใช้ชิ้นงาน Datascan อีกครั้ง)

7. การดึงข้อมูลเชิงความหมาย

เยี่ยมเลย ตอนนี้มาดึงข้อมูลการอนุมานสำหรับออบเจ็กต์ที่ไม่มีโครงสร้างเหล่านี้โดยใช้ Knowledge Catalog กัน

เราจะใช้ฟีเจอร์ข้อมูลเชิงลึกเพื่อสร้างคำสั่ง SQL เพื่อดึง Structured Data จากตารางที่ไม่มีโครงสร้าง

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าการค้นหาแคตตาล็อกความรู้
  2. ค้นหาตารางชุดข้อมูลที่ต้องการดูข้อมูลเชิงลึก ในแถบค้นหา ให้ป้อนชื่อชุดข้อมูล / ตารางจากขั้นตอนก่อนหน้า "froyo_data" แล้วกด Enter
  3. จากรายการผลลัพธ์ ให้คลิกรายการตาราง (ไม่ใช่ชุดข้อมูล)
  4. คุณควรเห็นแท็บข้อมูลเชิงลึก คลิก (หากต้องเปิดใช้ API ใด ให้ทำตามขั้นตอนและเปิดใช้ API)

หากคุณเปิดใช้ API ในตอนนี้ คุณจะต้องเรียกใช้การสแกนอีกครั้ง

  1. ในแท็บข้อมูลเชิงลึก คุณจะเห็นเมนูแบบเลื่อนลงของปุ่ม "แยก" คลิกตัวเลือกนั้น แล้วเลือกตัวเลือก "แยกด้วย SQL"

89809b34c610569d.png

ในกล่องโต้ตอบ "Extract with SQL" ที่ปรากฏขึ้น ให้ตั้งค่าชุดข้อมูลปลายทางเป็นชุดข้อมูลที่คุณเห็นในผลลัพธ์ของงาน Datascan เริ่มพิมพ์ชื่อแล้วชื่อควรจะปรากฏในการเติมข้อความอัตโนมัติ คลิกปุ่ม "แยก" หรือคุณจะสร้างชุดข้อมูลใหม่ในตอนนี้และดึงข้อมูลก็ได้

ซึ่งควรเปิดตัวแก้ไขคำค้นหา BigQuery พร้อมแท็บที่เปิดอยู่ซึ่งมี SQL ที่แยกออกมาจากการอนุมานการสแกนข้อมูล

8. การตรวจสอบ SQL และการสร้างสคีมา

หากคำค้นหาที่สร้างขึ้นดูดีและมีความเกี่ยวข้องเชิงความหมายกับข้อมูลที่ไม่มีโครงสร้าง ให้ดำเนินการโดยคลิกปุ่มเรียกใช้ในเครื่องมือแก้ไขคำค้นหา ระบบจะใช้เวลาสักครู่ในการสร้างสคีมาที่จำเป็นสำหรับการจัดเก็บสื่อที่ไม่มีโครงสร้างในรูปแบบที่มีโครงสร้าง

เมื่อดำเนินการเสร็จแล้ว คุณควรจะยืนยันสคีมาได้โดยขยายชุดข้อมูลในแผง Explorer ของ BigQuery Studio ดังที่แสดงด้านล่าง

6e65906240a9a8be.png

เอาล่ะ!!! เราจึงรีบทำเรื่องฐานข้อมูลทั้งหมดให้เสร็จอย่างรวดเร็ว ตอนนี้ก็ถึงเวลาทดสอบขั้นสุดแล้ว

9. การทดสอบขั้นสุด!!!

สมมติว่าฉันต้องการให้เอเจนต์ตอบคำถามของผู้ใช้ด้วยข้อมูลจริง ครบถ้วน และจัดเรียงอย่างดีโดยอิงตามข้อเท็จจริง ฉันจะถามคำถามที่เอเจนต์จะตอบได้โดยอ้างอิงจากไฟล์สื่อหลายไฟล์และข้อมูลอ้างอิงจากแหล่งที่มาของฉันเท่านั้น

นี่คือคำถามของผู้ใช้

I'm really interested in your Midnight Swirl froyo. Are there any allergens in it?

ตอนนี้การค้นหาทั่วไปหรือการค้นหาด้วย LLM จะแสดงว่า "ไม่มีส่วนผสม" แต่เราได้สร้างการอนุมานเชิงความหมายแบบเต็มเพื่อแปลงสื่อที่ไม่มีโครงสร้างทั้งหมดให้เป็น Structured Data ดังนั้นเรามาเริ่มกันเลยด้วย SQL แบบง่ายๆ ที่จะดึงข้อมูลนี้

SELECT p.product_name, i.ingredient_name, a.allergen_name, category, stability
FROM froyo_data.consistsof c
INNER JOIN froyo_data.product p
  ON c.product_id = p.product_id
INNER JOIN froyo_data.ingredient i
  ON c.ingredient_id = i.ingredient_name
LEFT OUTER JOIN froyo_data.containsallergen a
  ON i.ingredient_id = a.ingredient_id
WHERE
  UPPER(p.product_name) LIKE '%MIDNIGHT%SWIRL%'
  AND allergen_name IS NOT NULL;

ไชโย ดูผลลัพธ์

f582d55814a23e8.png

10. ล้างข้อมูล

เมื่อทำแล็บนี้เสร็จแล้ว อย่าลืมลบงานสแกนและตาราง BigQuery ที่งานสร้างขึ้น

ไปที่ https://console.cloud.google.com/bigquery/governance/metadata-curation/cloud-storage-discovery เลือกงานที่ต้องการลบโดยคลิกจุดไขปลาแนวตั้งข้างงานนั้น แล้วคลิกลบ

9fcbbfa1a9ccba6d.png

ซึ่งจะล้างข้อมูลงาน

11. ขอแสดงความยินดี

การติดตั้งใช้งานของเราสามารถระบุสารก่อภูมิแพ้ที่ซ่อนอยู่ได้สำเร็จ ไม่มีข้อมูลมืดอีกต่อไป!!! ในส่วนที่ 2 เราจะรวมข้อมูล BigQuery นี้ในระบบธุรกรรมกับ AlloyDB เพื่อรวมความต้องการข้อมูลสำหรับแอปพลิเคชันแบบเอเจนต์