फ़ैसले

निर्णय (Jev)

अपने डेटा के बारे में तय प्रकार के सवाल पूछें और ऐसे जवाब पाएं जिन पर आपका कोड काम कर सके: हाँ की संभावना, दिए गए विकल्पों में से एक, या किसी पैमाने पर एक मान. संभावनाएं कैलिब्रेट की हुई होती हैं और जवाब आम तौर पर एक सेकंड से भी कम में मिलते हैं. यह TypeSafe के अपने API पर उपलब्ध है, इसलिए उसके SDK बिना किसी बदलाव के काम करते हैं.

POST/v1/systemone
मॉडलIDइनपुट, प्रति 1M टोकनTypeSafe की कीमतआउटपुट
Jev 1.14jev-1.14$0.024$0.042मुफ़्त
Jev 1.13jev-1.13$0.035$0.042मुफ़्त

Jev, TypeSafe का निर्णय लेने वाला मॉडल है, जिसे वह System One मॉडल कहता है: यह चैट मॉडल की तरह सामान्य भाषा समझता है, लेकिन टेक्स्ट लिखने के बजाय आपके तय किए हुए सवालों के जवाब देता है. jev-latest, jev-1.14.0 और typesafe/jev-1.14 भी मॉडल ID के तौर पर काम करते हैं, और jev-1.13 के हिसाब से तैयार किए गए प्रॉम्प्ट के लिए वह भी उपलब्ध रहता है.

सवाल पूछें

# pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
with TypeSafeClient(
base_url="https://api.zurelay.com",
api_key="YOUR_ZURELAY_KEY",
model="jev-1.14",
) as client:
response = client.system_one(
state={"ticket": "I was charged twice for October, please refund one today."},
questions={
"refund": Noul(instructions="Is the customer asking for money back?"),
"team": Choice(
instructions="Which team should handle this?",
criteria={"billing": "Charges and refunds", "technical": "Bugs and outages"},
),
"urgency": Score(
instructions="How urgent is it?",
criteria=["can wait", "this week", "today"],
),
},
)
print(response.nouls["refund"].noul) # 0.98
print(response.choices["team"].choice) # billing
print(response.scores["urgency"].score) # 1.9

TypeSafe के SDK में बेस URL को https://api.zurelay.com पर सेट करें, बिना /v1 के: वे /v1/systemone खुद जोड़ देते हैं. TYPESAFE_BASE_URL और TYPESAFE_API_KEY एनवायरनमेंट वैरिएबल भी काम करते हैं. कोई भी HTTP क्लाइंट इसी तरह काम करता है: अपनी Zurelay कुंजी को Bearer टोकन के तौर पर भेजें.

जवाब

जवाब
{
"id": "req_8Kq2vXbN4tR7mWc1pLs9dYe3",
"model": "jev-1.14",
"answers": {
"refund": { "type": "noul", "noul": 0.98 },
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 1.0, "technical": 0.0 },
"confidence": 1.0
},
"urgency": {
"type": "score",
"score": 1.9,
"legend": { "0": "can wait", "1": "this week", "2": "today" },
"probabilities": { "0": 0.0, "1": 0.1, "2": 0.9 },
"confidence": 0.81
}
},
"usage": { "input_tokens": 396, "output_tokens": 61, "cost": 0.00001386 }
}

हर जवाब उसी नाम से मिलता है जो आपने उसके सवाल को दिया था. usage बताता है कि अनुरोध की बिलिंग किस आधार पर हुई, और cost उसकी लागत अमेरिकी डॉलर में बताता है. एक ही अनुरोध को दोबारा भेजने पर जवाब में एक-दो अंकों का अंतर हो सकता है.

पैरामीटर

modelstringज़रूरी
jev-1.14, jev-latest (वही मॉडल) या jev-1.13.
statestring, object या arrayज़रूरी
वह सामग्री जिस पर निर्णय लेना है: टेक्स्ट या व्यवस्थित डेटा, जैसे कोई रिकॉर्ड, चैट लॉग या आपके ऐप की मौजूदा स्थिति. सवाल में किसी फ़ील्ड का ज़िक्र करने के लिए उसका नाम बैकटिक में लिखें, जैसे `ticket`.
questionsobjectज़रूरी
आपके सवाल, हर सवाल के लिए आपकी पसंद का एक नाम. जवाब उन्हीं नामों से मिलते हैं, और ये नाम मॉडल को नहीं भेजे जाते.
हर सवाल
typestringज़रूरी
noul, choice या score.
instructionsstring, object या arrayज़रूरी
सवाल. किसी ऑब्जेक्ट के एक फ़ील्ड में सवाल और दूसरे फ़ील्ड में उससे जुड़ा डेटा रखा जा सकता है.
criteriaobject या array
choice के लिए (ज़रूरी): विकल्पों का एक ऑब्जेक्ट, हर विकल्प के साथ विवरण या null, अधिकतम 255 विकल्प. score के लिए (ज़रूरी): 2 से 10 स्तरों की एक ऐरे, सबसे निचला स्तर पहले. noul के लिए (वैकल्पिक): true और false, यानी हाँ और नहीं का मतलब.

