Web Analytics

BIRD-Interact

⭐ 678 stars Persian by bird-bench

🌐 زبان

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

License Leaderboard HuggingFace Python OpenAI

⚠️ اطلاعیه

لطفاً توجه داشته باشید که قبل از فرآیند ارزیابی، هنگام بارگذاری پایگاه‌های داده توسط Docker، ممکن است گاهی به دلیل ناسازگاری محیط خطاهایی رخ دهد (این خطاها فرآیند را متوقف نمی‌کنند اما در لاگ‌های Docker نمایش داده می‌شوند). در نتیجه، برخی پایگاه‌های داده ممکن است به درستی بارگذاری نشوند و پایگاه‌های داده خالی ایجاد شود. این موضوع باعث خواهد شد نتایج ارزیابی به طور غیرعادی پایین باشد. 👉 بنابراین، اکیداً توصیه می‌کنیم پیش از اجرای ارزیابی، لاگ‌های Docker را از نظر وجود خطا بررسی کرده و اطمینان حاصل کنید که همه پایگاه‌های داده با موفقیت بارگذاری شده‌اند.

👉 ما راهنمای ارسال را به‌روزرسانی کرده‌ایم که در آن اسکافولدهای عامل سفارشی نیز پشتیبانی می‌شوند. لطفاً برای مشاهده جزئیات راهنمای ارسال ما اینجا را ببینید.

📰 اخبار

این مقاله جزئیات کامل، روش‌شناسی و ارزیابی معیار تعاملی متن به SQL ما را ارائه می‌دهد. 👉 مشاهده کنید و با ایده‌های پشت BIRD-Interact بیشتر آشنا شوید.

این مجموعه چالش‌برانگیز است — بهترین مدل‌های زبانی تنها به نرخ موفقیت ۱۶٫۳۳٪ و فقط ۱۰٫۰٪ در بخش‌های c-interact و a-interact رسیده‌اند. 👉 برای جزئیات بیشتر، لطفاً به وبسایت پروژه ما مراجعه کنید.

اگر دسترسی زودهنگام می‌خواهید، لطفاً طبق دستورالعمل سایت ایمیل ارسال کنید تا دانلود خودکار برای شما فعال شود.

نسخه‌های کامل LiveSQLBench-Base و -Large به زودی منتشر خواهند شد!

🧸 نمای کلی

BIRD-INTERACT، یک بنچمارک تعاملی text-to-SQL است که ارزیابی Text-to-SQL را از دریچه تعاملات پویا بازآفرینی می‌کند. این محیط، یک پایگاه دانش سلسله‌مراتبی، مستندات پایگاه داده و یک شبیه‌ساز کاربر مبتنی بر عملکرد را ترکیب می‌کند تا محیط‌های سازمانی واقعی را برای انجام کامل عملیات CRUD بازسازی کند. دو حالت آزمایشی سخت‌گیرانه ارائه می‌دهد: (1) تعامل مکالمه‌ای منفعل و (2) تعامل عاملی فعال، که شامل ۶۰۰ تسک حاشیه‌نویسی‌شده از جمله هوش تجاری (BI)، عملیات CRUD و غیره است و هرکدام با موارد تست قابل اجرا محافظت می‌شوند. ارزیابی‌های معمول بین ۱۹۶۸ تا ۵۴۹۶ دور تعامل بین مدل و شبیه‌ساز کاربر ایجاد می‌کند، در حالی که مدل‌های استدلال پیشرفته فعلی فقط ≈۲۴٪ و ≈۱۸٪ از تسک‌ها را حل می‌کنند که دشواری این بنچمارک را نشان می‌دهد.

✅ دو حالت ارزیابی

BIRD-INTERACT دو حالت ارزیابی زیر را پشتیبانی می‌کند:

🐣 نسخه سبک

ما نسخه سبک BIRD-INTERACT به نام bird-interact-lite-exp را منتشر کرده‌ایم که شامل ۲۷۰ تسک واقعی با کیفیت بالا ویژه PostgreSQL است. این نسخه برای آزمایش سریع نقطه شروع مناسبی است.

🦜 نسخه کامل

نسخه کامل BIRD-INTERACT با نام bird-interact-full یک بنچمارک جامع است که شامل ۶۰۰ تسک برای PostgreSQL می‌باشد. این نسخه دامنه گسترده‌ای از عملیات SQL و پرسش‌های کاربری را پوشش می‌دهد. نسخه کامل به‌زودی منتشر خواهد شد.

نتایج عملکرد مدل‌ها بر روی BIRD-INTERACT-FULL

#### 1. عملکرد c-Interact Text-to-SQL | رتبه | نام مدل | پاداش نرمال‌شده | هزینه متوسط (دلار)/وظیفه | سطح | |:----:|:-------------------|:--------------------:|:-------------------------:|:-------------------:| | 1 | Gemini-2.5-Pro | ۲۰.۹۲ | $۰.۰۴ | 🏆 چت عالی | | 2 | O3-Mini | ۲۰.۲۷ | $۰.۰۷ | 🏆 چت عالی | | 3 | Claude-Sonnet-4 | ۱۸.۳۵ | $۰.۲۹ | 💎 چت خوب | | 4 | Qwen-3-Coder-480B | ۱۷.۷۵ | $۰.۱۱ | 💎 چت خوب | | 5 | Deepseek-Chat-V3.1 | ۱۵.۱۵ | $۰.۱۲ | ✨ استاندارد | | 6 | Claude-Sonnet-3.7 | ۱۳.۸۷ | $۰.۲۹ | ✨ استاندارد | | 7 | GPT-5 | ۱۲.۵۸ | $۰.۰۸ | ⚪ پایه‌ای |

