बेंचमार्क सिनेरियो आपको एक वास्तविक, दोहराने योग्य एनरिचमेंट कार्य पर LLM मॉडल्स की तुलना करने देते हैं — एक जैसे बनाम एक जैसे — प्रत्येक मॉडल के आउटपुट और कुल लागत को कैप्चर करते हुए ताकि आप कार्य के लिए सही मॉडल चुन सकें।
मॉडल सटीकता, संरचित-आउटपुट विश्वसनीयता और मूल्य में बहुत भिन्न होते हैं। अनुमान लगाने के बजाय, एक बेंचमार्क परिदृश्य एक ही स्कीमा और एंटिटी को एक साथ कई मॉडलों के माध्यम से चलाता है और रिकॉर्ड करता है कि प्रत्येक ने क्या तैयार किया और उसकी लागत क्या रही। आप साक्ष्य के आधार पर तुलना करते हैं, फिर उस सबसे सस्ते मॉडल को लॉक कर देते हैं जो आपके गुणवत्ता मानक पर खरा उतरता है।
बेंचमार्क परिदृश्य एक सहेजा गया, पुन: प्रयोज्य मॉडल टेस्ट है। यह एनरिचमेंट (एक स्कीमा, एक निश्चित एंटिटी इनपुट, एक एनरिचमेंट रणनीति, भाषाएँ, response-schema / strict-structured-output टॉगल, और कोई भी अटैचमेंट), सैंपल जनरेशन (एक फ़्री-टेक्स्ट सैंपल अनुरोध जिसे हर मॉडल एक उदाहरण JSON में बदलता है), या स्कीमा जनरेशन (एक ही एंटिटी टाइप के एक से बीस निश्चित इनपुट सैंपल, जिन्हें हर मॉडल एक स्कीमा में बदलता है — इन्हें, स्कीमा के साथ रेफरेंस ड्राफ़्ट के रूप में, किसी सहेजे गए स्कीमा से इम्पोर्ट किया जा सकता है) को बेंचमार्क कर सकता है। इसमें इसका गोल्ड रेफरेंस भी रहता है और यह भी कि परिणाम उसके मुकाबले कैसे आँके जाते हैं (एक जज मॉडल, एक एम्बेडिंग मॉडल, और एक सख़्ती थ्रेशोल्ड — सैंपल जनरेशन को केवल जज ही रूब्रिक के आधार पर स्कोर करता है, बिना किसी रेफरेंस के)। इसे एक बार परिभाषित करें और हर उस मॉडल के लिए दोबारा इस्तेमाल करें जिसकी तुलना करनी हो।
जब परिदृश्य के पास वेरिफाइड रेफरेंस हो, तो इसे किसी एक प्रोवाइडर के सक्रिय मॉडल या व्यू में मौजूद हर सक्रिय मॉडल के विरुद्ध चलाएँ। हर मॉडल स्वतंत्र रूप से संवर्धित होता है — कोई फ्यूजन नहीं — इसलिए आपको प्रति मॉडल एक साफ़, साथ-साथ रखा गया परिणाम मिलता है। प्रगति लाइव स्ट्रीम होती है, और जैसे ही रन समाप्त होता है, हर सफल परिणाम रेफरेंस के विरुद्ध स्वचालित रूप से स्कोर किया जाता है। अगर परिदृश्य में बाइनरी अटैचमेंट हैं, तो ऐसे मॉडल छोड़ दें जो अटैचमेंट नहीं पढ़ सकते को सक्षम करें, और जिन मॉडलों में आवश्यक फ़ाइल क्षमता नहीं है उन्हें गारंटीड विफलताएँ उत्पन्न करने के बजाय छोड़ा गया के रूप में रिपोर्ट किया जाता है।
हर रन अपने स्ट्रक्चर्ड आउटपुट, सफलता स्थिति, टोकन गिनती, प्रोसेसिंग समय, और कुल बिल की गई लागत के साथ सहेजा जाता है। JSON आउटपुट का निरीक्षण करने या अंतर्निहित संवर्धन रिकॉर्ड पर जाने के लिए किसी भी पंक्ति को विस्तृत करें।
उसी मॉडल पर कोई सिनारियो दोबारा चलाने से उसका पिछला परिणाम ओवरराइटहो जाता है, इसलिए टेबल हमेशा नवीनतम रन दिखाती है। किसी सिनारियो का कॉन्फ़िग एडिट करने पर पुराने परिणाम बासी के रूप में चिह्नित हो जाते हैं, जब तक आप उन्हें दोबारा नहीं चलाते। प्रति मॉडल रन को 2 या 3 पर सेट करें और हर मॉडल का उतनी ही बार बेंचमार्क होगा — टेबल में लागत, गुणवत्ता और गति का औसत रहता है, साथ में एक कंसिस्टेंसी रेंज (मॉडल हर रन में अलग-अलग नतीजे देते हैं), और क्रेडिट भी लगभग उसी गुणा में लगते हैं। बड़ी रेंज की वजह अक्सर मॉडल नहीं, बल्कि ऐसी स्कीमा प्रॉपर्टीज़ होती हैं जो एक से ज़्यादा सवाल पूछती हैं — अस्पष्टता जाँच उन्हें ढूँढकर ठीक करती है।
रिज़ल्ट टेबल तुलना के लिए बनाई गई है। ऊपर एक सारांश पट्टी सफलता दर और सफल हुए सबसे सस्ते तथा सबसे तेज़ मॉडल को दर्शाती है। हर कॉलम — मॉडल, स्टेटस, स्ट्रैटेजी, लागत, टोकन और समय — सॉर्ट करने योग्य है, इसलिए एक क्लिक में मॉडल कीमत या लेटेंसी के अनुसार रैंक हो जाते हैं। मॉडल नाम, स्टेटस या स्ट्रैटेजी के अनुसार फ़िल्टर करके दृश्य को सीमित करें, और पूरा स्ट्रक्चर्ड आउटपुट पढ़ने या अंतर्निहित एनरिचमेंट रिकॉर्ड खोलने के लिए किसी भी पंक्ति का विस्तार करें।
बेंचमार्क का मूल्य एक बार पढ़ी गई तालिका से कहीं ज़्यादा है। किसी परिदृश्य को स्कोरिंग स्रोत के रूप में चिह्नित करें और उसके प्रति-मॉडल परिणाम प्लेटफ़ॉर्म को चलाने लगते हैं: हर पिकर में मॉडल आपके मापे गए स्कोर बैज के रूप में दिखाते हैं, पिकर उन्हीं से क्रमबद्ध होते हैं, और स्वचालित मॉडल चयन उसी मॉडल पर पहुँचता है जिसे उस कार्य के लिए आपके अपने मापन सबसे ऊपर रखते हैं। कई को चिह्नित करें तो स्कोर का औसत लिया जाता है — यानी “सर्वश्रेष्ठ मॉडल” का अर्थ है आपके स्कीमा पर सर्वश्रेष्ठ, किसी सार्वजनिक लीडरबोर्ड पर नहीं। सिस्टम एडमिनिस्ट्रेटर एक वैश्विक परिदृश्य प्रकाशित कर सकते हैं, जो उन संगठनों के लिए फ़ॉलबैक बनता है जिनके पास अपना कोई नहीं है।
“सर्वश्रेष्ठ” का पैमाना क्या हो, यह आप तय करते हैं: क्वालिटी, स्पीड और लागत का मिश्रण Settings → Organization → Defaults के अंतर्गत हर सिनेरियो टाइप के लिए कॉन्फ़िगर किए गए अनुपात से तय होता है (हर अनुपात का योग 100, डिफ़ॉल्ट रूप से एक-एक तिहाई)। बैच लागत के लिए ऑप्टिमाइज़ करने वाली टीम और जवाब की क्वालिटी के लिए ऑप्टिमाइज़ करने वाली टीम एक ही बेंचमार्क से जायज़ तौर पर अलग-अलग मॉडल ऑटो-सिलेक्ट करेंगी।
बेंचमार्किंग एक पुनरावृत्त प्रक्रिया है। पंक्तियों को चुनने के लिए उन पर क्लिक करें (टॉगल करने के लिए Ctrl/Cmd-क्लिक, रेंज के लिए shift-क्लिक, या ··· मेन्यू में Select all), फिर सब कुछ दोबारा चलाए बिना उसी सबसेट पर कार्य करें:
हर परिदृश्य में एक संदर्भ परिणाम होता है — इसकी एंटिटी के लिए अपेक्षित आउटपुट — और किसी परिदृश्य को केवल तभी बेंचमार्क किया जा सकता है जब वह संदर्भ सत्यापित हो। तब तक यह किसी भी रन मेनू में नहीं दिखेगा। संदर्भ गुणवत्ता आँकने का आधार है: हर मॉडल फ़ील्ड-दर-फ़ील्ड कितना करीब पहुँचता है, और (किसी फ़िल्म की कास्ट जैसी सूचियों के लिए) उसने वास्तव में कितने सही आइटम खोजे। आप इसे — इसके साथ इस्तेमाल किए गए जज मॉडल, एम्बेडिंग मॉडल, और सख्ती के साथ — परिदृश्य संपादक में ही सेट करते हैं।
इसे दो तरीकों से बनाएं। इसे Generate करें: एक ऐसा डॉक्युमेंट अटैच करें जिसमें सही मान हों (एक डेटाशीट, एक आधिकारिक पेज), वेब सर्च चालू करें, और कुछ मजबूत मॉडल चलाएं — वे स्मृति के बजाय आपके स्रोत से उत्तर निकालते हैं, इसलिए परिणाम अनुमान पर नहीं, बल्कि सच्चाई पर आधारित होता है। या कोई ज्ञात-सही परिणाम जो आपके पास पहले से है उसे paste करें। किसी भी तरह से आप JSON की समीक्षा करते हैं, कुछ भी सुधारते हैं, और उसे verified के रूप में चिह्नित करते हैं — एक स्पष्ट सहमति कि यही गोल्ड उत्तर है।
क्योंकि रेफरेंस को आधार-सहित तैयार किया जाता है और एक बार मानव द्वारा जाँचा जाता है, यह एक भरोसेमंद मापदंड के रूप में भी काम करता है जिसे आप हर मॉडल और हर भविष्य के रन में दोबारा उपयोग करते हैं।
बेंचमार्क मॉडल प्रबंधन → बेंचमार्कमें उपलब्ध हैं (संगठन के मालिकों और एडमिन के लिए)। परिदृश्य वहीं बनाएँ और प्रबंधित करें, या मॉडल टैब से टूलबार में मौजूद मॉडल बेंचमार्क करेंबटन से एक रन शुरू करें: एक परिदृश्य चुनें, फिर दायरा चुनें — आपके द्वारा चयनित प्रोवाइडर या मॉडल (बटन संख्या दिखाता है), वे मॉडल जिनका कभी बेंचमार्क नहीं हुआ या जिनका बेंचमार्क किसी पुराने परिदृश्य कॉन्फ़िगरेशन के तहत हुआ, या दृश्य में मौजूद हर सक्रिय मॉडल।
किसी परिदृश्य पर Run और परिणाम स्कोर करें बटन डिफ़ॉल्ट रूप से इंक्रीमेंटल रूप से काम करते हैं — वे केवल उन मॉडलों को लक्षित करते हैं जिनका अभी तक कोई परिणाम नहीं है, साथ ही पुराने परिणाम (और स्कोरिंग के समय बिना स्कोर वाले या पुराने स्कोर)। कन्फर्मेशन डायलॉग आपको पूर्ण री-रन के लिए स्कोप को हर सक्रिय मॉडल तक विस्तृत करने देता है, या पुरानी प्रविष्टियों को बाहर करने के लिए इसे सीमित करने देता है। परिणाम तालिका का दिखाए गए मॉडल फ़िल्टर उन सक्रिय मॉडलों को भी सूचीबद्ध कर सकता है जिन्हें अभी तक बेंचमार्क नहीं किया गया है।
बेंचमार्क रन वास्तविक LLM कॉल्स करते हैं और वास्तविक उपयोग के आधार पर क्रेडिट काटते हैं, ठीक एक सामान्य एनरिचमेंट की तरह। पुष्टिकरण डायलॉग आपको बताता है कि कोई खर्च होने से पहले आप कितने मॉडल्स चलाने वाले हैं। प्रत्येक सहेजा गया परिणाम अपनी बिल की गई लागत दिखाता है, इसलिए बेंचमार्क लागत-तुलना उपकरण के रूप में भी काम करता है।