Web Analytics

BIRD-Interact

⭐ 598 stars Thai by bird-bench

🌐 ภาษา

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

License Leaderboard HuggingFace Python OpenAI

⚠️ ประกาศ

โปรดทราบว่าในระหว่างกระบวนการประเมินผล เมื่อ Docker ทำการโหลดฐานข้อมูล อาจเกิดข้อผิดพลาดเป็นครั้งคราวเนื่องจากความไม่สอดคล้องของสภาพแวดล้อม (ข้อผิดพลาดเหล่านี้จะไม่หยุดกระบวนการแต่จะปรากฏในบันทึกของ Docker) ส่งผลให้บางฐานข้อมูลอาจโหลดไม่สมบูรณ์และกลายเป็นฐานข้อมูลเปล่า ซึ่งจะทำให้ผลการประเมินต่ำผิดปกติ 👉 ดังนั้น เราขอแนะนำอย่างยิ่งให้ตรวจสอบบันทึก Docker เพื่อดูข้อผิดพลาด ก่อนทำการประเมินผล และตรวจสอบให้แน่ใจว่าฐานข้อมูลทั้งหมดถูกโหลดเรียบร้อยแล้ว

👉 เราได้อัปเดต แนวทางการส่งงาน ซึ่งขณะนี้รองรับโครงร่างเอเจนต์แบบกำหนดเองแล้ว สามารถศึกษารายละเอียดเพิ่มเติมได้ที่ แนวทางการส่งงาน

📰 ข่าวสาร

เนื้อหาครอบคลุมรายละเอียด วิธีวิทยา และการประเมินของ benchmark สำหรับงานแปลงข้อความเป็น SQL แบบโต้ตอบ 👉 ศึกษาเพิ่มเติมเกี่ยวกับแนวคิดเบื้องหลัง BIRD-Interact

นี่คือชุดที่ท้าทายที่สุด — LLMs ที่ดีที่สุดยังทำได้เพียง 16.33% โดยเฉพาะส่วน c-interact และ a-interact ทำได้เพียง 10.0% 👉 ดูรายละเอียดเพิ่มเติมได้ที่ เว็บไซต์โครงการ

หากต้องการเข้าถึงล่วงหน้า กรุณาส่งอีเมลตามคำแนะนำในเว็บไซต์เพื่อรับ ดาวน์โหลดอัตโนมัติ

เวอร์ชันเต็ม LiveSQLBench-Base และ -Large จะมาในเร็วๆนี้!

🧸 ภาพรวม

BIRD-INTERACT ซึ่งเป็น benchmark แปลงข้อความเป็น SQL แบบอินเทอร์แอคทีฟ ได้ นิยามใหม่ของการประเมิน Text-to-SQL ผ่านมุมมองของปฏิสัมพันธ์แบบไดนามิก สภาพแวดล้อมนี้ผสมผสานฐานความรู้แบบลำดับชั้น เอกสารประกอบฐานข้อมูล และตัวจำลองผู้ใช้ที่ขับเคลื่อนด้วยฟังก์ชัน เพื่อจำลองสภาพแวดล้อมองค์กรจริง ครอบคลุมปฏิบัติการ CRUD อย่างเต็มรูปแบบ มีโหมดทดสอบที่เข้มงวด 2 โหมด: (1) Conversational Interaction แบบพาสซีฟ และ (2) Agentic Interaction แบบแอคทีฟ รวม 600 งานที่มีการใส่คำอธิบาย ครอบคลุม Business Intelligence (BI), การดำเนินการ CRUD ฯลฯ แต่ละงานมี test cases ที่รันได้จริงป้องกัน โดยทั่วไปการประเมินจะมี 1,968-5,496 เทิร์นของการโต้ตอบระหว่างโมเดลกับตัวจำลองผู้ใช้ ขณะที่โมเดล reasoning ขั้นสูงสุดในปัจจุบันแก้ปัญหาได้เพียง ≈24% และ ≈18% ของงาน แสดงถึงความท้าทายของ benchmark นี้

✅ สองโหมดการประเมินผล

BIRD-INTERACT รองรับโหมดการประเมิน 2 แบบดังกล่าวข้างต้น:

🐣 เวอร์ชัน Lite

เรากำลังปล่อยเวอร์ชัน lite ของ BIRD-INTERACT, bird-interact-lite-exp ซึ่งประกอบด้วยงานคุณภาพสูง 270 งานจริงโดยเฉพาะสำหรับ PostgreSQL เหมาะสำหรับการทดลองอย่างรวดเร็ว

