แนวทางปฏิบัติที่ดีที่สุดสําหรับการปรับปรุงการสร้างคําขอข้อมูลจากตัวแทนข้อมูล

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

ใช้การตั้งค่าที่เหมาะสมที่สุดกับบริบทที่คุณต้องการให้:

เป้าหมาย การกำหนดค่า
จํากัดข้อมูลที่เอเจนต์สามารถสอบถามได้ การเลือกสคีมา
อธิบายความหมายของตาราง คอลัมน์ หรือองค์ประกอบสคีมาอื่น ๆ คําอธิบายวัตถุสคีมา
กําหนดกฎทางธุรกิจ ความสัมพันธ์ และคําแนะนําที่ใช้กับวัตถุต่าง ๆ คําแนะนําแหล่งข้อมูล
แสดงรูปแบบการค้นหาสําหรับคําถาม การสอบถามตัวอย่าง

สําหรับภาพรวมของการตั้งค่าเหล่านี้ ดูที่ การกําหนดค่าตัวแทนข้อมูล

ใช้ชื่อสคีมาที่ชัดเจน

ใช้ชื่อเชิงบรรยายสําหรับแหล่งข้อมูล ตาราง และคอลัมน์เมื่อคุณควบคุมสคีมา ชื่อเช่น CustomerOrders, , และ product_unit_price ให้สัญญาณที่มีประโยชน์มากกว่าชื่อเช่น Table1, date1, และ valueorder_submission_date.

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

จํากัดสคีมาที่เลือก

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

ตัวอย่างเช่น หากผู้ใช้สอบถามเกี่ยวกับคําสั่งซื้อของลูกค้าปัจจุบัน อย่ารวมตาราง staging ที่เก็บถาวรหรือตารางการเงินที่ไม่เกี่ยวข้อง เมื่อวัตถุสองชิ้นที่เลือกมีข้อมูลคล้ายกัน ให้อธิบายว่าวัตถุใดเป็นข้อมูลที่เชื่อถือได้และเมื่อใดควรใช้แต่ละวัตถุ

อธิบายวัตถุสคีมา (ตัวอย่าง)

สําหรับสคีมา SQL ขนาดใหญ่หรือกํากวม ให้ใช้ คําอธิบายอ็อบเจ็กต์สคีมา เพื่ออธิบายว่าตาราง คอลัมน์ และองค์ประกอบสคีมาแต่ละรายการแทนอะไร คําอธิบายวัตถุสคีมาจะปรากฏเฉพาะเมื่อเอเจนต์ข้อมูลใช้ การรันไทม์แบบพรีวิวเท่านั้น

คําอธิบายมีประโยชน์เมื่อ:

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

อธิบายทั้งความหมายและค่าคาดหวังเมื่อข้อมูลนั้นส่งผลต่อการสร้างคําค้นหา เช่น:

วัตถุ Schema คําอธิบายที่มีประสิทธิภาพ
AdoptionEvents ประกอบด้วยหนึ่งแถวสําหรับการรับเลี้ยงสัตว์เลี้ยงที่เสร็จสมบูรณ์แต่ละครั้ง ใช้ AdoptionDate สําหรับวันที่เสร็จสิ้น
StatusCode สถานะวงจรชีวิตการรับเลี้ยงบุตร ค่าคาดหวังได้แก่ AP (อนุมัติ), PD (รอดําเนินการ), และ CN (ยกเลิก)
Weight น้ําหนักสัตว์ปัจจุบันเป็นกิโลกรัม Null หมายถึงไม่มีการวัดใด ๆ

จัดลําดับความสําคัญของคําอธิบายสําหรับวัตถุที่ยากต่อการอนุมาน หลีกเลี่ยงการพูดซ้ําชื่อที่ชัดเจนโดยไม่เพิ่มบริบททางธุรกิจ

ใช้คําสั่งแหล่งข้อมูลสําหรับกฎข้ามวัตถุ

คําสั่งแหล่งข้อมูล ให้คําแนะนําในการสร้างคําค้นสําหรับแหล่งข้อมูลเฉพาะ ใช้สําหรับบริบทที่ครอบคลุมหลายอ็อบเจ็กต์สคีมา หรือกําหนดวิธีการสร้างคําสั่ง รวมถึง:

  • ตารางที่เชื่อถือได้สําหรับหัวข้อ
  • คีย์ Join และเส้นทาง join ที่จําเป็น
  • กฎการจัดตารางและการลดซ้ําซ้อน
  • ตัวกรองเริ่มต้น เช่น ใช้เฉพาะระเบียนปัจจุบันหรือที่ใช้งานอยู่เท่านั้น
  • ตรรกะวันที่ ปฏิทินการเงิน และสมมติฐานเขตเวลา
  • การคํานวณที่จําเป็นหรือคอลัมน์ผลลัพธ์