सवालों के प्रकार

प्रकारक्या पूछता हैAnswer
noulहाँ या नहीं वाला सवालnoul: हाँ की संभावना, 0 से 1 तक
choiceआपके विकल्पों में से कौन-सा सही बैठता हैchoice, हर विकल्प का probabilities, और एक confidence
scoreआपके क्रमबद्ध पैमाने पर यह कहाँ आता हैscore, जो स्तरों के बीच भी हो सकता है, एक legend, हर स्तर का probabilities, और एक confidence

एक अनुरोध में तीनों प्रकार शामिल हो सकते हैं, और कई सवाल पूछने की लागत एक सवाल से बस थोड़ी ज़्यादा होती है: स्थिति को एक बार पढ़ा जाता है और उसी के आधार पर सभी सवालों के जवाब एक साथ दिए जाते हैं.

सीमाएँ

  • एक अनुरोध में स्थिति और सभी सवाल मिलाकर अधिकतम 64K टोकन हो सकते हैं, और स्थिति व सबसे लंबे सवाल को मिलाकर अधिकतम 32K.
  • सिर्फ़ टेक्स्ट: एक स्ट्रिंग, JSON ऑब्जेक्ट या ऐरे. इमेज, PDF या ऑडियो को पहले टेक्स्ट में बदलें.
  • स्ट्रीमिंग नहीं: पूरे जवाब एक साथ मिलते हैं, आम तौर पर एक सेकंड से भी कम में.
  • गलत फ़ॉर्मैट वाला अनुरोध (जैसे instructions का न होना या सिर्फ़ एक स्तर वाला स्कोर) मॉडल तक पहुँचने से पहले ही 400 के साथ अस्वीकार कर दिया जाता है और उसकी कोई लागत नहीं लगती. 64K टोकन से बड़े अनुरोध भी इसी तरह context_length_exceeded कोड के साथ अस्वीकार कर दिए जाते हैं.

बेहतर जवाब पाएं

Jev निर्देशों को शब्दशः पढ़ता है, इसलिए शर्त साफ़-साफ़ लिखें और सीमांत मामलों को मापदंडों में शामिल करें. गिनती, गणना और तारीखों की तुलना कोड में ही करें, और स्थिति का सिर्फ़ वही हिस्सा भेजें जिसकी सवाल के लिए ज़रूरत है. यह पहले विकल्प की ओर झुक सकता है: किसी अहम निर्णय के लिए विकल्पों का क्रम बदलकर जाँचें कि जवाब वही रहता है या नहीं.

निर्णयों की लागत

Jev की बिलिंग उसके गिने हुए इनपुट टोकन पर होती है: आपकी स्थिति और सवाल, साथ ही हर अनुरोध में उसके अपने लगभग 270 टोकन. TypeSafe की तरह यहाँ भी जवाब मुफ़्त हैं. लगभग 300 टोकन वाले छोटे अनुरोध की लागत करीब $0.00001 है, यानी ऐसे दस लाख अनुरोधों की लागत करीब $10 होती है. हर जवाब के usage और x-zurelay-input-tokens हेडर बताते हैं कि बिलिंग किस आधार पर हुई, हर अनुरोध आपके अनुरोध लॉग में दर्ज होता है, और विफल अनुरोधों की कोई लागत नहीं लगती.

डैशबोर्ड के प्लेग्राउंड में अपनी सामग्री और सवाल आज़माएं: Jev चुनें, सामग्री पेस्ट करें और उसके बगल में सवाल सेट करें. इसका कोड पाएं बटन उसी अनुरोध का कोड Python, Node.js या cURL में तैयार कर देता है.

कोई सवाल है, या कुछ छूट गया है? हमारी सहायता टीम से पूछें और हम ईमेल से जवाब देंगे, आम तौर पर एक मिनट के भीतर.