Web Analytics

BIRD-Interact

⭐ 453 stars Persian by bird-bench

🌐 زبان

BIRD-INTERACT 1.0 HKU Logo Google Cloud Logo

License Leaderboard HuggingFace Python OpenAI

⚠️ اطلاعیه

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

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

📰 اخبار

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

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

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

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

🧸 مرور کلی

BIRD-INTERACT، یک بنچمارک تعاملی متن به SQL است که ارزیابی Text-to-SQL را از منظر تعاملات پویا بازآفرینی می‌کند. این محیط با ترکیب یک پایگاه دانش سلسله‌مراتبی، مستندات پایگاه داده و شبیه‌ساز کاربر مبتنی بر عملکرد، محیط‌های واقعی سازمانی را در عملیات کامل CRUD بازسازی می‌کند. دو حالت تست سختگیرانه ارائه می‌دهد: (1) تعامل مکالمه‌ای غیرفعال و (2) تعامل عاملانه فعال، شامل 600 وظیفه حاشیه‌نویسی شده مانند هوش تجاری (BI)، عملیات CRUD و غیره، که هر کدام با موارد تست اجرایی محافظت می‌شوند. ارزیابی‌های معمول بین 1,968 تا 5,496 نوبت تعامل بین مدل و شبیه‌ساز کاربر را ایجاد می‌کنند، در حالی که مدل‌های استنتاج پیشرفته فعلاً فقط ≈24% و ≈18% وظایف را حل می‌کنند که چالش‌برانگیز بودن این بنچمارک را نشان می‌دهد.

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

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 | 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 | رتبه | نام مدل | پاداش نرمال‌شده | هزینه متوسط (دلار)/وظیفه | سطح | |:----:|:-------------------|:-------------------:|:-------------------------:|:-------------------------:| | 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* سنجیده می‌شود . برای جزئیات بیشتر به 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

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

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