paint-brush
प्रोडक्शन-ग्रेड टेक्स्ट2एसक्यूएल इंजन कैसे बनाएंद्वारा@datastax
1,386 रीडिंग
1,386 रीडिंग

प्रोडक्शन-ग्रेड टेक्स्ट2एसक्यूएल इंजन कैसे बनाएं

द्वारा DataStax11m2024/08/13
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

टेक्स्ट2एसक्यूएल में एलएलएम की भूमिका के बारे में जानें, इस क्षमता में निहित चुनौतियों पर चर्चा करें, तथा स्काईपॉइंट टीम के नए टेक्स्ट2एसक्यूएल इंजन, शेर्लोक्यू के बारे में जानें।
featured image - प्रोडक्शन-ग्रेड टेक्स्ट2एसक्यूएल इंजन कैसे बनाएं
DataStax HackerNoon profile picture

डेटाबेस के साथ बातचीत करने के लिए अक्सर तकनीकी विशेषज्ञता के एक स्तर की आवश्यकता होती है जो डेटा को बहुत से लोगों की आसान पहुंच से बाहर कर सकती है। एक वित्त कार्यकारी पर विचार करें जिसे कंपनी के वित्तीय आंकड़ों और रुझानों को समझने की आवश्यकता है। परंपरागत रूप से, इस कार्यकारी को डेटाबेस से आवश्यक डेटा निकालने के लिए SQL विश्लेषकों पर निर्भर रहना होगा। यह निर्भरता देरी और संचार अंतराल का कारण बन सकती है, खासकर अगर कार्यकारी को वांछित जानकारी प्राप्त करने के लिए कई बार अपने प्रश्नों को परिष्कृत करने की आवश्यकता होती है।


लेकिन text2SQL, एक ऐसी क्षमता जो प्राकृतिक भाषा को संरचित क्वेरी भाषा कथनों में परिवर्तित करती है, ने खेल को बदल दिया है। text2SQL के साथ, वित्त कार्यकारी सीधे प्राकृतिक भाषा का उपयोग करके डेटाबेस के साथ बातचीत कर सकता है। उदाहरण के लिए, कोई उपयोगकर्ता व्यवसाय से संबंधित प्रश्न इनपुट कर सकता है जैसे "पिछले महीने प्रत्येक ग्राहक के लिए औसत ऑर्डर मूल्य क्या था?"


टेक्स्ट-टू-एसक्यूएल एआई इंजन प्रश्न को संसाधित करेगा, और संबंधित एसक्यूएल क्वेरी उत्पन्न करेगा:


Select customer_id, AVG(order_value) AS average_order_value FROM orders WHERE order_date >= DATE_SUB(CURRDATE(), INTERVAL 1 MONTH) GROUP BY customer_id;


फिर इसे डेटाबेस पर निष्पादित करें और उपयोगकर्ता को परिणाम प्रदर्शित करें।


इस लेख में, हम text2SQL में LLM की भूमिका की व्याख्या करेंगे, इस क्षमता में निहित चुनौतियों पर चर्चा करेंगे, तथा Skypoint टीम द्वारा विकसित एक अत्यधिक सटीक और मजबूत text2SQL इंजन SherloQ का अन्वेषण करेंगे।

टेक्स्ट2एसक्यूएल में एलएलएम की भूमिका

बड़े भाषा मॉडल (LLM) की मदद से टेक्स्ट2SQL को बदलने की क्षमता में काफी सुधार हुआ है। ये मॉडल मानव जैसा टेक्स्ट समझने और बनाने के लिए बड़ी मात्रा में डेटा और शक्तिशाली न्यूरल नेटवर्क आर्किटेक्चर का उपयोग करते हैं। विविध डेटासेट पर प्रशिक्षण के द्वारा, LLM विभिन्न कार्यों में सामान्यीकरण कर सकते हैं, जिसमें प्राकृतिक भाषा का SQL क्वेरी में अनुवाद शामिल है।


