সমস্যা সমাধানগাইড
temperature, top_p, top_k-এ Claude API 400 ত্রুটি: কীভাবে ঠিক করবেন
আপনার Claude অনুরোধ API সংস্করণ 2026-10-21-এ 400 ফেরত দিতে শুরু করেছে? temperature, top_p এবং top_k সরান, অথবা পুরনো সংস্করণে পিন করুন। ভেতরে ধাপগুলো।

এই পৃষ্ঠায়
আপনার Claude অনুরোধ গতকাল কাজ করেছিল, আপনি এটিকে API সংস্করণ 2026-10-21-এ নিয়ে গেছেন (anthropic- হেডার, বা এর জন্য তৈরি একটি SDK রিলিজ), এবং এখন এটি 400 নিয়ে ফিরে আসছে। অনুরোধের বডি দেখুন: যদি এতে temperature, top_p বা top_k থাকে, সেটাই কারণ। ওই তিনটি ফিল্ড মুছে ফেলুন, অনুরোধ পাস হয়ে যাবে।
সংস্করণ 2026-10-21-এর জন্য Anthropic-এর মাইগ্রেশন গাইড অনুযায়ী (https://platform.claude.com/docs/en/api/migration-2026-10-21, ২৪ অক্টোবর ২০২৬-এ যাচাই করা), তিনটির যেকোনো একটি পাঠানো একটি Messages বা Message Batches অনুরোধ 400 ত্রুটি ফেরত দেয়। মানটি প্যারামিটারের ডিফল্ট হলেও এটি ঘটে। আপনার অনুরোধে 400 স্ট্যাটাস এবং ওই ফিল্ড নামগুলো খুঁজুন।
ব্যর্থ অনুরোধটি কেমন দেখায়#
ধরুন আপনার একটি ছোট স্ক্রিপ্ট আছে যা Claude-কে একটি টিকিট সারসংক্ষেপ করতে বলে এবং কম temperature দিয়ে উত্তরটি স্থির রাখে:
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-তেও একই গল্প। আপনি যদি নিজে সংস্করণ হেডার সেট করেন, এই লাইনটিই আপনাকে নতুন আচরণে নিয়ে যায়:
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 অনুরোধ যেগুলো বাদ দেয় তেমন করেছিল।
reply = client.messages.create(
model="<your Claude model>",
max_tokens=500,
messages=[{"role": "user", "content": "Summarise this ticket in two lines: ..."}],
)
সর্বশেষ প্রধান SDK সংস্করণ এবং ant CLI (2.0.0)-তে আর এই প্যারামিটারগুলো নেই, তাই আপগ্রেড করার পর আপনাকে সেগুলো আপনার কোড থেকে সরাতে হবে। একটি 400 আসে সেই অনুরোধ থেকে যা anthropic- দিয়ে যায় এবং এখনও তিনটি ফিল্ডের একটি বহন করে। .NET IChatClient অ্যাডাপ্টারগুলো নরম পথ নেয়: তারা এখন ChatOptions., TopK এবং TopP উপেক্ষা করে। প্রতি ভাষার সঠিক SDK সংস্করণ নম্বর গাইডের Upgrade steps ট্যাবে আছে।
আপনি যদি SDK ছাড়া API কল করেন, সংস্করণটি হল anthropic- হেডার, এবং 2026-10-21 হল সেই মান যা নতুন নিয়ম চালু করে।
সেগুলো সরানোর পর উত্তর কি বদলাবে?#
মডেলের উপর নির্ভর করে, এবং গাইড এখানে নির্দিষ্ট।
- Claude 4.7 এবং পরবর্তী ইতিমধ্যে শুধু ডিফল্ট স্যাম্পলিং মান গ্রহণ করে। আপনার জন্য কিছুই বদলায় না: তারা আগে ডিফল্ট দিয়ে স্যাম্পল করত এবং এখনও করে।
- যে মডেলগুলো অন্য মান গ্রহণ করে, যেমন Claude Sonnet 4.6: আপনি যদি আরও সামঞ্জস্যপূর্ণ আউটপুট পেতে
temperatureকমিয়ে থাকেন, সেই প্রভাবটি চলে যায়, এবং অন্য কোনো সেটিং এটি প্রতিস্থাপন করে না।
যদি একটি নির্দিষ্ট অনুরোধ সত্যিই একটি নন-ডিফল্ট মানের উপর নির্ভর করে, গাইড থেকে আপনার দুটি বিকল্প আছে: প্যারামিটার পাঠানো বন্ধ করুন এবং ডিফল্ট স্যাম্পলিং মেনে নিন, অথবা সেই একটি অনুরোধ anthropic--এ রাখুন।
যদি আপনার উত্তর অবশ্যই কঠোরভাবে সামঞ্জস্যপূর্ণ হতে হয়, তাহলে সামঞ্জস্যতা প্রম্পটে রাখুন: একটি নির্দিষ্ট আউটপুট ফরম্যাট, আপনি যে উত্তর চান তার একটি ছোট উদাহরণ, এবং আপনার কোডে একটি চেক যা ফরম্যাটের বাইরের যেকোনো কিছু প্রত্যাখ্যান করে। এটি একটি সংখ্যার চেয়ে বেশি কাজ, কিন্তু এটি স্যাম্পলিং নবের উপর নির্ভর করে না।
400 দেখলে দ্রুত চেকলিস্ট#
- প্রকল্পে
temperature,top_p,top_kখুঁজুন, র্যাপার এবং শেয়ার করা কনফিগ ফাইলসহ। - ব্যাচ জব পরীক্ষা করুন: নিয়মটি 2026-10-21 দিয়ে তৈরি একটি Message Batch-এর প্রতিটি অনুরোধে প্রযোজ্য, তাই ব্যাচের প্রতিটি অনুরোধের params দেখুন।
- কী বদলেছে তা পরীক্ষা করুন: SDK প্রধান সংস্করণ, CLI সংস্করণ, বা
anthropic-হেডার।version - ফিল্ডগুলো সরান, অথবা সেই অনুরোধের একটি নন-ডিফল্ট মান প্রয়োজন হলে
2023-06-01-এ পিন করুন। - একটি বড় ব্যাচ পুনরায় চালু করার আগে একটি অনুরোধ চালান।
Claude এবং OpenAI-স্টাইল API-এর জন্য একটি কোড পাথ#
একটি সাধারণ সেটআপ: একটি একক হেল্পার যা অনুরোধ তৈরি করে এবং এটি হয় Anthropic Messages-এ বা একটি OpenAI-স্টাইল Chat Completions এন্ডপয়েন্টে পাঠায়। সবচেয়ে সহজ সমাধান হল প্যারামিটারগুলো ভাগ করা। temperature শুধু OpenAI-স্টাইল শাখায় রাখুন, এবং Messages শাখায় যোগ করবেন না।
Chat Completions ফরম্যাটে সেটিংটি একটি সাধারণ অনুরোধ ফিল্ড। CheapTokens-এ এটি OpenAI-সামঞ্জস্যপূর্ণ ঠিকানা https:/ দিয়ে কাজ করে। এখানে DeepSeek-V4-Flash-এ (380K কনটেক্সট, প্রতি উত্তরে সর্বোচ্চ 32,768 আউটপুট টোকেন) একটি অনুরোধ, CheapTokens ডকস থেকে সম্পূর্ণ মডেল আইডিসহ:
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-, সর্বোচ্চ 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-এ আছে।