เขียนคําสั่งโดยตรงที่ระบุว่าเจ้าหน้าที่ควรทําอะไร ตัวอย่างเช่น ใช้ "Join EmployeeStatusFact to EmployeeDim on " EmployeeIDแทน "หลีกเลี่ยงการรวมตารางพนักงานผิดวิธี"

เน้นคําแนะนํา ใส่คําจํากัดความเฉพาะวัตถุในคําอธิบายอ็อบเจ็กต์สคีมา แทนที่จะใช้พื้นที่คําสั่งจํากัดเป็นพจนานุกรมสําหรับแต่ละตารางและคอลัมน์

กําหนดคําศัพท์ทางธุรกิจและค่าคาดหวัง

กําหนดคําศัพท์ที่ผู้ใช้อาจใส่ในคําถามแต่ไม่ตรงกับสคีมาโดยตรง ตัวอย่างเช่น ตัวย่อเช่น "MAU" ความหมายเฉพาะขององค์กรของ "active customer" และความแตกต่างเช่น ปีงบประมาณกับปีปฏิทิน

นอกจากนี้ควรบันทึกค่าที่เอเจนต์ต้องใช้ในการสร้างตัวกรองอย่างถูกต้อง:

  • ว่าคอลัมน์สถานะใช้"CA"หรือ"California"
  • ว่าค่าบูลีนจะถูกเก็บเป็น 1 และ 0, Y และ N, หรือข้อความ
  • ไม่ว่าจะเก็บมูลค่าสกุลเงินเป็นดอลลาร์หรือเซนต์
  • ค่าสถานะใดแทนบันทึกที่เสร็จสมบูรณ์ ยกเลิก หรือยังใช้งานอยู่
  • ไม่ว่าจะเป็นวันที่ว่าง ศูนย์ หรือวันที่เซนทิเนล มีความหมายพิเศษ

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

อธิบายความสัมพันธ์และลายตาราง

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

ตัวอย่างเช่น อธิบายว่าตารางการขายมีหนึ่งแถวต่อคําสั่งซื้อ บรรทัดคําสั่งซื้อ หรือยอดรวมสินค้ารายวันหรือไม่ หากการรวมตารางข้อเท็จจริงสองตารางจะทําให้แถวซ้ํากัน ให้สั่งให้เอเจนต์รวมแต่ละตารางก่อนรวม หรือใช้ตารางมิติที่เหมาะสม

รวมคําแนะนําเกี่ยวกับความสัมพันธ์ เช่น:

- Join `OrderItems` to `Orders` on `OrderID`.
- Join `Orders` to `Customers` on `CustomerID`.
- Aggregate `OrderItems` to one row per `OrderID` before joining to order-level payment totals.

ใช้ตัวอย่างคําค้นหาสําหรับตรรกะซับซ้อน

การใช้ ตัวอย่างคําค้นหา เมื่อแสดงว่าคําค้นชัดเจนกว่าการอธิบายตรรกะในภาษาประพันธ์ ตัวอย่างที่ดีคือการจับคู่คําถามภาษาธรรมชาติที่เป็นตัวแทนกับคําถามที่ถูกต้องซึ่งแสดงรูปแบบที่คาดหวัง

จัดลําดับความสําคัญของตัวอย่างที่แสดงให้เห็นว่า:

  • การรวมหลายตารางหรือการรวมข้อมูลล่วงหน้าที่จําเป็น
  • การคํานวณเฉพาะธุรกิจ
  • วันที่สัมพัทธ์ งวดการเงิน หรือตรรกะของสแนปช็อต
  • ตัวกรองที่แมปคําศัพท์ผู้ใช้กับค่าที่จัดเก็บไว้
  • การจัดอันดับ ฟังก์ชันหน้าต่าง หรือรูปแบบคําสั่งที่ซับซ้อนอื่น ๆ

ให้แต่ละตัวอย่างเน้นไปที่รูปแบบที่ใช้ซ้ําได้เพียงแบบเดียว หลีกเลี่ยงตัวอย่างที่ซ้ําซ้อนหรือขัดแย้งกัน และตรวจสอบให้แน่ใจว่าตัวอย่างทุกตัวอย่างยังคงตรงกับสคีมาปัจจุบัน

ทดสอบและปรับแต่งบริบท

ทดสอบคําถามตัวแทน ตรวจสอบคําค้นหาที่สร้างขึ้น และระบุบริบทที่ขาดหายไปหรือเข้าใจผิด อัปเดตการกําหนดค่าที่ใกล้เคียงกับปัญหาที่สุด:

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

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

ขั้นตอนถัดไป