بلاگ پر واپس جائیں

خرابیوں کا ازالہگائیڈ

temperature، top_p، top_k پر Claude API 400 ایرر: اسے کیسے ٹھیک کریں

آپ کی Claude درخواست API ورژن 2026-10-21 پر 400 واپس کرنے لگی؟ temperature، top_p اور top_k ہٹا دیں، یا پرانے ورژن پر پن کریں۔ مراحل اندر ہیں۔

از CheapTokens Teamشائع شدہ 5 منٹ کا مطالعہ

ٹرمینل طرز کا کارڈ: Claude API میں temperature، top_p اور top_k کے لیے ایرر 400
اس صفحہ پر
  1. ناکام ہونے والی درخواست کیسی دکھتی ہے
  2. حل: تینوں پیرامیٹرز کو حذف کریں
  3. کیا انہیں ہٹانے کے بعد جوابات بدلیں گے؟
  4. 400 دیکھنے پر فوری چیک لسٹ
  5. Claude اور OpenAI طرز APIs کے لیے ایک کوڈ پاتھ

آپ کی Claude درخواست کل کام کر رہی تھی، آپ نے اسے API ورژن 2026-10-21 (anthropic-version ہیڈر، یا اس کے لیے بنایا گیا SDK ریلیز) پر منتقل کیا، اور اب یہ 400 کے ساتھ واپس آ رہی ہے۔ درخواست کے باڈی کو دیکھیں: اگر اس میں temperature، top_p یا top_k موجود ہے، تو یہی وجہ ہے۔ ان تین فیلڈز کو حذف کریں اور درخواست گزر جائے گی۔

Anthropic کی ورژن 2026-10-21 کے لیے مائیگریشن گائیڈ کے مطابق (https://platform.claude.com/docs/en/api/migration-2026-10-21, 24 اکتوبر 2026 کو چیک کیا گیا)، کوئی بھی Messages یا Message Batches درخواست جو ان تینوں میں سے کوئی بھی بھیجے، 400 ایرر واپس کرتی ہے۔ یہ تب بھی ہوتا ہے جب ویلیو پیرامیٹر کی ڈیفالٹ ہو۔ اپنی درخواست میں 400 اسٹیٹس اور ان فیلڈ ناموں کو تلاش کریں۔

ناکام ہونے والی درخواست کیسی دکھتی ہے#

فرض کریں آپ کے پاس ایک چھوٹا اسکرپٹ ہے جو Claude سے ٹکٹ کا خلاصہ کرنے کو کہتا ہے اور کم temperature کے ساتھ جواب کو مستحکم رکھتا ہے:

python
import anthropic

client = anthropic.Anthropic()

reply = client.messages.create(
    model="<your Claude model>",
    max_tokens=500,
    temperature=0.2,  # <- this line now causes the 400
    messages=[{"role": "user", "content": "Summarise this ticket in two lines: ..."}],
)

سادہ HTTP پر بھی یہی معاملہ ہے۔ اگر آپ خود ورژن ہیڈر سیٹ کرتے ہیں، تو یہ وہ لائن ہے جو آپ کو نئے رویے پر منتقل کرتی ہے:

bash
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2026-10-21" \
  -H "content-type: application/json" \
  -d '{"model": "<your Claude model>", "max_tokens": 500, "top_p": 0.9,
       "messages": [{"role": "user", "content": "Hello"}]}'

حل: تینوں پیرامیٹرز کو حذف کریں#

ہر Messages اور Message Batches درخواست سے temperature، top_p اور top_k کو حذف کریں۔ ان کے بغیر ماڈل اپنی ڈیفالٹس (temperature 1.0) کے ساتھ سیمپل کرتا ہے، بالکل اسی طرح جیسے 2023-06-01 درخواست جو انہیں چھوڑ دیتی ہے۔

python
reply = client.messages.create(
    model="<your Claude model>",
    max_tokens=500,
    messages=[{"role": "user", "content": "Summarise this ticket in two lines: ..."}],
)
پہلے اور بعد: temperature والی درخواست 400 واپس کرتی ہے، وہی درخواست اس کے بغیر گزر جاتی ہے
وہی درخواست temperature ہٹانے سے پہلے اور بعد میں

تازہ ترین بڑے SDK ورژنز اور ant CLI (2.0.0) میں یہ پیرامیٹرز بالکل موجود نہیں ہیں، لہٰذا اپ گریڈ کے بعد آپ کو انہیں اپنے کوڈ سے ہٹانا ہوگا۔ 400 ان درخواستوں سے آتا ہے جو anthropic-version: 2026-10-21 کے ساتھ جاتی ہیں اور اب بھی ان تین فیلڈز میں سے کوئی ایک رکھتی ہیں۔ .NET IChatClient اڈاپٹرز نرم راستہ اختیار کرتے ہیں: وہ اب ChatOptions.Temperature، TopK اور TopP کو نظر انداز کرتے ہیں۔ ہر زبان کے لیے درست SDK ورژن نمبرز گائیڈ کے Upgrade steps ٹیبز میں ہیں۔

اگر آپ SDK کے بغیر API کال کرتے ہیں، تو ورژن anthropic-version ہیڈر ہے، اور 2026-10-21 وہ ویلیو ہے جو نیا اصول فعال کرتی ہے۔

کیا انہیں ہٹانے کے بعد جوابات بدلیں گے؟#