#### 2. عملکرد a-Interact Text-to-SQL | رتبه | نام مدل | پاداش نرمال‌شده | هزینه متوسط (دلار)/وظیفه | سطح | |:----:|:-------------------|:--------------------:|:-------------------------:|:--------------------------:| | 1 | GPT-5 | ۲۵.۵۲ | $۰.۲۴ | 🏆 تعامل عالی | | 2 | Claude-Sonnet-4 | ۲۳.۲۸ | $۰.۵۱ | 🏆 تعامل عالی | | 3 | Claude-Sonnet-3.7 | ۱۷.۴۵ | $۰.۶۰ | 💎 تعامل خوب | | 4 | Gemini-2.5-Pro | ۱۷.۳۳ | $۰.۲۲ | 💎 تعامل خوب | | 5 | O3-Mini | ۱۶.۴۳ | $۰.۰۶ | ✨ استاندارد | | 6 | Deepseek-Chat-V3.1 | ۱۳.۴۷ | $۰.۰۶ | ✨ استاندارد | | 7 | Qwen-3-Coder-480B | ۱۰.۵۸ | $۰.۰۷ | ⚪ پایه‌ای |

\ پارامترهای بودجه: بودجه شروع/بودجه صبر کاربر، با واحد ارز مجازی bird-coin* اندازه‌گیری شده است. برای اطلاعات بیشتر به bird_interact_agent/README.md مراجعه کنید.

مقیاس‌گذاری زمان تعامل (ITS)

مقیاس‌گذاری زمان تعامل (ITS) به توانایی یک مدل برای افزایش مداوم عملکرد نهایی خود در تعاملات چندمرحله‌ای اشاره دارد. وقتی این عملکرد تعاملی از عملکرد ایده‌آل مدل در یک وظیفه کاملاً مشخص و بدون ابهام فراتر رود، می‌گوییم مدل از قانون ITS پیروی می‌کند. با افزایش صبر کاربر و تعداد نوبت‌های تعامل، عملکرد بهبود می‌یابد و نشان می‌دهد مدل می‌تواند ارتباط مؤثر را در گفتگوی طولانی حفظ کند. در حال حاضر، تنها claude-3-7-sonnet این قانون را رعایت می‌کند.

راه‌اندازی محیط

> اگر فقط می‌خواهید روی bird-interact-lite ارزیابی کنید، می‌توانید سرویس postgresql_full را در 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. ` این دستور ۳ کانتینر را با استفاده از ایمیج‌های آماده از 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 `

  • (توصیه می‌شود) بررسی کنید که کانتینرهای پایگاه داده با موفقیت ساخته و اجرا شده‌اند.
  • لاگ‌های ساخت کانتینر را چاپ کنید تا مطمئن شوید پایگاه‌های داده بدون خطا ساخته شده‌اند:
`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 ` اگر خطاهایی رخ دهند، "خطاها در هنگام وارد کردن رخ دادند:" در فایل‌های گزارش چاپ خواهد شد.

  • بررسی کنید که کانتینرهای پایگاه داده در وضعیت مناسبی باشند.
از اسکریپت پایتون ارائه شده توسط ما برای بررسی متادیتای پایگاه داده استفاده کنید:
`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:
  • 📈 تعداد کل پایگاه‌های داده: ۱۸
  • 📋 تعداد کل جداول: ۱۷۵
  • 🔢 تعداد کل ستون‌ها: ۲۲۸۶
  • 📈 میانگین تعداد ردیف در هر جدول: ۱٬۰۳۸.۴۸
  • 💾 حجم کل: ۲۰۷.۱۵ مگابایت (تقریبی)
  • bird-interact-full:
  • 📈 تعداد کل پایگاه‌های داده: ۲۲
  • 📋 تعداد کل جداول: ۲۴۴
  • 🔢 تعداد کل ستون‌ها: ۲۰۱۱
  • 📈 میانگین تعداد ردیف در هر جدول: ۱٬۱۲۱.۱۹
  • 💾 حجم کل: ۲۷۲.۰۰ مگابایت (تقریبی)

📦 جزئیات مجموعه داده

توضیحات مجموعه داده

  • پایگاه داده: پایگاه داده کامل PostgreSQL را می‌توان از bird-interact-lite و bird-interact-full دانلود کرد.
  • data: هر نمونه داده شامل بخش‌های اصلی زیر است:
  • 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: bird-interact-lite
و bird-interact-full برای PostgreSQL؛ و mini-interact برای SQLite.

موارد استفاده از دیتاست

برای جلوگیری از نشت داده‌ها از طریق خزیدن خودکار، راه‌حل‌های GT و موارد تست را همراه با داده‌ها قرار نمی‌دهیم. لطفاً برای دریافت داده‌های حقیقت پایه و موارد تست مربوط به دیتاست bird-interact-lite یا bird-interact-full، ایمیلی با عنوان [bird-interact-lite GT&Test Cases] یا [bird-interact-full GT&Test Cases] به آدرس bird.bench25@gmail.com ارسال نمایید تا اطلاعات به صورت خودکار برای شما ارسال گردد.

ترکیب داده‌های عمومی با حقیقت پایه و موارد تست

سپس از اسکریپت زیر برای ترکیب داده‌های عمومی با حقیقت پایه و موارد تست استفاده کنید:

نسخه کامل را به عنوان مثال در نظر بگیرید: (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، نسخه مینی و غیره. فقط مسیرهای صحیح را برای داده‌های عمومی، داده‌های حقیقت مبنا و داده‌های تست تنظیم کنید و سپس داده‌های عمومی را با داده‌های ترکیبی جایگزین نمایید.