نئے سیکھنے والوں کے لیے AIگائیڈ
لمبی AI چیٹ زیادہ مہنگی کیوں ہے: API تاریخ دوبارہ بھیجتا ہے
AI چیٹ میں ہر نیا پیغام پوری تاریخ دوبارہ بھیجتا ہے، تو ان پٹ ہر باری میں بڑھتا ہے۔ حساب دیکھیں اور لاگت کم رکھنے کے 3 طریقے۔

اس صفحہ پر
چیٹ کے پہلے پیغامات سستے ہوتے ہیں۔ پچاسواں پیغام دسویں سے نمایاں طور پر مہنگا ہے، حالانکہ آپ نے اتنا ہی ٹائپ کیا۔ کچھ خراب نہیں ہوا: چیٹ APIs اسی طرح کام کرتے ہیں۔
مختصر جواب#
ماڈل آپ کی پچھلی درخواستیں یاد نہیں رکھتا۔ OpenAI کی دستاویزات صاف کہتی ہیں: "each text generation request is independent and stateless"، اور کثیر-باری گفتگو کے لیے آپ اگلی درخواست میں پہلے کے پیغامات اور ماڈل کا پچھلا جواب شامل کرتے ہیں۔ Anthropic کی Messages API بھی یہی نمونہ بیان کرتی ہے: بےریاست کثیر-باری گفتگو، جہاں پہلی باریاں messages پیرامیٹر میں بھیجی جاتی ہیں۔
تو ایپ میں جو چیٹ ونڈو آپ دیکھتے ہیں وہ ایپ کی بنائی ہوئی ایک فریب ہے۔ اس کے پیچھے، ہر نیا پیغام ایک نئی درخواست ہے جو اب تک کی پوری گفتگو ساتھ لے کر جاتی ہے۔ آپ ہر درخواست پر ان پٹ ٹوکنز ادا کرتے ہیں، اور تاریخ اس ان پٹ کا حصہ ہے۔ اگر آپ اصطلاحات میں نئے ہیں تو پہلے What is a token اور Input vs output tokens پڑھیں۔
OpenAI اپنی رسپانس چینز کے لیے بلنگ کی طرف واضح طور پر بتاتا ہے: چین میں پچھلے تمام ان پٹ ٹوکنز ان پٹ ٹوکنز کے طور پر بل کیے جاتے ہیں۔ یہی اصول کسی بھی API پر لاگو ہوتا ہے جہاں آپ خود تاریخ بھیجتے ہیں: جو آپ بھیجتے ہیں وہی گنا جاتا ہے۔
فرضی نمبروں کے ساتھ ایک مثال#
نیچے دیے گئے نمبر ایک تدریسی مثال ہیں، کوئی پیمائش نہیں۔ فرض کریں کہ آپ کا ہر پیغام تقریباً 200 ٹوکنز کا ہے اور ہر جواب تقریباً 300 ٹوکنز کا۔ ایک مکمل تبادلہ تاریخ میں 500 ٹوکنز کا اضافہ کرتا ہے۔
ٹیبل کو دائیں طرف اسکرول کریں →
| باری | دوبارہ بھیجی گئی پہلی تاریخ | نیا پیغام | اس درخواست کا ان پٹ | آؤٹ پٹ |
|---|---|---|---|---|
| 1 | 0 | 200 | 200 | 300 |
| 5 | 500 × 4 = 2,000 | 200 | 2,200 | 300 |
| 10 | 500 × 9 = 4,500 | 200 | 4,700 | 300 |
| 20 | 500 × 19 = 9,500 | 200 | 9,700 | 300 |
جواب کی لمبائی وہی رہتی ہے، لیکن باری 20 کا ان پٹ باری 1 کے ان پٹ سے تقریباً پچاس گنا ہے۔ آؤٹ پٹ نہیں بڑھتا؛ ان پٹ بڑھتا ہے۔
اب 20 باریوں کی چیٹ کا کل۔ تاریخ کو 0، 1، 2 ... 19 بار جتنے تبادلے ہیں دوبارہ بھیجا جاتا ہے، جو ایک سادہ مجموعہ ہے:
- پرانے تبادلے دوبارہ بھیجے گئے: 500 × 190 = 95,000 ٹوکنز (190 ہے 0 + 1 + 2 + ... + 19)۔
- نئے پیغامات: 200 × 20 = 4,000 ٹوکنز۔
- چیٹ کے لیے کل ان پٹ: 95,000 + 4,000 = 99,000 ٹوکنز۔
- کل آؤٹ پٹ: 300 × 20 = 6,000 ٹوکنز۔
اگر ماڈل سب کچھ مفت یاد رکھتا تو ان پٹ صرف 200 × 20 = 4,000 ٹوکنز ہوتا۔ باقی تاریخ کا دوبارہ بھیجا جانا ہے۔ باریوں کی تعداد دوگنی کرنے سے تاریخ کی لاگت دوگنی نہیں ہوتی، بلکہ تقریباً چار گنا ہو جاتی ہے، کیونکہ مجموعہ باریوں کی تعداد کے مربع کے ساتھ بڑھتا ہے۔
لائیو قیمتوں پر اس کی لاگت#
یہی 20 باریوں کی چیٹ (99,000 ان پٹ، 6,000 آؤٹ پٹ) موجودہ قیمتوں پر۔ جدول لائیو ہے اور ٹیرف بدلنے پر اپ ڈیٹ ہوتا ہے؛ آخری کالم موازنے کے لیے OpenRouter کی حوالہ قیمت ہے۔
| ماڈل | ان پٹ $/1M | آؤٹ پٹ $/1M | لاگت | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0022 | $0.0045 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0021 | $0.0056 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0059 | $0.0369 |
کل 99,000 ان پٹ اور 6,000 آؤٹ پٹ ٹوکنز۔ فی 1M ٹوکنز کی قیمتیں موجودہ ہیں اور ہمارے ٹیرف کے ساتھ تبدیل ہوتی ہیں؛ OpenRouter کالم اسی ورک لوڈ کے لیے حوالہ جاتی قیمتیں دکھاتا ہے۔
متن میں فوری جانچ کے لیے: MiniMax-M2.7 پر یہ پوری گفتگو $0.0059 کی لاگت کرتی ہے۔ اس جیسی چیٹ میں، جہاں ان پٹ غالب ہے، ان پٹ کی قیمت سب سے زیادہ اہمیت رکھتی ہے: MiniMax-M2.7 پر یہ OpenRouter کی حوالہ قیمت سے سستی ہے۔ فی 1M ٹوکنز، MiniMax-M2.7 ان پٹ کے لیے $0.05 اور آؤٹ پٹ کے لیے $0.15 ہے۔
اسے کم رکھنے کے تین طریقے#
1. موضوع بدلنے پر نئی چیٹ شروع کریں#
سب سے سستی تاریخ خالی تاریخ ہے۔ اگر آپ نے کسی فنکشن کی ڈیبگنگ مکمل کر لی اور اب کوئی ترکیب چاہتے ہیں، تو نئی چیٹ 9,700 کے بجائے 200 ٹوکنز بھیجتی ہے۔ ایپ میں یہ ایک بٹن ہے؛ کوڈ میں یہ history = [] ہے۔ جب بھی پہلا سیاق اگلے سوال میں مددگار نہ رہے تو ایسا کریں۔
2. تاریخ کو تراشیں#
صرف آخری چند پیغامات رکھیں اور باقی چھوڑ دیں۔ فرض کریں آپ آخری تین تبادلے رکھتے ہیں، تو تاریخ کبھی 500 × 3 = 1,500 ٹوکنز سے تجاوز نہیں کرتی:
- باریاں 1-3 معمول کے مطابق بڑھتی ہیں: تاریخ کے 0 + 500 + 1,000 = 1,500 ٹوکنز۔
- باریاں 4-20 ہر ایک محدود 1,500 ساتھ لے کر جاتی ہیں: 1,500 × 17 = 25,500 ٹوکنز۔
- تاریخ کا کل: 1,500 + 25,500 = 27,000 ٹوکنز، جمع 4,000 نئے پیغامات = 31,000 ٹوکنز ان پٹ۔
یہ انہی 20 باریوں کے لیے 99,000 کے بجائے 31,000 ہے، اور MiniMax-M2.7 پر یہ $0.0025 بنتا ہے۔ تراشنے کی قیمت یہ ہے کہ ماڈل چیٹ کا ابتدائی حصہ بھول جاتا ہے، تو سسٹم پرامپٹ اور کوئی بھی حقائق جو ضائع نہیں ہونے چاہئیں، تراشے گئے حصے سے باہر رکھیں۔
3. پرانی باریوں کو خلاصے سے بدلیں#
جب تاریخ لمبی ہو جائے، ماڈل سے ایک بار اس کا خلاصہ بنوائیں، پھر پورے متن کے بجائے خلاصے کے ساتھ جاری رکھیں۔ اوپر کی مثال میں، نو تبادلے 4,500 ٹوکنز ہیں؛ تقریباً 300 ٹوکنز کا خلاصہ اہم نکات آگے لے جاتا ہے۔ آپ خلاصہ لکھنے کے لیے ایک اضافی درخواست ادا کرتے ہیں، اور ہر بعد کی درخواست ہلکی ہوتی ہے۔ یہ سادہ تراشنے سے زیادہ معنی رکھتا ہے، تھوڑی تفصیل کی قیمت پر۔
سیاق ونڈو ایک الگ حد ہے: یہ طے کرتی ہے کہ ایک درخواست کتنے ٹوکنز رکھ سکتی ہے، جواب سمیت۔ تاریخ بالآخر اس حد تک پہنچ جائے گی؛ Why does an AI answer stop mid-sentence? اس کی وضاحت کرتا ہے۔
اسے اپنے کوڈ میں دیکھیں#
جواب میں ایک usage آبجیکٹ ہوتا ہے، تو آپ خود اس اضافے کو دیکھ سکتے ہیں۔ یہ ایک مثال ہے: کلید بدلیں اور ماڈل آئی ڈی CheapTokens کی دستاویزات سے لیں، کیونکہ آئی ڈیز فراہم کنندگان کے درمیان مختلف ہوتی ہیں۔
from openai import OpenAI
client = OpenAI(base_url='https://api.cheaptokens.dev/v1', api_key='YOUR_KEY')
system = {'role': 'system', 'content': 'You are a helpful assistant.'}
history = []
KEEP = 7 # new message + last 3 exchanges (6 messages); None keeps everything
def ask(text):
history.append({'role': 'user', 'content': text})
r = client.chat.completions.create(
model='MODEL_ID_FROM_DOCS',
messages=[system] + (history[-KEEP:] if KEEP else history),
)
answer = r.choices[0].message.content
history.append({'role': 'assistant', 'content': answer})
print(r.usage.prompt_tokens, r.usage.completion_tokens)
return answerask() کو کئی بار مسلسل کال کریں اور prompt_tokens پرنٹ کریں: KEEP = None کے ساتھ یہ ہر باری میں بڑھتا ہے، KEEP = 7 کے ساتھ یہ سطح پر آ جاتا ہے۔ ایسے ایجنٹس کے لیے جو بہت سے مراحل سے گزرتے ہیں، یہی اثر ہر مرحلے پر لاگو ہوتا ہے؛ How to estimate the cost of an AI agent دکھاتا ہے کہ اس کے لیے بجٹ کیسے بنایا جائے۔
لمبی چیٹس کہاں چلائیں#
لمبی گفتگو اور ایجنٹ لوپس بالکل وہی کام ہیں جہاں ان پٹ کا حجم غالب ہوتا ہے، تو بڑی سیاق ونڈو اور لمبے جوابات کی گنجائش دونوں اہم ہیں:
- MiniMax-M2.7: 180K سیاق، فی جواب 8,192 ٹوکنز تک، ان پٹ اور آؤٹ پٹ دونوں OpenRouter کی حوالہ قیمت سے سستے۔
- DeepSeek-V4-Flash: 380K سیاق، فی جواب 32,768 ٹوکنز تک، آؤٹ پٹ OpenRouter کی حوالہ قیمت سے سستا۔
CheapTokens میں تمام ماڈلز کے لیے ایک بیلنس ہے، فی ماڈل مقررہ قیمت بغیر پیک آورز کے، اور OpenAI Chat Completions اور Anthropic Messages کے ساتھ مطابقت پذیر API، تو اوپر کا کوڈ بیس URL بدل کر کام کرتا ہے۔ بیلنس ٹاپ اپ کریں اور Your first API request with CheapTokens پر عمل کرتے ہوئے اپنی پہلی درخواست بھیجیں۔