🦜 เวอร์ชันเต็ม

เวอร์ชันเต็มของ BIRD-INTERACT, bird-interact-full เป็น benchmark ที่ครอบคลุมซึ่งประกอบด้วย 600 งานสำหรับ PostgreSQL ครอบคลุมการดำเนินการ SQL และคำถามผู้ใช้หลากหลายรูปแบบ เวอร์ชันเต็มกำลังจะเปิดตัวเร็วๆ นี้

ผลลัพธ์ประสิทธิภาพโมเดลบน BIRD-INTERACT-FULL

#### 1. c-Interact Text-to-SQL ประสิทธิภาพ | อันดับ | ชื่อโมเดล | Normalized Reward | Avg Cost (USD)/Task | ระดับ | |:----:|:-------------------|:-----------------:|:-------------------:|:------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 แชทยอดเยี่ยม | | 2 | O3-Mini | 20.27 | $0.07 | 🏆 แชทยอดเยี่ยม | | 3 | Claude-Sonnet-4 | 18.35 | $0.29 | 💎 แชทดี | | 4 | Qwen-3-Coder-480B | 17.75 | $0.11 | 💎 แชทดี | | 5 | Deepseek-Chat-V3.1 | 15.15 | $0.12 | ✨ มาตรฐาน | | 6 | Claude-Sonnet-3.7 | 13.87 | $0.29 | ✨ มาตรฐาน | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ พื้นฐาน |

#### 2. a-Interact Text-to-SQL ประสิทธิภาพ | Rank | ชื่อโมเดล | รางวัลปกติ | ค่าใช้จ่ายเฉลี่ย (USD)/งาน | ระดับ | |:----:|:-------------------|:-----------------:|:-------------------:|:------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 การโต้ตอบยอดเยี่ยม | | 2 | Claude-Sonnet-4 | 23.28 | $0.51 | 🏆 การโต้ตอบยอดเยี่ยม | | 3 | Claude-Sonnet-3.7 | 17.45 | $0.60 | 💎 การโต้ตอบดี | | 4 | Gemini-2.5-Pro | 17.33 | $0.22 | 💎 การโต้ตอบดี | | 5 | O3-Mini | 16.43 | $0.06 | ✨ มาตรฐาน | | 6 | Deepseek-Chat-V3.1 | 13.47 | $0.06 | ✨ มาตรฐาน | | 7 | Qwen-3-Coder-480B | 10.58 | $0.07 | ⚪ พื้นฐาน |

\ พารามิเตอร์งบประมาณ: งบประมาณเริ่มต้น/งบประมาณความอดทนของผู้ใช้ วัดโดยสกุลเงินเสมือน bird-coin*s . ดูรายละเอียดเพิ่มเติมที่ bird_interact_agent/README.md

การปรับขนาดเวลาการโต้ตอบ (ITS)

การปรับขนาดเวลาการโต้ตอบ (ITS) หมายถึงความสามารถของโมเดลในการเพิ่มประสิทธิภาพสูงสุดอย่างต่อเนื่องผ่านการโต้ตอบหลายรอบ เมื่อประสิทธิภาพการโต้ตอบนี้เกินกว่าประสิทธิภาพของโมเดลในงานเดี่ยวที่ระบุไว้อย่างสมบูรณ์และไม่มีความกำกวม เราจะกล่าวว่าโมเดลนั้นสอดคล้องกับ กฎ ITS เมื่อความอดทนของผู้ใช้เพิ่มขึ้นและจำนวนรอบการโต้ตอบสะสม ประสิทธิภาพจะเพิ่มขึ้นอย่างต่อเนื่อง แสดงให้เห็นว่าโมเดลสามารถสื่อสารได้อย่างมีประสิทธิภาพในบทสนทนาที่ยาวนาน ปัจจุบันเราพบว่าเฉพาะ claude-3-7-sonnet เท่านั้นที่สอดคล้องกับกฎ ITS

การตั้งค่าสภาพแวดล้อม

> หากคุณต้องการประเมินผลเฉพาะ bird-interact-lite คุณสามารถคอมเมนต์ postgresql_full service ใน docker-compose.yml เพื่อเร่งการตั้งค่าสภาพแวดล้อม เริ่มต้นสภาพแวดล้อมโดยรัน:
   cd env
   docker compose pull 
   docker compose up -d
   ``
   รอเป็นเวลาหลายนาทีเพื่อการเริ่มต้นฐานข้อมูล

