BIRD-INTERACT 1.0

⚠️ घोषणा
कृपया ध्यान दें कि आपके मूल्यांकन प्रक्रिया से पहले, जब Docker डेटाबेस लोड करता है, तो पर्यावरण असंगति के कारण कभी-कभी त्रुटियाँ आ सकती हैं (ये प्रक्रिया को समाप्त नहीं करेंगी, लेकिन Docker लॉग्स में दिखाई देंगी)। इसके परिणामस्वरूप कुछ डेटाबेस सही तरीके से लोड नहीं हो सकते हैं, जिससे खाली डेटाबेस रह सकते हैं। यह मूल्यांकन के परिणामों को असामान्य रूप से कम कर सकता है। 👉 इसलिए, हम दृढ़ता से अनुशंसा करते हैं कि मूल्यांकन चलाने से पहले Docker लॉग्स में किसी भी त्रुटि की जाँच करें और यह सत्यापित करें कि सभी डेटाबेस सफलतापूर्वक लोड हो गए हैं।👉 हमने सबमिशन दिशानिर्देश अपडेट किए हैं, जहाँ कस्टमाइज़्ड एजेंट स्कैफोल्ड्स का समर्थन किया गया है। कृपया हमारे विस्तृत सबमिशन दिशानिर्देशों को यहाँ देखें।
📰 समाचार
- [2025-11-06] 🐛 बग फिक्स & 🐳 Docker अपडेट: sqlglot संस्करण को 26.16.4 में अपडेट किया गया है ताकि उपयोगकर्ता सिम्युलेटर के लिए SQL पार्सर द्वारा SQL को सही तरीके से पार्स न कर पाने वाली बग को ठीक किया जा सके। आप इसे
bird_interact_evalएन्व मेंpip install sqlglot==26.16.4से पुनः इंस्टॉल करके ठीक कर सकते हैं।bird_interact_evalइमेज भी अपडेट कर दी गई है, तो आप इसे भी पुल करकेbird_interact_evalकंटेनर को पुनः बना सकते हैं। - [2025-10-21] 🐳 Docker अपडेट: हमने Full DB Env के लिए docker जोड़ दिया है। और हमने 3 docker इमेज (Base/Full DB Env और दोनों
a-Interactतथाc-Interactके लिए मूल्यांकन वातावरण) Docker Hub पर अपलोड की हैं ताकि वातावरण सेटअप आसान हो सके। अब DB डंप डाउनलोड करने और इमेज को मैन्युअली बनाने की आवश्यकता नहीं है! - [2025-10-08] 📝 हमारा Bird-Interact पेपर अब सार्वजनिक रूप से उपलब्ध है!
- [2025-08-26] 🚀 हमें BIRD-Interact-Full (600) सेट के रिलीज की घोषणा करते हुए खुशी हो रही है!
c-interact और a-interact हिस्सों में केवल 10.0% है।
👉 अधिक जानकारी के लिए कृपया हमारी परियोजना वेबसाइट देखें।- [2025-08-26] 📬 हम इस सप्ताह अपने मेलिंग लिस्ट पर ग्राउंड ट्रुथ और टेस्ट केस भेजेंगे।
- [2025-08-26] 💾 एक और सूचना के रूप में, हमने स्थानीय अनुसंधान को आसान बनाने के लिए LiveSQLBench-Lite का SQLite संस्करण भी जारी किया है।
- [2025-08-22] बग सुधार: Bird-Interact-Agent कोड में, हमने एक बग को ठीक किया है जिसमें phase-2 SQL का मूल्यांकन करते समय, संग्रहित phase-1 SQL सफलतापूर्वक निष्पादित नहीं हो सकता था, जिससे Phase-2 की सफलता दर कम हो जाती थी। यह बग केवल उन कार्यों को प्रभावित करता है जहाँ phase1 sql डेटाबेस पर कुछ क्रियाएँ करता है, जैसे CREATE table आदि।
🧸 अवलोकन
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 जारी कर रहे हैं, जिसमें PostgreSQL के लिए विशेष रूप से 270 उच्च गुणवत्ता वाले वास्तविक कार्य शामिल हैं। यह त्वरित प्रयोग के लिए एक अच्छा प्रारंभिक बिंदु है।
🦜 पूर्ण संस्करण
BIRD-INTERACT का पूर्ण संस्करण bird-interact-full एक व्यापक बेंचमार्क है जिसमें PostgreSQL के लिए 600 कार्य शामिल हैं। यह SQL ऑपरेशन और यूजर क्वेरी की विस्तृत श्रृंखला को कवर करता है। पूर्ण संस्करण जल्द ही आ रहा है।
BIRD-INTERACT-FULL पर मॉडल प्रदर्शन परिणाम
#### 1. c-Interact टेक्स्ट-टू-SQL प्रदर्शन | रैंक | मॉडल नाम | सामान्यीकृत इनाम | औसत लागत (USD)/कार्य | स्तर | |:----:|:-------------------|:-----------------:|:-------------------:|:------------------:| | 1 | Gemini-2.5-Pro | 20.92 | $0.04 | 🏆 उत्कृष्ट चैट |
| 2 | O3-मिनी | 20.27 | $0.07 | 🏆 उत्कृष्ट चैट | | 3 | क्लॉड-सोनेट-4 | 18.35 | $0.29 | 💎 अच्छा चैट | | 4 | क्वेन-3-कोडर-480B | 17.75 | $0.11 | 💎 अच्छा चैट | | 5 | डीपसीक-चैट-V3.1 | 15.15 | $0.12 | ✨ सामान्य | | 6 | क्लॉड-सोनेट-3.7 | 13.87 | $0.29 | ✨ सामान्य | | 7 | GPT-5 | 12.58 | $0.08 | ⚪ बेसिक |
#### 2. a-Interact Text-to-SQL प्रदर्शन | रैंक | मॉडल नाम | सामान्यीकृत रिवॉर्ड | औसत लागत (USD)/कार्य | स्तर | |:----:|:-------------------|:-------------------:|:---------------------:|:--------------------------:| | 1 | GPT-5 | 25.52 | $0.24 | 🏆 उत्कृष्ट इंटरैक्शन | | 2 | क्लॉड-सोनेट-4 | 23.28 | $0.51 | 🏆 उत्कृष्ट इंटरैक्शन | | 3 | क्लॉड-सोनेट-3.7 | 17.45 | $0.60 | 💎 अच्छा इंटरैक्शन | | 4 | जेमिनी-2.5-प्रो | 17.33 | $0.22 | 💎 अच्छा इंटरैक्शन | | 5 | O3-मिनी | 16.43 | $0.06 | ✨ सामान्य | | 6 | डीपसीक-चैट-V3.1 | 13.47 | $0.06 | ✨ सामान्य | | 7 | क्वेन-3-कोडर-480B | 10.58 | $0.07 | ⚪ बेसिक |
\ बजट पैरामीटर: प्रारंभिक बजट/यूज़र धैर्य बजट, जिसे हमारी वर्चुअल मुद्रा बर्ड-कॉइन*sद्वारा मापा जाता है। अधिक जानकारी के लिए देखें 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: bird-interact-lite के लिए PostgreSQL डाटाबेस
bird_interact_postgresql_full: bird-interact-full के लिए PostgreSQL डाटाबेस
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:" लॉग फ़ाइलों में मुद्रित किया जाएगा।- जाँचें कि डेटाबेस कंटेनर अच्छी स्थिति में हैं।
हमारे द्वारा प्रदान की गई 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 से डाउनलोड किया जा सकता है।
- 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 समाधान SQLs और टेस्ट केस को डेटा के साथ शामिल नहीं करते हैं।
कृपया ग्राउंड ट्रुथ और टेस्ट केस के लिए 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, मिनी संस्करण, आदि। बस सार्वजनिक डेटा और ग्राउंड ट्रुथ तथा टेस्ट केस के लिए सही पथ सेट करें, और फिर सार्वजनिक डेटा को संयुक्त डेटा से बदल दें।
द्वारा मापा जाता है। अधिक जानकारी के लिए देखें