Jev बनाम एक भाषा मॉडल
वे एक ही काम के लिए नहीं भिड़ रहे। भाषा मॉडल लिखता है; Jev तय करता है। उपयोगी तुलना यह नहीं कि कौन अधिक चतुर है, बल्कि यह कि उत्तर के साथ आपके कोड को क्या करना पड़ेगा — और वह अंतर इतना बड़ा है कि उसके चारों ओर का पूरा प्रोग्राम लिखने का तरीक़ा ही बदल जाए।
वही निर्णय, दोनों तरीक़ों से लिखा हुआ
एक सहायता टिकट को चार क़तारों में से एक की ओर भेजिए। कोड में हर पक्ष की असल लागत यह रही।
एक भाषा मॉडल के साथ
const res = await llm.chat({
messages: [{ role: "user", content:
`Route this ticket. Reply with JSON: {"queue": "Billing"|"Technical"|"Account"|"Sales"}
Ticket: ${ticket}` }],
response_format: { type: "json_object" }
});
let queue;
try {
queue = JSON.parse(res.content).queue; // may not be JSON
} catch {
return retry(); // ...so there is a retry
}
if (!QUEUES.includes(queue)) return retry(); // may be a queue you never had
// and no idea how close the call wasJev के साथ
const { answers } = await jev.systemOne({
state: ticket,
model: "jev-latest",
questions: { queue: { type: "choice", instructions:
"Which team should own this ticket?", criteria: QUEUES } }
});
const { choice, probabilities, confidence } = answers.queue;
// choice is one of QUEUES. It cannot be anything else.
if (confidence < 0.7) return humanReview(ticket, probabilities);
route(choice);पुनःप्रयास का लूप ही असली संकेत है। पहले संस्करण में वह इसलिए है कि उत्तर ऐसे टेक्स्ट के रूप में आता है जो शायद पार्स न हो, या ऐसी क़तार में पार्स हो जाए जो सूची में कभी थी ही नहीं। दूसरे में उसके रहने की जगह ही नहीं: उत्तर बनावट से ही QUEUES में से एक है। उसकी जगह जो आता है वह बिल्कुल अलग शाखा है — वह जो तब चलती है जब मॉडल अनिश्चित हो, न कि तब जब आउटपुट बिगड़ा हो।
दूसरा संस्करण क्या देख सकता है
वही टिकट, सचमुच Jev से गुज़ारा हुआ। विजेता चौंकाता नहीं; दूसरे स्थान वाला वह हिस्सा है जिसे सूखा लेबल फेंक देता।
तकनीकी 87% पर जीतती है, पर खाता 13% थामे है — और यही सही असहमति है, क्योंकि SSO की विफलता सचमुच दोनों की सीमा पर बैठती है। एक सूखा लेबल इसे छिपा देता। अगर आपकी रूटिंग के ग़लत होने की कोई क़ीमत है, तो 13% ही वह संख्या है जिस पर सीमा रखनी चाहिए।
आमने-सामने
- आप क्या भेजते हैं
- Jev
एक अवस्था और टाइप किए हुए प्रश्नों का एक मानचित्र।
भाषा मॉडलएक प्रॉम्प्ट, जो आम तौर पर स्कीमा और नियम गद्य में ढोता है।
- क्या लौटकर आता है
- Jev
प्रति प्रश्न एक टाइप किया हुआ उत्तर, हर विकल्प के लिए एक प्रायिकता के साथ।
भाषा मॉडलटेक्स्ट। JSON, अगर आपने विनम्रता से माँगा हो और वह मोड समर्थित हो।
- आपके कोड की अगली पंक्ति
- Jev
ऐसे मान पर एक स्विच जो केवल आपके ही मानों में से एक हो सकता है।
भाषा मॉडलपहले पार्स, फिर सत्यापन, फिर उस स्थिति के लिए एक शाखा जब इनमें से कोई विफल हो जाए।
- यह कैसे विफल होता है
- Jev
यह आपके टेक्स्ट के बारे में ग़लत हो सकता है। जो आकार आपने तय नहीं किया वह लौटा नहीं सकता।
भाषा मॉडलयह आकार के बारे में भी ग़लत हो सकता है — कोई क्षेत्र ग़ायब, ऐसा लेबल जो आपने कभी सूचीबद्ध नहीं किया, JSON के चारों ओर लिपटा गद्य।
- दस चीज़ें पूछना
- Jev
एक अनुरोध में दस प्रश्न, अवस्था के सापेक्ष समानांतर आँके गए।
भाषा मॉडलएक ठसाठस भरा प्रॉम्प्ट, या दस कॉल।
- अनिश्चितता
- Jev
हर Choice और Score पर एक वितरण और एक विश्वास-मान।
भाषा मॉडलटेक्स्ट अपनी निश्चितता के बारे में जो भी दावा करे।
आँकड़े
ये TypeSafe प्रकाशित करता है; ये विक्रेता के अपने आँकड़े हैं, हमारी माप नहीं।
छोर-से-छोर प्रतिक्रिया, अग्रणी मॉडलों के 3–329 s की तुलना में
System One आकार वाले प्रश्नों पर तेज़
प्रति दस लाख इनपुट टोकन, आउटपुट निःशुल्क
हम जो माप सकते हैं: इस साइट से किए गए 14 रन में, आने-जाने का माध्य समय 329 मि॰से॰ है — और उनमें से अधिकतर अनुरोध एक नहीं, नौ प्रश्न ढो रहे थे।
कब भाषा मॉडल ही सही औज़ार है
अधिकतर समय, अगर आपको भाषा चाहिए। Jev के पास न कोई राय है जिसे वह समझा सके, न कहने को कुछ।
- आपको गद्य चाहिए — एक उत्तर, एक सारांश, एक कमिट संदेश, निर्णय के बजाय निर्णय की व्याख्या।
- आपको कोड लिखवाना है, या कोई योजना, या कुछ भी खुला-अंत जहाँ उत्तरों का समुच्चय कॉल से पहले ज्ञात न हो।
- संभावित उत्तरों का समुच्चय सचमुच असीमित हो। किसी मनमाने नाम को निकालना 255 विकल्पों पर Choice नहीं है।
- आपको तर्क की ऐसी शृंखला चाहिए जिसे आप जाँच सकें। Jev एक निर्णय लौटाता है, उसके पीछे के क़दम नहीं।
- मात्रा कम हो और आकार ढीला। दिन में दो बार चलने वाले पुनःप्रयास लूप को डिज़ाइन से हटाना सार्थक नहीं।
ये दोनों भिड़ने के बजाय मिलकर बेहतर बनते हैं। TypeSafe का अपना ढाँचा यही है: तेज़ संरचित निर्णय के लिए System One और उसके पीछे System Two के रूप में एक सामान्य मॉडल — इनपुट को Noul से छानिए, Choice से रूट कीजिए, और जो बचे उसे उस मॉडल को सौंपिए जो सचमुच लिख सकता है।
आगे पढ़िए
यह तुलना ख़ुद चलाइए
एक टिकट, एक मसौदा, एक प्रॉम्प्ट चिपकाइए — कुछ भी जिसके चारों ओर आपने वरना एक पार्सिंग लूप लिखा होता — और देखिए कि एक अनुरोध से नौ टाइप किए हुए उत्तर लौटते हैं।
प्रयोगशाला खोलें