ماڈل پر منحصر ہے، اور گائیڈ یہاں مخصوص ہے۔

  • Claude 4.7 اور بعد کے ورژن پہلے ہی صرف ڈیفالٹ سیمپلنگ ویلیوز قبول کرتے ہیں۔ آپ کے لیے کچھ نہیں بدلتا: وہ پہلے بھی ڈیفالٹس کے ساتھ سیمپل کرتے تھے اور اب بھی کرتے ہیں۔
  • وہ ماڈلز جو دیگر ویلیوز قبول کرتے ہیں، جیسے Claude Sonnet 4.6: اگر آپ نے زیادہ مستقل آؤٹ پٹ کے لیے temperature کم کیا تھا، تو وہ اثر ختم ہو جاتا ہے، اور اس کی جگہ کوئی اور سیٹنگ نہیں آتی۔

اگر کوئی خاص درخواست واقعی غیر ڈیفالٹ ویلیو پر انحصار کرتی ہے، تو گائیڈ میں آپ کے پاس دو آپشنز ہیں: پیرامیٹر بھیجنا بند کریں اور ڈیفالٹ سیمپلنگ قبول کریں، یا اس ایک درخواست کو anthropic-version: 2023-06-01 پر رکھیں۔

اگر آپ کے جوابات لازمی طور پر مستقل ہونے چاہئیں، تو مستقل مزاجی کو پرامپٹ میں ڈالیں: ایک مقررہ آؤٹ پٹ فارمیٹ، مطلوبہ جواب کی مختصر مثال، اور آپ کے کوڈ میں ایک چیک جو فارمیٹ سے ہٹی ہوئی کسی بھی چیز کو مسترد کر دے۔ یہ ایک نمبر سے زیادہ کام ہے، لیکن یہ کسی سیمپلنگ نوب پر منحصر نہیں۔

400 دیکھنے پر فوری چیک لسٹ#

  1. پروجیکٹ میں temperature، top_p، top_k تلاش کریں، بشمول ریپرز اور مشترکہ کنفیگ فائلیں۔
  2. بیچ جابز چیک کریں: یہ اصول 2026-10-21 کے ساتھ بنائے گئے Message Batch کے اندر ہر درخواست پر لاگو ہوتا ہے، لہٰذا بیچ میں ہر درخواست کے پیرامز دیکھیں۔
  3. دیکھیں کیا بدلا: SDK میجر ورژن، CLI ورژن، یا anthropic-version ہیڈر۔
  4. فیلڈز ہٹا دیں، یا اگر اسے غیر ڈیفالٹ ویلیو درکار ہے تو اس درخواست کو 2023-06-01 پر پن کریں۔
  5. بڑا بیچ دوبارہ شروع کرنے سے پہلے ایک درخواست چلائیں۔

Claude اور OpenAI طرز APIs کے لیے ایک کوڈ پاتھ#

ایک عام سیٹ اپ: ایک ہی ہیلپر جو درخواست بناتا ہے اور اسے یا تو Anthropic Messages کو یا OpenAI طرز Chat Completions اینڈ پوائنٹ کو بھیجتا ہے۔ سب سے آسان حل یہ ہے کہ پیرامیٹرز کو الگ کر دیں۔ temperature صرف OpenAI طرز برانچ میں رکھیں، اور اسے Messages برانچ میں نہ ڈالیں۔

Chat Completions فارمیٹ میں یہ سیٹنگ ایک عام درخواست فیلڈ ہے۔ CheapTokens پر یہ OpenAI-کمپیٹیبل ایڈریس https://api.cheaptokens.dev/v1 کے ذریعے کام کرتی ہے۔ یہاں DeepSeek-V4-Flash (380K کانٹیکسٹ، فی جواب زیادہ سے زیادہ 32,768 آؤٹ پٹ ٹوکنز) کو ایک درخواست ہے، جس میں CheapTokens ڈاکس سے مکمل ماڈل آئی ڈی ہے:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "temperature": 0.2,
    "max_tokens": 300,
    "messages": [{"role": "user", "content": "Summarise this ticket in two lines: ..."}]
  }'

اس طرح کی درخواست، جس میں 1,000 ان پٹ ٹوکنز اور 300 آؤٹ پٹ ٹوکنز ہوں، موجودہ قیمت پر $0.000045 کی لاگت آتی ہے۔ DeepSeek-V4-Flash کی دن کے کسی بھی وقت ایک ہی قیمت ہے، کوئی پیک آورز نہیں، اور ایک بیلنس تمام ماڈلز کو کور کرتا ہے۔ 390K کانٹیکسٹ ونڈو کے ساتھ اسی کوڈ پاتھ کے لیے GLM-5.3-Flash (zai-org/GLM-5.3-Flash، زیادہ سے زیادہ 8,192 آؤٹ پٹ ٹوکنز) بھی ہے۔ تمام ماڈلز کی موجودہ قیمتیں pricing page پر ہیں۔

یہ سیٹنگ کیسے برتاؤ کرتی ہے یہ دیکھنے کے لیے System prompt and temperature: what they do and how to set them پڑھیں۔ Python سے Claude-فارمیٹ Messages کال کرنے کے لیے Anthropic Python SDK with CheapTokens دیکھیں۔ بیس ایڈریس اور کی سیٹ اپ CheapTokens docs میں ہے۔