उदाहरण के लिए, पेपर " लैंग्वेज मॉडल्स आर फ्यू-शॉट लर्नर्स " दर्शाता है कि कैसे एलएलएम न्यूनतम उदाहरणों के साथ कार्य कर सकते हैं, सीमित डेटा के साथ नए कार्यों के अनुकूल होने की उनकी क्षमता पर प्रकाश डालते हैं। यह दृष्टिकोण व्यापक कार्य-विशिष्ट डेटा की आवश्यकता को काफी कम कर देता है, जिससे विभिन्न अनुप्रयोगों में एलएलएम को तैनात करना आसान हो जाता है।


" स्पाइडर: जटिल और क्रॉस-डोमेन सिमेंटिक पार्सिंग और टेक्स्ट-टू-एसक्यूएल टास्क के लिए एक बड़े पैमाने पर मानव-लेबल वाला डेटासेट " विभिन्न डोमेन में जटिल SQL क्वेरी पर मॉडल के प्रशिक्षण और मूल्यांकन के लिए एक व्यापक डेटासेट प्रदान करता है। यह डेटासेट मॉडल प्रदर्शन के लिए एक मजबूत बेंचमार्क प्रदान करके टेक्स्ट2एसक्यूएल में अत्याधुनिक तकनीक को आगे बढ़ाने में महत्वपूर्ण रहा है।


इसके अतिरिक्त, " PALM: स्केलिंग लैंग्वेज मॉडलिंग विद पाथवेज " यह पता लगाता है कि कैसे उन्नत प्रशिक्षण तकनीकें, जैसे मॉडल आकार को बढ़ाना और प्रशिक्षण मार्गों को अनुकूलित करना, text2SQL सहित विभिन्न अनुप्रयोगों में मॉडल प्रदर्शन को बढ़ा सकती हैं।


जबकि ये एलएलएम नियंत्रित वातावरण में अत्यधिक प्रभावी हैं, वे अक्सर उत्पादन सेटिंग्स में चुनौतियों का सामना करते हैं। इनमें अस्पष्ट संकेतों को संभालना, जटिल डेटाबेस स्कीमा का प्रबंधन करना और वास्तविक समय का प्रदर्शन सुनिश्चित करना शामिल है। इसके अतिरिक्त, इन मॉडलों को मौजूदा सिस्टम में एकीकृत करने के लिए महत्वपूर्ण प्रयास और बदलते डेटा और उपयोगकर्ता आवश्यकताओं के अनुकूल होने के लिए निरंतर रखरखाव की आवश्यकता होती है। यहाँ तीन एलएलएम हैं जो इस कार्य के लिए अच्छी तरह से काम करते हैं:

एसक्यूएलकोडर

SQLcoder का मुख्य उद्देश्य प्राकृतिक भाषा इनपुट को SQL क्वेरीज़ में बदलना है। अन्य सामान्य-उद्देश्य मॉडल के विपरीत, SQLCoder को SQL के लिए विशिष्ट डेटा पर परिष्कृत किया गया है, इसलिए यह SQL क्वेरीज़ को समझने और उत्पन्न करने में विशेष रूप से प्रभावी है। SQLCoder स्पाइडर डेटासेट पर एक उल्लेखनीय प्रदर्शन प्रदर्शित करता है, जो टेक्स्ट2SQL सिस्टम के लिए एक जटिल और क्रॉस-डोमेन बेंचमार्क है।


SQLCoder 64.6% की सटीकता के साथ प्रशिक्षण में नहीं देखी गई नई स्कीमा के लिए सही SQL क्वेरी उत्पन्न करता है। यह GPT-3.5-turbo और text-davinci-003 से बेहतर प्रदर्शन करता है, जो इसके आकार से 10 गुना बड़े मॉडल हैं। यह SQLCoder की विविध और जटिल SQL क्वेरी को संभालने की क्षमता को उजागर करता है, जो उत्पादन वातावरण के लिए महत्वपूर्ण है।

जीपीटी 3.5/जीपीटी 4

