इसे छोड़कर कंटेंट पर जाएं
मुफ़्त साइन अप करें
मॉडल कॉल

max_tokens क्या है? इसे सेट न करने पर क्या होता है?

max_tokens, max_completion_tokens और max_output_tokens का अंतर समझें। मॉडल कॉल में आउटपुट टोकन की सीमा सही तरह सेट करें।

संक्षिप्त उत्तर

max_tokens सीमित करता है कि model एक response में कितने tokens generate कर सकता है। अलग APIs और models अलग field names, required settings और default behavior उपयोग करते हैं।

stable output के लिए long answers, code generation और documentation tasks पर explicit output limit सेट करें। Claude / Anthropic-compatible API calls के लिए सामान्यतः max_tokens स्पष्ट रूप से भेजना होता है।

मुख्य अवधारणाएं

अवधारणाअर्थ
Input tokensआपके messages, context, file content, tool results और अन्य input
Output tokensmodel द्वारा generate किया गया visible response
Reasoning tokensकुछ reasoning models द्वारा internally उपयोग hidden reasoning tokens
Context windowinput, output और कुछ internal tokens की साझा limit
Output limitएक response में generate अधिकतम visible output

output limit बहुत छोटा होने पर response कट सकता है। बहुत बड़ा होने पर model हमेशा उतने tokens generate नहीं करेगा, लेकिन long-output tasks की लागत बढ़ सकती है।

अलग parameter names

Parameterसामान्य उपयोग
max_tokensClaude / Anthropic Messages API और कुछ Chat Completions setups
max_completion_tokensChat Completions के जरिए कुछ OpenAI reasoning models
max_output_tokensOpenAI Responses API के लिए सामान्य output limit field

Codex CLI या Responses API आधारित अन्य tool उपयोग करने पर उस tool या provider द्वारा वर्तमान में समर्थित field का पालन करें। हर model के लिए समान parameter name hard-code न करें।

इसे सेट न करने पर क्या होता है

behavior provider और API के अनुसार अलग है:

Scenarioसंभावित परिणाम
Claude / Anthropic-compatible APIexplicit max_tokens value आवश्यक हो सकता है
OpenAI-compatible Chat Completionsmodel का default behavior उपयोग हो सकता है
OpenAI Responses APImax_output_tokens या tool का default उपयोग हो सकता है
अन्य modelsअपनी default output limits हो सकती हैं

models बदलने के बाद समान code अलग output lengths उत्पन्न कर सकता है। production में अप्रत्याशित परिणाम घटाने के लिए explicit output limit सेट करें।

अनुशंसित ranges

Taskसुझाई गई range
General Q&A1024 - 4096
code explanation / small edits4096 - 8192
long-form writing / complex coding tasksmodel limit के अनुसार 8192 या अधिक
batch tasksअप्रत्याशित रूप से लंबे responses से बचने के लिए छोटी limit उपयोग करें

actual maximum के लिए model plaza और upstream model docs जांचें। model output limits version के अनुसार बदल सकती हैं।

output truncate होने पर क्या करें

response में finish_reason: "length" होने पर model आमतौर पर output limit तक पहुंच गया है।

इस क्रम में troubleshoot करें:

  1. current API द्वारा समर्थित output limit field बढ़ाएं।
  2. जांचें कि सही parameter name उपयोग किया है।
  3. अनावश्यक output घटाने के लिए prompt अधिक focused बनाएं।
  4. बड़े output window वाला model उपयोग करें।
  5. task को कई steps में बांटें।

सामान्य गलतियां

  • मान लेना कि बड़ी max_tokens value हमेशा model को अधिक लिखवाती है।
  • finish_reason जांचे बिना truncation के बाद retry करना।
  • reasoning model के साथ पुराना field name उपयोग करना।
  • context और cost अनुमानित करते समय hidden reasoning tokens को अनदेखा करना।
  • model की अपनी maximum output limit को अनदेखा करना।

BetterToken के बारे में

BetterToken API Key और model request level पर usage record करता है। आप dashboard से models और tasks पर token usage देख सकते हैं।

output limit field अब भी आपके API format और model से तय होता है। इसे कॉन्फ़िगर करते समय model, Base URL, API format और parameter name को साथ जांचें।

संबंधित दस्तावेज