คุณสามารถติดตามความคืบหน้าการสร้างได้โดย: `bash docker compose logs -f --tail=100 bird_interact_postgresql_full # or bird_interact_postgresql for bird-interact-lite ` หากเสร็จสิ้นแล้ว คุณควรเห็นบันทึกโดยไม่มีข้อผิดพลาด เช่น:

`bash bird_interact_postgresql_full | 2025-10-28 17:58:30.413 HKT [1] LOG: database system is ready to accept connection ` หากคุณเคยสร้างคอนเทนเนอร์มาก่อนและต้องการสร้างใหม่อีกครั้ง คุณสามารถรันคำสั่งต่อไปนี้: `bash docker compose down -v # this cmd removes the containers and the volumes docker compose pull # pull the latest images from Docker Hub docker compose up -d --force-recreate # build and start the containers again. --force-recreate means force the recreation of the containers. # Or docker compose up -d --force-recreate bird_interact_eval to only recreate the bird_interact_eval container about evalution code environment. ` คำสั่งนี้จะรัน 3 คอนเทนเนอร์โดยใช้อิมเมจที่สร้างไว้ล่วงหน้าจาก Docker Hub:

  • bird_interact_postgresql: ฐานข้อมูล PostgreSQL สำหรับ bird-interact-lite
  • bird_interact_postgresql_full: ฐานข้อมูล PostgreSQL สำหรับ bird-interact-full
  • bird_interact_eval: สภาพแวดล้อมสำหรับประเมินผลทั้ง a-Interact และ c-Interact
ตอนนี้ คุณสามารถเริ่มสภาพแวดล้อมประเมินผลได้โดยรันคำสั่งต่อไปนี้: `bash docker compose exec bird_interact_eval bash `

  • (ไม่บังคับ) สร้างสภาพแวดล้อมด้วยตนเอง (หากต้องการสร้างอิมเมจจากศูนย์):
  • ดาวน์โหลดดัมพ์ฐานข้อมูล
  • bird-interact-lite แตกไฟล์และเปลี่ยนชื่อเป็น env/postgre_table_dumps
  • bird-interact-full แตกไฟล์และเปลี่ยนชื่อเป็น env/postgre_table_dumps_full
  • สร้างสภาพแวดล้อมด้วยตนเองโดยรัน docker-compose.build.yml
`bash cd env/ docker compose -f docker-compose.build.yml build docker compose -f docker-compose.build.yml up -d `

  • (แนะนำ) ตรวจสอบว่า container ฐานข้อมูลถูกสร้างและทำงานสำเร็จหรือไม่
  • พิมพ์บันทึกการสร้าง container เพื่อตรวจสอบว่าฐานข้อมูลถูกสร้างสำเร็จโดยไม่มีข้อผิดพลาด
`bash docker logs bird_interact_postgresql > build_bird_interact_postgresql.log 2>&1 docker logs bird_interact_postgresql_full > build_bird_interact_postgresql_full.log 2>&1 ` หากเกิดข้อผิดพลาด "เกิดข้อผิดพลาดระหว่างการนำเข้า:" จะถูกพิมพ์ในไฟล์บันทึก

  • ตรวจสอบให้แน่ใจว่าคอนเทนเนอร์ฐานข้อมูลอยู่ในสภาพดี
ใช้สคริปต์ Python ที่เราจัดเตรียมไว้เพื่อตรวจสอบเมทาดาทาของฐานข้อมูล:
`bash docker compose exec bird_interact_eval bash cd /app/env python check_db_metadata.py --host bird_interact_postgresql python check_db_metadata.py --host bird_interact_postgresql_full ` ผลลัพธ์ที่คาดหวัง:
  • bird-interact-lite:
  • 📈 ฐานข้อมูลทั้งหมด: 18
  • 📋 ตารางทั้งหมด: 175
  • 🔢 คอลัมน์ทั้งหมด: 2286
  • 📈 เฉลี่ยแถวต่อหนึ่งตาราง: 1,038.48
  • 💾 ขนาดรวม: 207.15 MB (โดยประมาณ)
  • bird-interact-full:
  • 📈 ฐานข้อมูลทั้งหมด: 22
  • 📋 ตารางทั้งหมด: 244
  • 🔢 คอลัมน์ทั้งหมด: 2011
  • 📈 เฉลี่ยแถวต่อหนึ่งตาราง: 1,121.19
  • 💾 ขนาดรวม: 272.00 MB (โดยประมาณ)