GPT-3.5 और GPT-4 (जेनरेटिव प्री-ट्रेन्ड ट्रांसफॉर्मर) कुछ सबसे उन्नत और प्रभावी सामान्य-उद्देश्य भाषा मॉडल हैं। दोनों मॉडल कुछ ही शॉट में सीखने में उत्कृष्ट हैं, न्यूनतम उदाहरणों के साथ नए कार्यों के लिए जल्दी से अनुकूल होते हैं, जो सीमित इनपुट से SQL क्वेरी बनाने के लिए आदर्श है।


उदाहरण के लिए, जब स्पाइडर डेटासेट पर मूल्यांकन किया जाता है, तो GPT-3.5-टर्बो में प्रशिक्षण में नहीं देखी गई नवीन स्कीमाओं पर सही ढंग से उत्पन्न SQL क्वेरीज़ का प्रतिशत 60.6% होता है, जबकि GPT-4 74.3% प्राप्त करता है।


ये मॉडल मज़बूत प्रदर्शन प्रदर्शित करते हैं, खास तौर पर संदर्भ को समझने और जटिल प्राकृतिक भाषा इनपुट से सटीक SQL क्वेरी बनाने में। हालाँकि, उनके सामान्य-उद्देश्य डिज़ाइन को कभी-कभी SQL जनरेशन जैसे विशेष अनुप्रयोगों में इष्टतम परिणामों के लिए अतिरिक्त फ़ाइन-ट्यूनिंग की आवश्यकता होती है।

पाम एसक्यूएल

PaLM (पाथवेज लैंग्वेज मॉडल) SQL, Google द्वारा विकसित एक और शक्तिशाली मॉडल है। PaLM SQL की उन्नत क्षमताएं और आर्किटेक्चर इसे प्राकृतिक भाषा को SQL क्वेरी में अनुवाद करने और जटिल और विविध डेटाबेस स्कीमा को अधिक सटीकता के साथ संभालने में अत्यधिक कुशल बनाते हैं।


एलएलएम में प्रगति के बावजूद, उत्पादन में टेक्स्ट2एसक्यूएल के लिए एक एकल एलएलएम पर निर्भर रहना समस्याग्रस्त हो सकता है। एक एकल मॉडल किसी एंटरप्राइज़ डेटा वातावरण की विभिन्न प्रकार की क्वेरीज़, डेटाबेस स्कीमा और रीयल-टाइम विलंबता आवश्यकताओं को प्रभावी ढंग से संभालने में सक्षम नहीं होगा।


उत्पादन परिवेशों में मजबूती, अनुकूलनशीलता और वास्तविक दुनिया के व्यावसायिक उपयोगकर्ताओं से अस्पष्ट संकेतों से निपटने की क्षमता की आवश्यकता होती है। इसलिए, एक text2SQL इंजन को उत्पादन-ग्रेड माना जाने के लिए तीन गुण प्रदर्शित करने चाहिए:


विविध क्वेरी फॉर्मूलेशन को समझने की क्षमता - वाक्यविन्यास की दृष्टि से भिन्न उपयोगकर्ता प्रॉम्प्ट को एक ही SQL क्वेरी में परिवर्तित किया जा सकता है; एक अच्छे text2SQL इंजन को डेटा मॉडल के संदर्भ को ध्यान में रखते हुए, उपयोगकर्ता प्रॉम्प्ट के पीछे की प्रेरणा को समझने में सक्षम होना चाहिए, तथा उसके अनुसार SQL क्वेरी को तैयार करना चाहिए।


अस्पष्ट डाटाबेस स्कीमा और डाटा मॉडल के साथ काम करने की क्षमता - उत्पादन डाटा मॉडल अव्यवस्थित हो सकते हैं, क्योंकि संगठन के भीतर कई अलग-अलग टीमें उनमें योगदान करती हैं और डाटा का स्वामित्व उसके जीवनचक्र में कई बार बदलता रहता है।


एक अच्छे टेक्स्ट2एसक्यूएल इंजन में उपयोगकर्ता के लिए डेटा मॉडल को स्पष्ट करने की क्षमता होनी चाहिए तथा यह सुनिश्चित करना चाहिए कि शोर और अस्पष्टता के कारण भ्रम की स्थिति न पैदा हो, जो कि वर्तमान एलएलएम की एक विशेषता है, जो बहुत से उत्पादन उपयोगकर्ताओं को हतोत्साहित करती है।


