BIRD-INTERACT 1.0

⚠️ إعلان
يرجى ملاحظة أنه قبل بدء عملية التقييم، قد تظهر أخطاء أحيانًا أثناء تحميل Docker لقواعد البيانات بسبب عدم توافق البيئة (هذه الأخطاء لن توقف العملية لكنها ستظهر في سجلات Docker). ونتيجة لذلك، قد تفشل بعض قواعد البيانات في التحميل بشكل صحيح، مما يؤدي إلى قواعد بيانات فارغة. هذا سيؤدي إلى نتائج تقييم منخفضة بشكل غير طبيعي. 👉 لذلك، نوصي بشدة بفحص سجلات Docker لأي أخطاء قبل تشغيل التقييم والتأكد من أنه تم تحميل جميع قواعد البيانات بنجاح.👉 قمنا بتحديث إرشادات التقديم، حيث أصبح من الممكن دعم هياكل الوكلاء المخصصة. لا تتردد في الاطلاع على إرشادات التقديم المفصلة الخاصة بنا هنا.
📰 الأخبار
- [2026-02-08] 🔥🔥🔥 تم قبول ورقتنا البحثية Bird-Interact في ICLR 2026 (عرض شفهي)! نراكم في ريو 🇧🇷!
- [2025-11-06] 🐛 إصلاح خطأ و 🐳 تحديث Docker: تم تحديث إصدار sqlglot إلى 26.16.4 لإصلاح خطأ عدم قدرة محلل SQL على تحليل SQL بشكل صحيح لمحاكي المستخدم. يمكنك إصلاح ذلك بإعادة تثبيته عبر الأمر
pip install sqlglot==26.16.4في بيئةbird_interact_eval. كما تم تحديث صورةbird_interact_eval، بحيث يمكنك سحبها وإعادة إنشاء الحاويةbird_interact_eval. - [2025-10-21] 🐳 تحديث Docker: أضفنا Docker لبيئة قاعدة البيانات الكاملة. ودفعنا 3 صور Docker (الأساسية/بيئة قاعدة البيانات الكاملة وبيئة التقييم لكل من
a-Interactوc-Interact) إلى Docker Hub لتسهيل إعداد البيئة. لا حاجة لتحميل ملفات تفريغ قواعد البيانات أو بناء الصور يدويًا! - [2025-10-08] 📝 أصبحت ورقتنا البحثية Bird-Interact متاحة الآن للجميع!
- [2025-08-26] 🚀 يسعدنا الإعلان عن إصدار BIRD-Interact-Full (600)!
c-interact و a-interact.
👉 لمزيد من التفاصيل، يرجى زيارة موقع المشروع.- [2025-08-26] 📬 سنقوم هذا الأسبوع بإرسال البيانات المرجعية وحالات الاختبار إلى قائمتنا البريدية.
- [2025-08-26] 💾 في سياق آخر، أصدرنا أيضًا إصدار SQLite من LiveSQLBench-Lite لتسهيل البحث المحلي.
- [2025-08-22] إصلاح خطأ: في كود Bird-Interact-Agent، أصلحنا خطأً كان يمنع تنفيذ SQL المرحلة الثانية بنجاح إذا لم يكن بالإمكان تنفيذ SQL المرحلة الأولى المخزنة، مما أدى لانخفاض معدل نجاح المرحلة الثانية. يؤثر هذا الخطأ فقط على المهام التي تقوم فيها SQL المرحلة الأولى بعمليات على قاعدة البيانات، مثل إنشاء جدول وما إلى ذلك.
🧸 نظرة عامة
BIRD-INTERACT هو معيار تفاعلي لتحويل النص إلى SQL، يعيد تصور تقييم Text-to-SQL من خلال عدسة التفاعلات الديناميكية. يمزج هذا النظام بين قاعدة معرفة هرمية، وتوثيق قاعدة البيانات، ومحاكي مستخدم قائم على الوظائف لإعادة إنشاء بيئات مؤسساتية واقعية تشمل جميع عمليات CRUD. يوفر وضعين اختباريين صارمين: (1) تفاعل محادثي سلبي و (2) تفاعل وكيل نشط، ويشمل 600 مهمة مشروحة تتضمن استخبارات الأعمال (BI)، وعمليات CRUD وغيرها، كل منها محمي بحالات اختبار قابلة للتنفيذ. عادةً ما تُحفز عمليات التقييم بين 1,968 و 5,496 دورة تفاعل بين النموذج ومحاكي المستخدم، بينما تحل نماذج الاستدلال المتقدمة حاليًا فقط ≈24% و ≈18% من المهام، مما يبرز تحدي هذا المعيار.
✅ وضعا التقييم
يدعم BIRD-INTERACT وضعي تقييم كما ذكر أعلاه:
- c-Interact: التفاعل المحادثي، وهو وضع سلبي وسير العمل فيه ثابت. يمكن العثور على الكود والمعلومات التفصيلية في
bird_interact_conv. - a-Interact: التفاعل الوكيلي، وهو وضع نشط متجسد حيث يكون سير العمل ديناميكيًا ويقوده النماذج. يمكن العثور على الكود والمعلومات التفصيلية في
bird_interact_agent.
🐣 النسخة الخفيفة
نصدر نسخة خفيفة من BIRD-INTERACT، تحت اسم bird-interact-lite-exp، والتي تتضمن 270 مهمة واقعية عالية الجودة مخصصة لـ PostgreSQL. وهي نقطة انطلاق جيدة للتجارب السريعة.
🦜 النسخة الكاملة
النسخة الكاملة من BIRD-INTERACT، تحت اسم bird-interact-full، هي معيار شامل يشمل 600 مهمة لـ 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*s. راجع bird_interact_agent/README.md لمزيد من التفاصيل.
مقياس وقت التفاعل (ITS)
يشير مقياس وقت التفاعل (ITS) إلى قدرة النموذج على زيادة أدائه النهائي باستمرار من خلال تفاعلات متعددة الأدوار. عندما يتجاوز هذا الأداء التفاعلي الأداء المثالي للنموذج في مهمة محددة وواضحة من دورة واحدة، نقول أنه يحقق قانون ITS. مع زيادة صبر المستخدم وتراكم أدوار التفاعل، يستمر الأداء في التحسن، مما يدل على أن النموذج قادر على الحفاظ على تواصل فعال عبر حوار ممتد. حالياً، وجدنا فقط أن claude-3-7-sonnet يحقق قانون ITS.
إعداد البيئة
- قم بتشغيل حاويات Docker لقواعد بيانات bird-interact-lite و bird-interact-full وبيئة التقييم:
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.
`
يقوم هذا بتشغيل 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
`- (موصى به) تحقق من أن حاويات قواعد البيانات قد تم بناؤها وتعمل بنجاح.
- اطبع سجلات بناء الحاوية للتأكد من أن قواعد البيانات قد تم بناؤها بنجاح بدون أخطاء:
`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
`
إذا حدثت أخطاء، ستتم طباعة "Errors occurred during import:" في ملفات السجل.- تحقق مما إذا كانت حاويات قاعدة البيانات في حالة جيدة.
استخدم برنامج البايثون الذي قدمناه للتحقق من بيانات التعريف لقاعدة البيانات:
`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 ميغابايت (تقريباً)
- bird-interact-full:
- 📈 إجمالي قواعد البيانات: 22
- 📋 إجمالي الجداول: 244
- 🔢 إجمالي الأعمدة: 2011
- 📈 متوسط الصفوف لكل جدول: 1,121.19
- 💾 الحجم الكلي: 272.00 ميغابايت (تقريباً)
📦 تفاصيل مجموعة البيانات
وصف مجموعة البيانات
- قاعدة البيانات: يمكن تنزيل قاعدة بيانات 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: bird-interact-lite
و bird-interact-full
استخدامات مجموعة البيانات
لتجنب تسرب البيانات عن طريق الزحف التلقائي، لا نقوم بتضمين حلول GT و حالات الاختبار مع البيانات.
يرجى إرسال بريد إلكتروني إلى bird.bench25@gmail.com مع الوسم
[bird-interact-lite GT&Test Cases] أو [bird-interact-full GT&Test Cases] في العنوان للحصول على الحلول الحقيقية وحالات الاختبار لمجموعة بيانات bird-interact-lite أو bird-interact-full، والتي سيتم إرسالها تلقائيًا.دمج البيانات العامة مع الحلول الحقيقية وحالات الاختبار
ثم استخدم البرنامج النصي التالي لدمج البيانات العامة مع الحلول الحقيقية وحالات الاختبار:
خذ النسخة الكاملة كمثال:
(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.
bash cp /path/to/bird_interact_data.jsonl /path/to/bird-interact-full/bird_interact_data.jsonlسيؤدي هذا إلى إنشاء ملف جديد في المسار/path/to/bird_interact_data.jsonlيحتوي على البيانات المجمعة.(2) ثم استبدل البيانات العامة الأصلية بالبيانات المجمعة:
نفس الشيء بالنسبة للإصدارات الأخرى: bird-interact-lite، النسخة المصغرة، وما إلى ذلك. فقط قم بتعيين المسارات الصحيحة للبيانات العامة وبيانات الحقيقة الأرضية وحالات الاختبار، ثم استبدل البيانات العامة بالبيانات المجمعة.
. راجع