Web Analytics

BIRD-Interact

⭐ 678 stars Arabic by bird-bench

🌐 اللغة

BIRD-INTERACT 1.0 شعار جامعة هونغ كونغ شعار جوجل كلاود

License Leaderboard HuggingFace Python OpenAI

⚠️ إعلان

يرجى الملاحظة أنه قبل عملية التقييم الخاصة بك، عند قيام Docker بتحميل قواعد البيانات، قد تحدث أخطاء أحيانًا بسبب عدم اتساق البيئة (هذه الأخطاء لن تؤدي إلى إنهاء العملية ولكن ستظهر في سجلات Docker). ونتيجة لذلك، قد تفشل بعض قواعد البيانات في التحميل بشكل صحيح، مما يؤدي إلى قواعد بيانات فارغة. سيؤدي ذلك إلى نتائج تقييم منخفضة بشكل غير طبيعي. 👉 لذلك، نوصي بشدة بفحص سجلات Docker لأي أخطاء قبل تشغيل التقييم والتأكد من أنه تم تحميل جميع قواعد البيانات بنجاح.

👉 لقد قمنا بتحديث إرشادات التقديم، حيث أصبح دعم هياكل العوامل المخصصة متاحًا. لا تتردد في الاطلاع على إرشادات التقديم التفصيلية من هنا.

📰 الأخبار

تقدم جميع التفاصيل والمنهجية والتقييم لمعيار تحويل النص إلى SQL التفاعلي الخاص بنا. 👉 اطلع عليها وتعرف أكثر على الأفكار وراء BIRD-Interact.

إنها مجموعة صعبة — حيث تحقق أفضل نماذج LLM فقط نسبة نجاح 16.33%، مع 10.0% فقط على جزئي c-interact و a-interact. 👉 لمزيد من التفاصيل، يرجى زيارة الموقع الرسمي للمشروع.

إذا كنت ترغب في الوصول المبكر، يرجى إرسال بريد إلكتروني كما هو موضح في الموقع للحصول على تنزيل تلقائي.

الإصدارات الكاملة من LiveSQLBench-Base و -Large ستتوفر قريبًا!

🧸 نظرة عامة

BIRD-INTERACT هو معيار تفاعلي لتحويل النص إلى SQL، يعيد تصور تقييم النص إلى SQL من خلال عدسة التفاعلات الديناميكية. يمزج هذا النظام بين قاعدة معرفة هرمية، وتوثيق قاعدة البيانات، ومحاكي مستخدم قائم على الوظائف لإعادة إنشاء بيئات شركات حقيقية عبر جميع عمليات CRUD. يوفر وضعين اختبار صارمين: (1) تفاعل محادثي سلبي و(2) تفاعل وكيل نشط، ويشمل 600 مهمة مشروحة بما في ذلك استخبارات الأعمال (BI) وعمليات CRUD وغيرها، كل منها محمية بحالات اختبار قابلة للتنفيذ. عادةً ما تتسبب التقييمات النموذجية في حدوث 1,968-5,496 دورة تفاعل بين النموذج ومحاكي المستخدم، بينما تحل النماذج المتقدمة حاليًا فقط ≈24% و ≈18% من المهام، مما يبرز تحدي هذا المعيار.

✅ وضعا التقييم

يدعم BIRD-INTERACT وضعي تقييم كما ذُكر أعلاه:

🐣 النسخة الخفيفة

نقوم بإصدار نسخة خفيفة من 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* . راجع bird_interact_agent/README.md لمزيد من التفاصيل.

مقياس وقت التفاعل (ITS)

مقياس وقت التفاعل (ITS) يشير إلى قدرة النموذج على زيادة أدائه النهائي بشكل مستمر من خلال التفاعلات متعددة الجولات. عندما يتجاوز هذا الأداء التفاعلي أداء النموذج المثالي في مهمة محددة بالكامل وغير غامضة في جولة واحدة، نقول إنه يحقق قانون ITS. مع زيادة صبر المستخدم وتراكم جولات التفاعل، يستمر الأداء في التحسن، مما يوضح أن النموذج يمكنه الحفاظ على التواصل الفعّال عبر حوار طويل. حالياً، نجد فقط claude-3-7-sonnet يحقق قانون ITS.

إعداد البيئة

> إذا أردت فقط التقييم على 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 لـ PostgreSQL؛ و mini-interact لـ SQLite.

استخدامات مجموعة البيانات

لتجنب تسرب البيانات عن طريق الزحف التلقائي، لا نقوم بتضمين حلول 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.
سيؤدي هذا إلى إنشاء ملف جديد في المسار /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، النسخة المصغرة، وما إلى ذلك. فقط قم بتعيين المسارات الصحيحة للبيانات العامة وبيانات الحقيقة الأرضية وحالات الاختبار، ثم استبدل البيانات العامة بالبيانات المجمعة.