इसे यह सुनिश्चित करना चाहिए कि इंजन के कामकाज से क्वेरी के निष्पादन में महत्वपूर्ण विलंब न हो - उपयोगकर्ता को वास्तविक समय में जो उत्तर चाहिए, वह वास्तविक समय में वापस आना चाहिए। इसका मतलब यह है कि इंजन को पहले तीन प्रयासों के भीतर अधिकतम इष्टतम क्वेरी तैयार करनी चाहिए।

शेर्लोक्यू का परिचय

SherloQ स्काईपॉइंट का टेक्स्ट2SQL इंजन है जो क्वेरी को प्राकृतिक भाषा से SQL में अनुवाद करता है। क्वेरी जनरेशन के लिए कस्टम इन-हाउस (LLM) का लाभ उठाना इसकी वास्तुकला का एक महत्वपूर्ण हिस्सा है, जबकि SherloQ की प्रभावशीलता डेटा क्वेरी क्षमताओं को बढ़ाने के लिए डिज़ाइन किए गए उन्नत घटकों के संयोजन से आती है। SherloQ क्वेरी अनुवाद, मजबूत त्रुटि प्रबंधन और उत्पादन डेटाबेस सिस्टम के साथ सहज एकीकरण में उच्च सटीकता का दावा करता है, जो इसे बड़े पैमाने पर डेटा वातावरण के लिए उपयुक्त बनाता है।



अगले कुछ अनुभागों में, हम SherloQ के आंतरिक वास्तुशिल्प विवरणों पर विस्तार से चर्चा करेंगे तथा उत्पादन सेटिंग्स में इसका उपयोग करके प्राप्त कुछ परिणामों को साझा करेंगे।

शेर्लोक्यू के वास्तुशिल्प घटक

SherloQ की वास्तुकला में कई गतिशील भाग शामिल हैं जो सिस्टम की सटीकता, विश्वसनीयता और विलंबता को बेहतर बनाने के लिए काम करते हैं। यहाँ वास्तुकला का अवलोकन दिया गया है:




उपयोगकर्ता इनपुट - उपयोगकर्ता इनपुट एक प्राकृतिक भाषा क्वेरी है।


स्टेट एजेंट Eeecutor- LangChain इंटरफ़ेस का हमारा कार्यान्वयन जो निष्पादन प्रक्रिया के दौरान स्थिति को ट्रैक करता है। यह निष्पादन के दौरान तर्क और मेमोरी की स्थिति को ट्रैक करने के लिए Redis और DataStax Astra DB का लाभ उठाता है। निष्पादक विभिन्न मॉड्यूल के बीच समन्वय करके संचालन के प्रवाह का प्रबंधन करता है।


यह सुनिश्चित करता है कि उपयोगकर्ता इनपुट को सही ढंग से पार्स, प्रोसेस और आगामी घटकों को अग्रेषित किया जाए, तथा इनपुट से SQL क्वेरी निर्माण तक प्रवाह को बनाए रखा जाए।


स्टेट टूल - लैंगचेन बेस टूल का एक विस्तारित वर्ग जिसमें एक स्टेट वैरिएबल होता है और वह स्टेट को संबंधित टूल को पास करता है। स्टेट वैरिएबल को बनाए रखते हुए, स्टेट टूल उस आवश्यक डेटा का ट्रैक रखता है जिसे संबंधित टूल को अग्रेषित करने की आवश्यकता होती है। यह डेटा प्रवाह में स्थिरता सुनिश्चित करता है, एजेंटों के बीच संक्रमण के दौरान किसी भी जानकारी के नुकसान को रोकता है।