📦 รายละเอียดชุดข้อมูล

คำอธิบายชุดข้อมูล

  • ฐานข้อมูล: สามารถดาวน์โหลดฐานข้อมูล PostgreSQL ฉบับสมบูรณ์ได้จาก bird-interact-lite และ bird-interact-full
  • ข้อมูล: แต่ละตัวอย่างข้อมูลจะประกอบด้วยส่วนหลักดังต่อไปนี้:
  • selected_database: ชื่อฐานข้อมูล
  • query: คำค้นหาของผู้ใช้ที่ชัดเจน
  • amb_user_query: คำค้นหาของผู้ใช้ที่มีการแทรกความคลุมเครือ
  • user_query_ambiguity: ความคลุมเครือที่ถูกแทรกในคำค้นหาของผู้ใช้
  • non_critical_ambiguity: ความคลุมเครือที่ไม่สำคัญ เช่น การจัดเรียง, การจำกัดจำนวน ฯลฯ
  • knowledge_ambiguity: ความคลุมเครือที่เกิดจากความรู้ภายนอกที่ถูกปิดบัง
  • sol_sql: SQL คำตอบที่เป็นความจริงพื้นฐาน
  • preprocess_sql: คำสั่ง SQL ที่ต้องรันก่อนดำเนินการแก้ปัญหาหรือทำนาย
  • clean_up_sql: คำสั่ง SQL ที่ต้องรันหลังจากทดสอบเพื่อย้อนการเปลี่ยนแปลงในฐานข้อมูล
  • test_cases: ชุดกรณีทดสอบเพื่อยืนยันความถูกต้องของ SQL ที่ทำนายแก้ไข
  • follow_up: คำถามติดตามที่ได้ระบุไว้
  • external_knowledge: ความรู้ภายนอกที่เกี่ยวข้องกับภารกิจเฉพาะ
  • การประเมินผล: โค้ดสำหรับประเมินผลมีให้ในไดเรกทอรี ./evaluation
  • คัดสรรโดย: ทีม BIRD & Google Cloud
  • สัญญาอนุญาต: cc-by-sa-4.0
  • HuggingFace Dataset Card: bird-interact-lite
และ bird-interact-full

การใช้งานชุดข้อมูล

เพื่อหลีกเลี่ยงการรั่วไหลของข้อมูลโดยการรวบรวมอัตโนมัติ เราจะไม่รวม sql ของคำตอบ GT และกรณีทดสอบพร้อมกับข้อมูล กรุณาอีเมลไปที่ bird.bench25@gmail.com พร้อมแท็กหัวข้อว่า [bird-interact-lite GT&Test Cases] หรือ [bird-interact-full GT&Test Cases] สำหรับรับ ground truth และกรณีทดสอบของชุดข้อมูล bird-interact-lite หรือ bird-interact-full ซึ่งจะถูกส่งให้อัตโนมัติ

การรวมข้อมูลสาธารณะกับ ground truth และกรณีทดสอบ

จากนั้นใช้สคริปต์ต่อไปนี้เพื่อรวมข้อมูลสาธารณะกับ ground truth และกรณีทดสอบ:

ขอยกตัวอย่างเวอร์ชันเต็ม: (1) รัน:

bash python combine_public_with_gt.py /path/to/bird-interact-full/bird_interact_data.jsonl /path/to/bird_interact_full_gt_kg_testcases_08022.jsonl /path/to/bird_interact_data.jsonl # bird_interact_full_gt_kg_testcases_08022.jsonl is the data of ground-truth fields, which is obtained by emailing us.
สิ่งนี้จะสร้างไฟล์ใหม่ที่ /path/to/bird_interact_data.jsonl ซึ่งมีข้อมูลที่รวมไว้แล้ว

(2) จากนั้นแทนที่ข้อมูลสาธารณะเดิมด้วยข้อมูลที่รวมแล้ว:

bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonl

เช่นเดียวกันกับเวอร์ชันอื่น ๆ: bird-interact-lite, เวอร์ชัน mini ฯลฯ เพียงแค่ตั้งค่า path สำหรับข้อมูลสาธารณะ, ข้อมูล ground truth และ test cases ให้ถูกต้อง แล้วจึงแทนที่ข้อมูลสาธารณะด้วยข้อมูลที่รวมกันไว้