Unquant

Opening your workspace…

Unquant

चैट कम्प्लीशन

OpenAI-संगत चैट कम्प्लीशन, जिनमें स्ट्रीमिंग, इमेज, टूल कॉलिंग और रीज़निंग पर नियंत्रण का सपोर्ट है।

POST /v1/chat/completions

curl https://api.unquant.io/v1/chat/completions \
  -H "Authorization: Bearer $UNQUANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.3-flash",
       "messages":[{"role":"user","content":"Hello!"}]}'

रिक्वेस्ट फ़ील्ड

मुख्य फ़ील्ड
modelस्ट्रिंगज़रूरी

glm-5.3-flash या qwen-3.8-flash-next।

messagesऐरेज़रूरी

रोल: system, user, assistant और tool। कॉन्टेंट एक स्ट्रिंग या text और image_url हिस्सों का ऐरे होता है।

streamबूलियन

जवाब को सर्वर-सेंट इवेंट के रूप में स्ट्रीम करें।

stream_optionsऑब्जेक्ट

{"include_usage": true} आखिर में एक चंक जोड़ता है जिसमें टोकन की गिनती होती है।

लंबाई
max_tokensपूर्णांक

जवाब की लंबाई की अधिकतम सीमा।

max_completion_tokensपूर्णांक

max_tokens के समान।

सैंपलिंग
temperatureसंख्या

सैंपलिंग में रैंडमनेस का स्तर।

top_pसंख्या

न्यूक्लियस सैंपलिंग।

top_kपूर्णांक

सबसे ज़्यादा संभावना वाले k टोकन में से सैंपल चुनें।

min_pसंख्या

किसी टोकन के लिए न्यूनतम सापेक्ष संभावना।

seedपूर्णांक

सैंपलिंग के नतीजे दोहराने के लिए सीड।

stopस्ट्रिंग या ऐरे

वे सीक्वेंस जिन पर जवाब बनना बंद हो जाता है।

दोहराव
frequency_penaltyसंख्या

टोकन कितनी बार आए हैं, उसके आधार पर उनकी पेनल्टी तय करें।

presence_penaltyसंख्या

जो टोकन पहले आ चुके हैं, उन पर पेनल्टी लगाएँ।

repetition_penaltyसंख्या

दोहराव की पेनल्टी, जो गुणा करके लागू की जाती है।

टूल
toolsऐरे

OpenAI फ़ॉर्मैट में वे फ़ंक्शन जिन्हें मॉडल कॉल कर सकता है।

tool_choiceस्ट्रिंग या ऑब्जेक्ट

auto, none, required या नाम से चुना गया कोई फ़ंक्शन।

parallel_tool_callsबूलियन

एक ही टर्न में कई टूल कॉल की अनुमति दें।

आउटपुट
response_formatऑब्जेक्ट

जेएसओएन आउटपुट।

logprobsबूलियन

टोकन की लॉग प्रॉबेबिलिटी लौटाएँ।

top_logprobsपूर्णांक

हर टोकन के लिए कितने विकल्प लौटाने हैं।

nपूर्णांक

वैल्यू 1 ही होनी चाहिए: हर रिक्वेस्ट पर एक कम्प्लीशन।

रीज़निंग
reasoning_effortस्ट्रिंग

दोनों मॉडल में: none, low या high; GLM-5.3-Flash में max भी दे सकते हैं।

chat_template_kwargsऑब्जेक्ट

टेम्प्लेट के स्विच, जैसे {"enable_thinking": false}।

बाकी फ़ील्ड अनदेखे कर दिए जाते हैं।

रिस्पॉन्स

response.choices[0].message.content

उपयोग की गिनती आपकी अपनी निगरानी के लिए लौटाई जाती है; इसके आधार पर कभी शुल्क नहीं लिया जाता।

स्ट्रीमिंग

"stream": true होने पर जवाब OpenAI के चंक फ़ॉर्मैट में सर्वर-सेंट इवेंट के रूप में आता है और data: [DONE] पर समाप्त होता है। टेक्स्ट को choices[0].delta.content से पढ़ें।

इमेज

दोनों मॉडल इमेज को image_url हिस्सों के रूप में स्वीकार करते हैं, जिनमें बेस64 डेटा यूआरएल होता है (data:image/png;base64,..., जेपीईजी या वेबपी)। यूआरएल से लिंक की गई इमेज डाउनलोड नहीं की जातीं और ऐसा लिंक देने पर 400 एरर मिलता है।

{"role": "user", "content": [
  {"type": "text", "text": "Describe this image."},
  {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}

टूल कॉलिंग

tools को उसी तरह भेजें जैसे OpenAI एपीआई में भेजते हैं। जब मॉडल कोई टूल कॉल करता है, तो जवाब में finish_reason: "tool_calls" और message.tool_calls होते हैं; टूल चलाएँ, उसके नतीजे और उससे मेल खाते tool_call_id वाला tool मैसेज जोड़ें, फिर दोबारा कॉल करें।

रीज़निंग

दोनों मॉडल जवाब देने से पहले सोच-विचार करते हैं और दोनों में reasoning_effort दिया जा सकता है: सीधे जवाब के लिए none, थोड़े सोच-विचार के लिए low या मुश्किल समस्याओं के लिए high; GLM-5.3-Flash में max भी उपलब्ध है और इसकी डिफ़ॉल्ट वैल्यू high है। सोचने की प्रक्रिया अलग से reasoning_content में लौटाई जाती है, इसे कभी content में नहीं मिलाया जाता। "thinking": {"type": "disabled"} और "chat_template_kwargs": {"enable_thinking": false} भी रीज़निंग बंद कर देते हैं।

एक साथ चलने वाली रिक्वेस्ट

आपका प्लान तय करता है कि आपकी सभी की से कुल कितनी रिक्वेस्ट एक साथ चल सकती हैं। इस सीमा से ज़्यादा रिक्वेस्ट भेजने पर तुरंत 429 एरर मिलता है और रिक्वेस्ट को कतार में नहीं रखा जाता; पहले से चल रही रिक्वेस्ट पर कोई असर नहीं पड़ता।

डेवलपर गाइड