शेर्लोक के राज्य उपकरण :

  • क्वेरी जनरेशन टूल प्रारंभिक SQL क्वेरी जनरेट करने के लिए प्राप्त कुछ-शॉट क्वेरी, डेटा मॉडल संदर्भ और DB स्कीमा का उपयोग करता है। यह पार्स की गई स्कीमा जानकारी का उपयोग करके और प्रासंगिक उदाहरणों से सीखकर जनरेट की गई SQL क्वेरी की सटीकता और प्रासंगिकता को बढ़ाता है।


  • पुनःप्रयास उपकरण क्वेरी निष्पादन के दौरान उत्पन्न किसी भी त्रुटि का विश्लेषण करता है तथा त्रुटि को संबोधित करने वाली क्वेरी को पुनः उत्पन्न करता है।


  • डीबी टूल डेटाबेस स्कीमा और संबंधित मेटाडेटा (एनोटेशन, टिप्पणियाँ, आदि) को लाने में मदद करता है जो क्वेरी जनरेशन के लिए सहायक होगा। पुनर्प्राप्त स्कीमा जानकारी को प्रदर्शन को अनुकूलित करने और डेटाबेस क्वेरी को कम करने के लिए समय-आधारित कैशिंग तंत्र का उपयोग करके कैश किया जाता है। यह डेटाबेस के विरुद्ध क्वेरी को भी निष्पादित करता है और परिणाम या त्रुटि स्टैक ट्रेस लौटाता है।

शेरलोक के प्रदर्शन को बढ़ाने के लिए डेटा इनपुट और तकनीक

शेर्लोक्यू के प्रदर्शन को बढ़ाने के लिए, हम कई तकनीकों का उपयोग करते हैं और मॉडल को महत्वपूर्ण डेटा इनपुट प्रदान करते हैं। इनमें संरचित अपघटन, कुछ-शॉट उदाहरण, डेटा मॉडल संदर्भ पुनर्प्राप्ति, प्रतिबिंब और एक पुनः प्रयास तंत्र शामिल हैं। प्रत्येक भाग प्राकृतिक भाषा इनपुट से सटीक और प्रासंगिक SQL क्वेरी उत्पन्न करने की मॉडल की क्षमता को बेहतर बनाने में आवश्यक है।

संरचित अपघटन

संरचित अपघटन में, उपयोगकर्ता प्रॉम्प्ट को उसके मूलभूत भागों में विभाजित किया जाता है। क्वेरी के आवश्यक घटकों पर ध्यान केंद्रित करने और उन्हें पहचानने से मॉडल को सटीक SQL बनाने में मदद मिलती है। उदाहरण के लिए:


इनपुट: XYZ कॉर्पोरेशन द्वारा आपूर्ति की गई सभी वस्तुओं की वर्तमान उपलब्ध मात्रा क्या है?

आउटपुट: ["वर्तमान उपलब्ध मात्रा", "सभी आइटम", "XYZ कॉर्प द्वारा आपूर्ति"]

कुछ चुनिंदा उदाहरण

मॉडल को कुछ शॉट SQL उदाहरणों के रूप में संदर्भ प्रश्न दिए गए हैं, जो समान पैटर्न के आधार पर SQL क्वेरी उत्पन्न करने में मदद करते हैं। ये उदाहरण मॉडल की इच्छित क्वेरी की संरचना और प्रारूप को पहचानने में मदद करके विभिन्न प्रॉम्प्ट के लिए नई SQL क्वेरी को सटीक रूप से उत्पन्न करने की क्षमता में सुधार करते हैं। यहाँ कुछ उदाहरण दिए गए हैं:


उदाहरण 1

इनपुट: 20 इकाइयों से कम मात्रा वाले आइटम दिखाएं।

आउटपुट: SELECT * FROM stock WHERE Volume_Available < 20;


उदाहरण 2

इनपुट: 100 डॉलर से अधिक कीमत वाले सामान वाले विक्रेताओं की सूची बनाएं।

आउटपुट: SELECT * FROM vendor WHERE Vendor_ID IN (SELECT Vendor_ID FROM items WHERE Unit_Price > 100);


हम एस्ट्रा डीबी से सिमेंटिक सिमिलैरिटी मैचिंग का उपयोग करके गतिशील रूप से सबसे समान कुछ शॉट उदाहरणों का चयन करते हैं जो हमारा वेक्टर डेटाबेस है। वेक्टर डेटाबेस हमें उन उदाहरणों को खोजने की अनुमति देता है जो संरचना और सामग्री में नए इनपुट क्वेरी के सबसे करीब हैं, यह सुनिश्चित करते हुए कि मॉडल सटीक SQL क्वेरी उत्पन्न करने के लिए सबसे प्रासंगिक पैटर्न का लाभ उठा सकता है।


हमारे उत्पादन परिवेश में, हम प्रति क्वेरी औसतन लगभग दो फ़्यू-शॉट उदाहरण देते हैं। हमारे अनुभव में, सटीकता में सुधार करने के लिए केवल अधिक फ़्यू-शॉट उदाहरण जोड़ना एक स्केलेबल अभ्यास नहीं है।

डेटा मॉडल संदर्भ

डेटा मॉडल संदर्भ में डोमेन-विशिष्ट विवरण शामिल होते हैं जो SQL क्वेरी बनाने में उपयोगी हो सकते हैं। उदाहरण के लिए, अस्पताल नेटवर्क के लिए वित्तीय डेटा के संदर्भ में, ये वित्त मीट्रिक कोड और उनके विवरण जैसी चीजें हो सकती हैं। इस संदर्भ का उपयोग मॉडल द्वारा यह सुनिश्चित करने के लिए किया जाता है कि बनाए गए SQL क्वेरी डोमेन की डेटा संरचना से मेल खाते हैं। डेटा मॉडल संदर्भ को शामिल करना वैकल्पिक है और केवल तभी आवश्यक है जब तालिका जटिल हो और SQL क्वेरी बनाने के लिए डोमेन ज्ञान की आवश्यकता हो।


उदाहरण के लिए:

मीट्रिक कोड: " MGMTFEE " -> विवरण: "संपत्तियों के प्रबंधन के लिए एकत्रित शुल्क - प्रबंधन शुल्क"

SQL DB स्कीमा

SQL DB स्कीमा उपलब्ध डेटा का संरचित प्रतिनिधित्व है। स्कीमा को तालिका और उसके स्तंभों दोनों को एनोटेट करके समृद्ध किया जाता है। इसमें तालिका के नाम और विवरण के साथ-साथ स्तंभ, उनके विवरण और डेटा प्रकार शामिल हैं।


स्कीमा प्रदान करने से मॉडल को डेटाबेस संरचना और प्रत्येक तालिका और कॉलम से जुड़े अर्थ को समझने में मदद मिलती है, जिससे यह सुनिश्चित होता है कि उत्पन्न SQL क्वेरीज़ वाक्यात्मक रूप से सही हैं और सही डेटाबेस तत्वों का उपयोग करती हैं।

प्रतिबिंब

प्रतिबिंब का तात्पर्य मॉडल की अपनी पिछली प्रतिक्रियाओं, व्यवहार या उत्पन्न सामग्री का आकलन और मूल्यांकन करने की क्षमता से है। यह मॉडल को त्रुटियों या कमजोरियों की पहचान करके और उन्हें सुधार कर अपनी प्रतिक्रियाओं को परिष्कृत करने की अनुमति देता है। इस प्रक्रिया में क्वेरी जनरेशन चरण के दौरान फीडबैक के साथ-साथ शेरलॉक इंजन द्वारा पहले देखी गई क्वेरी पर विचार करना शामिल है।


ये परिदृश्य मॉडल को अतीत में देखे गए समान प्रश्नों की सफलताओं को दोहराने या असफलताओं से बचने में मदद करते हैं। यह कदम एस्ट्रा डीबी का लाभ उठाकर वर्तमान क्वेरी के सबसे अधिक अर्थपूर्ण रूप से समान क्वेरीज़ को भी खोजता है।

पुनः प्रयास तंत्र

SherloQ डेटाबेस से प्राप्त त्रुटियों का उपयोग करके पुनः प्रयास तंत्र को शामिल करता है। जब जेनरेट की गई SQL क्वेरी में कोई त्रुटि आती है, तो इंजन क्वेरी को सही करने के लिए पूर्वनिर्धारित टेम्पलेट वाले एजेंट का उपयोग करता है:


“””

आपका कार्य किसी प्रश्न से उत्पन्न गलत SQL क्वेरी को ठीक करना है ताकि उसे ANSI SQL के साथ संगत बनाया जा सके। इन दिशा-निर्देशों का पालन करें: सटीक उत्तर सुनिश्चित करने के लिए प्रश्न, डेटाबेस स्कीमा और प्राप्त त्रुटि संदेश का सावधानीपूर्वक विश्लेषण करें। भ्रम से बचने के लिए टेबल उपनामों का उपयोग करें।


उदाहरण के लिए, SELECT t1.col1, t2.col1 FROM table1 AS t1 JOIN table2 AS t2 ON t1.id = t2.id .


राशन की गणना करते समय, हमेशा अंश को फ़्लोट में बदलें। नीचे दिए गए फ़ॉर्मेट का उपयोग करें:

काम:

प्रश्न को संबोधित करने के लिए एक SQL क्वेरी उत्पन्न करें [प्रश्न] {user_input} [/प्रश्न] सही होने वाली क्वेरी है: {sql_query} अंतिम निष्पादन के दौरान प्राप्त त्रुटि संदेश है: {error_message}

प्रतिक्रिया:

उपरोक्त इनपुट के आधार पर, यहाँ सही SQL क्वेरी है: {response_sql} “””

परिणामों की तुलना: SherloQ कार्यान्वयन से पहले और बाद में

उन्नत एलएलएम और एक अच्छी तरह से डिज़ाइन की गई प्रणाली के उपयोग के साथ, SherloQ SQL क्वेरीज़ का उत्पादन करता है जो संदर्भ के लिए अधिक सटीक और प्रासंगिक हैं। यहाँ, हम विलंबता और सटीकता के मेट्रिक्स का उपयोग करके SherloQ से पहले और बाद में उपयोगकर्ता संकेतों के परिणामों की तुलना करते हैं।

एक उत्पादन प्रश्न का उपयोग करके तुलना

यहाँ, हम अपने उत्पादन ग्राहकों में से एक, एक प्रसिद्ध वरिष्ठ आवास संचालक को देखते हैं। उनके उपयोग के मामलों में से एक है उनकी वित्त टीम स्काईपॉइंट के प्लेटफ़ॉर्म का उपयोग करके अपने विभिन्न वरिष्ठ आवास सुविधाओं के समेकित वित्तीय मीट्रिक को समझने और तर्क करने के लिए करती है।


उपयोगकर्ता संकेत: "2022 के दौरान सुविधा सीएम के लिए हाउसकीपिंग व्यय की तिमाही प्रवृत्ति निर्धारित करें।"


शेर्लोक्यू से पहले

  • उत्पन्न क्वेरी

    • skypoint_metric_fact_denormalized_vw से Housekeeping_Expenses के रूप में SUM(Total_Amount_Numerator) / SUM(Total_Amount_Denominator) का चयन करें जहां Facility_Name = 'CM' और वर्ष = 2022 और Metric_Name = 'Housekeeping Expense' Quarter_Number द्वारा समूहीकृत करें';


  • पहचाने गए मुद्दे

    • क्वेरी Quarter_Number के आधार पर समूह बनाती है, लेकिन उसका चयन नहीं करती, जिसके कारण परिणाम अपूर्ण हो सकते हैं।

    • Metric_Code जैसे अधिक विशिष्ट पहचानकर्ता के स्थान पर Metric_Name का उपयोग।

    • SUM(Total_Amount_Denominator) में शून्य से संभावित विभाजन को नियंत्रित नहीं किया जाता है।


  • औसत विलंबता: 29 सेकंड

    शेरलोक के पहले के सेटअप में GPT-3.5 के साथ प्रॉम्प्ट इंजीनियरिंग और प्रति उपयोगकर्ता प्रॉम्प्ट 5+ फ़्यू-शॉट क्वेरीज़ का संयोजन उपयोग किया गया था।


SherloQ के साथ

  • उत्पन्न क्वेरी
    • वर्ष, तिमाही_संख्या, SUM(कुल_राशि_अंश) / COALESCE(SUM(NULLIF(कुल_राशि_विभाजक,0)),1) AS Housekeeping_Expenses का चयन skypoint_metric_fact_denormalized_vw से करें जहां मीट्रिक_कोड = 'EXPOTHHOU' और सुविधा_नाम = 'CM' और वर्ष = 2022 समूह द्वारा तिमाही_संख्या, वर्ष क्रम द्वारा तिमाही_संख्या ASC;


  • उल्लेखनीय सुधार
  • क्वेरी में Quarter_Number शामिल है, जो आवश्यक तिमाही विवरण प्रदान करता है।
  • मीट्रिक_कोड फ़ील्ड का उपयोग किया जाता है, जो मीट्रिक के लिए अधिक सटीक पहचानकर्ता प्रदान करता है।
  • COALESCE(SUM(NULLIF(Total_Amount_Denominator,0)),1) फ़ंक्शन शून्य से संभावित विभाजन त्रुटियों को संभालता है।
  • तिमाही प्रवृत्ति को प्रतिबिंबित करने के लिए परिणामों को Quarter_Number के अनुसार क्रमबद्ध किया गया है।
  • औसत विलंबता: 10 सेकंड


उत्पादन कार्यभार पर बेंचमार्क के आधार पर, नीचे परिणाम दिए गए हैं जो हम SherloQ से पहले और उसके साथ सटीकता और विश्वसनीयता पर रिपोर्ट करते हैं:

  • शेर्लोक्यू से पहले
    • सटीकता: 65%

    • विश्वसनीयता: 60%


  • SherloQ के साथ
    • सटीकता: 92%

    • विश्वसनीयता: 90%


उपरोक्त परिणाम एक आंतरिक बेंचमार्क सूट से लिए गए थे जो कैशिंग के प्रभावों को नकारने के लिए प्रत्येक प्रॉम्प्ट को 100 बार अलग-अलग पहचानकर्ताओं के साथ निष्पादित करता है (हमारे आंतरिक सिस्टम के साथ-साथ मॉडल में भी)। सूट बेंचमार्क प्रतिक्रिया के विरुद्ध लौटाए गए उत्तर की तुलना करके सटीकता को मापता है और यह मापकर विश्वसनीयता को मापता है कि यह कितनी बार समान प्रतिक्रियाएँ लौटाएगा।


तुलना से स्पष्ट रूप से पता चलता है कि प्राकृतिक भाषा क्वेरी को सटीक SQL क्वेरी में बदलने में SherloQ के क्या फायदे हैं। SherloQ के बाद कुल मिलाकर प्रदर्शन में 30% सुधार हुआ। पहले उत्पन्न की गई क्वेरी में अपूर्ण परिणाम और त्रुटि प्रबंधन की कमी जैसी समस्याएं थीं, जिससे सटीकता और विश्वसनीयता दोनों प्रभावित हुई।


SherloQ के साथ, उत्पन्न क्वेरीज़ अधिक सटीक, कुशल और मज़बूत हैं, साथ ही विलंबता, सटीकता और विश्वसनीयता में उल्लेखनीय सुधार भी हैं। यह वृद्धि SherloQ की भरोसेमंद डेटा पुनर्प्राप्ति प्रदान करने की क्षमता को दर्शाती है, जो इसे उन संगठनों के लिए एक मूल्यवान उपकरण बनाती है जो अपनी डेटा क्वेरी प्रक्रियाओं को अनुकूलित करना चाहते हैं।


स्काईपॉइंट प्लेटफ़ॉर्म के अन्य भागों का पता लगाने या स्काईपॉइंट एआई का डेमो बुक करने के लिए, स्काईपॉइंट वेबसाइट पर जाएं।


स्काईपॉइंट के प्रमुख एआई इंजीनियर आलोक राज और स्काईपॉइंट के इंजीनियरिंग प्रमुख सयांदिप सरकार द्वारा