আপনার অ্যাপে Claude API কীভাবে যুক্ত করবেন
Claude API যুক্ত করতে Anthropic-এর Claude Console-এ একটি API কী তৈরি করুন, সেটি একটি সার্ভার-সাইড সিক্রেট হিসেবে সংরক্ষণ করুন (সাধারণত ANTHROPIC_API_KEY), এবং আপনার নিজের সার্ভারের একটি রুট থেকে Anthropic-এর অফিসিয়াল SDK-গুলোর একটি ব্যবহার করে Messages API কল করুন। প্রতিটি অনুরোধে একটি model নাম থাকে, max_tokens সেট করা হয় (আপনি সবচেয়ে লম্বা কত উত্তর নিতে রাজি), এবং কথোপকথন যায় messages হিসেবে, আর আপনার নির্দেশনা থাকে আলাদা system প্রম্পটে। খরচের সীমা সেট করুন, দীর্ঘ উত্তর স্ট্রিম করুন, এবং রেট-লিমিট (429) ও ওভারলোড (529) ত্রুটি রিট্রাই দিয়ে সামলান।
এই গাইডে আছে সেটআপ, একটি নিরাপদ অনুরোধ-প্রবাহ, একটি AI বিল্ডারের জন্য প্রম্পট, আর যেসব ত্রুটির জন্য প্রস্তুতি লাগে। Anthropic-এর তথ্য ২০২৬ সালের সেপ্টেম্বর পর্যন্ত তাদের ডকুমেন্টেশন থেকে নেওয়া। টোকেন ও দাম সাধারণভাবে কীভাবে কাজ করে তা জানতে দেখুন কীভাবে LLM API ব্যবহার করবেন।
এটি দিয়ে কী বানানো যায়
- চ্যাট সহকারী ও সাহায্য উইজেট (কীভাবে AI চ্যাটবট অ্যাপ বানাবেন)
- সারসংক্ষেপ, পুনর্লিখন ও উত্তরের খসড়া
- নথি, ইমেইল ও ফর্ম থেকে তথ্য বের করা
- আপনার নিজের কনটেন্ট থেকে প্রশ্নের উত্তর দেওয়া
- টুল ব্যবহারের মাধ্যমে আপনার অ্যাপের ফাংশন কল করা এজেন্ট
আরও ধারণার জন্য দেখুন আপনার অ্যাপে AI ফিচার কীভাবে যোগ করবেন।
Messages API সংক্ষেপে
Anthropic-এর API রেফারেন্স অনুযায়ী একটি অনুরোধ হলো https://api.anthropic.com/v1/messages-এ একটি POST, যার সঙ্গে থাকে:
| অংশ | এটি কী |
|---|---|
x-api-key হেডার | আপনার API কী |
anthropic-version হেডার | API সংস্করণ, যেমন 2023-06-01 |
model (আবশ্যিক) | কোন Claude মডেল ব্যবহার হবে |
max_tokens (আবশ্যিক) | উত্তরে সর্বোচ্চ কতটি টোকেন থাকতে পারে; মডেল আগেই থামতে পারে |
messages (আবশ্যিক) | কথোপকথন: একটি একটি করে user ও assistant বার্তা |
system (ঐচ্ছিক) | পুরো কথোপকথনে প্রযোজ্য নির্দেশনা |
stream (ঐচ্ছিক) | উত্তর লেখার সঙ্গে সঙ্গে পেতে true সেট করুন, server-sent events-এর মাধ্যমে |
API স্টেটলেস: কথোপকথন চালিয়ে যেতে প্রতিটি অনুরোধের সঙ্গে আগের বার্তাগুলো আবার পাঠাতে হয়। এ কারণেই দীর্ঘ চ্যাটের প্রতিটি বার্তা বেশি খরচ হয়।
Anthropic Python, TypeScript, C#, Go, Java, PHP ও Ruby-র জন্য অফিসিয়াল SDK দেয়। এগুলো হেডার সেট করে, উত্তর পার্স করে এবং স্ট্রিমিং সাপোর্ট করে। কোনো বিশেষ কারণ না থাকলে কাঁচা HTTP-এর বদলে একটি SDK ব্যবহার করুন।
মডেল বেছে নেওয়া
Anthropic কয়েকটি Claude মডেল দেয় যেগুলো সক্ষমতা, গতি ও দামের মধ্যে ভারসাম্য রাখে, আর এই লাইন-আপ বদলায়। আপনার কাজ ভালোভাবে করতে পারে এমন সবচেয়ে ছোট মডেল বেছে নিন, বাস্তব উদাহরণে পরীক্ষা করুন, এবং মডেল ID কনফিগারেশনে রাখুন যাতে কোড না বদলে মডেল বদলানো যায়। বর্তমান বিকল্প ও দামের জন্য Anthropic-এর মডেল ও প্রাইসিং পাতা দেখুন।
আপনার অ্যাকাউন্ট সেটআপ
- platform.claude.com-এ Claude Console-এ সাইন ইন করুন এবং বিলিং যোগ করুন।
- একটি API কী তৈরি করুন। টেস্টিং ও প্রোডাকশনের জন্য আলাদা কী রাখুন, যাতে একটি বাতিল করলে অন্যটি না ভাঙে।
- খরচের সীমা সেট করুন। Anthropic-এর ত্রুটির পাতা বলছে আপনার সেট করা খরচের সীমায় পৌঁছালে API 400 ত্রুটি দেয়, তাই আপনার অ্যাপ তখন একটি স্পষ্ট বার্তা দেখাবে।
- Console-এ আপনার অ্যাকাউন্টের রেট লিমিট দেখুন; এগুলো প্রতি অর্গানাইজেশনে মাপা হয়।
অনুরোধের প্রবাহ
- ব্যবহারকারী আপনার অ্যাপে কাজ করেন: বার্তা পাঠান, "সারসংক্ষেপ" ক্লিক করেন।
- ব্রাউজার সরাসরি Anthropic নয়, আপনার সার্ভারের রুটে কল করে।
- আপনার সার্ভার যাচাই করে ব্যবহারকারী লগইন করা ও এই ফিচার ব্যবহারের অনুমতি আছে কি না, এবং ব্যবহারকারীপ্রতি একটি সীমা প্রয়োগ করে।
- এটি অনুরোধ তৈরি করে: আপনার নিয়মসহ একটি system প্রম্পট, ব্যবহারকারীর ইনপুট, এবং কাজের জন্য প্রয়োজনীয় ডেটাবেসের তথ্য।
- এটি পরিবেশ থেকে নেওয়া কী দিয়ে Messages API কল করে, সঙ্গে একটি যুক্তিসঙ্গত
max_tokens। - উত্তর ব্রাউজারে স্ট্রিম করে এবং উত্তরের টোকেন ব্যবহার লগ করে।
বিকল্প ও ট্রেড-অফ
| সিদ্ধান্ত | সহজ পছন্দ | আরও এগোলে যা করবেন |
|---|---|---|
| স্ট্রিমিং | পুরো উত্তরের জন্য অপেক্ষা | চ্যাট ও দীর্ঘ যেকোনো কিছুর জন্য স্ট্রিম করুন; Anthropic দীর্ঘ-চলা অনুরোধে স্ট্রিমিং বা batches সুপারিশ করে |
| আউটপুট ফরম্যাট | সাধারণ টেক্সট | আপনার কোডকে ফিল্ড পড়তে হলে স্ট্রাকচার্ড JSON আউটপুট |
| আপনার ডেটা | প্রাসঙ্গিক রেকর্ড অন্তর্ভুক্ত করা | অনেক বেশি হলে আপনার কনটেন্টে রিট্রিভাল (RAG কী) |
| কাজ | মডেল শুধু টেক্সট লেখে | টুল ব্যবহার, যেখানে মডেল আপনার সংজ্ঞায়িত একটি ফাংশন চালাতে বলে |
| বড় পরিমাণ, জরুরি নয় এমন কাজ | আইটেমের ওপর লুপ | Message Batches API, যেখানে জমা দিয়ে ফলাফলের জন্য অপেক্ষা করেন |
আপনার AI বিল্ডারকে দেওয়ার প্রম্পট
প্রথম ফিচার:
একটি "Ask about this document" প্যানেল যোগ করুন। এটি একটি সার্ভার রুট POST /api/ask-কে কল করে, যা যাচাই করে ব্যবহারকারী লগইন করা এবং নথির মালিক, তারপর অফিসিয়াল Anthropic SDK ও সিক্রেট ANTHROPIC_API_KEY ব্যবহার করে Claude Messages API কল করে। মডেল ID পড়ুন সিক্রেট CLAUDE_MODEL থেকে। System প্রম্পট: "শুধু প্রদত্ত নথি থেকে উত্তর দিন। উত্তর না থাকলে তা বলুন।" নথির টেক্সট ও প্রশ্ন পাঠান, max_tokens 800 সেট করুন, উত্তর পেজে স্ট্রিম করুন, এবং কখনো কী ব্রাউজারে প্রকাশ করবেন না।
গার্ডরেল ও ত্রুটি:
প্রতি ব্যবহারকারীকে ঘণ্টায় ২০টি প্রশ্নে সীমাবদ্ধ করুন, ডেটাবেসে ট্র্যাক করে। প্রতিটি উত্তর থেকে ইনপুট ও আউটপুট টোকেন ব্যবহারকারী ID ও রিকোয়েস্ট ID-সহ লগ করুন। 429 বা 529 ত্রুটিতে এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে সর্বোচ্চ ৩ বার আবার চেষ্টা করুন, retry-after হেডার মেনে চলে, তারপর দেখান "সহকারী এখন ব্যস্ত, একটু পরে আবার চেষ্টা করুন।" API খরচের সীমার ত্রুটি দিলে দেখান "AI ফিচার সাময়িকভাবে বন্ধ আছে" এবং অ্যাডমিনকে সতর্ক করুন।
যেসব ত্রুটির জন্য প্রস্তুত থাকতে হবে
Anthropic-এর ত্রুটির ডকুমেন্টেশন থেকে, যেগুলো আপনার অ্যাপে সত্যিই আসবে:
| কোড | ধরন | করণীয় |
|---|---|---|
| 400 | invalid_request_error | অনুরোধ ঠিক করুন; আপনার সেট করা খরচের সীমায় পৌঁছালেও এটি আসে |
| 401 | authentication_error | কী আছে, সঠিক ও বাতিল না হয়েছে তা যাচাই করুন |
| 413 | request_too_large | কম পাঠান; Messages API প্রতি অনুরোধে ৩২ MB পর্যন্ত নেয় |
| 429 | rate_limit_error | ব্যাকঅফ করে আবার চেষ্টা করুন, retry-after মেনে |
| 500 | api_error | ব্যাকঅফ দিয়ে আবার চেষ্টা করুন; সমস্যা থাকলে রিকোয়েস্ট ID সহ সাপোর্টে যোগাযোগ করুন |
| 529 | overloaded_error | সব ব্যবহারকারী মিলিয়ে সাময়িক বেশি ট্র্যাফিক; ব্যাকঅফ করে আবার চেষ্টা করুন |
Anthropic-এর ডকুমেন্ট বলে অফিসিয়াল SDK-গুলো ডিফল্টভাবে অস্থায়ী ব্যর্থতায় (সংযোগ ত্রুটি, রেট লিমিট ও 5xx ত্রুটি) এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে দুইবার স্বয়ংক্রিয়ভাবে আবার চেষ্টা করে, এবং আপনি এটি কনফিগার করতে পারেন। প্রতিটি উত্তরে একটি request-id হেডার থাকে; সমস্যা ট্রেস করতে সাপোর্টের জন্য সেটি লগ করুন।
সাধারণ ভুল
- ব্রাউজার থেকে API কল করা। আপনার কী প্রকাশ্য হয়ে যায়। সবসময় আপনার সার্ভারের মাধ্যমে যান। দেখুন API কী নিরাপদ রাখার উপায়।
max_tokensএকটি সীমা, লক্ষ্য নয়, তা ভুলে যাওয়া। ফিচারের যা দরকার সেটি সেট করুন; খুব কম হলে উত্তর কাটা যায়, খুব বেশি হলে দীর্ঘ ও ব্যয়বহুল উত্তরের ঝুঁকি থাকে।- নিয়মগুলো ব্যবহারকারীর বার্তায় রাখা। স্থায়ী নির্দেশনা
systemপ্রম্পটে থাকা উচিত; অনুমতি থাকে আপনার কোডে। - পুরো চ্যাট চিরকাল পাঠানো। কথোপকথন বড় হলে পুরোনো বার্তা ছেঁটে বা সারসংক্ষেপ করে ফেলুন।
- কোনো খরচের সীমা বা ব্যবহারকারীপ্রতি সীমা না থাকা।
- মডেল ID কোডে হার্ড-কোড করা। মডেল আপডেট ও অবসর হয়।
- স্টপ রিজন উপেক্ষা করা। উত্তর যদি
max_tokens-এ পৌঁছে থামে, ব্যবহারকারীকে জানান বা সীমা বাড়ান।
চেকলিস্ট
- Claude Console-এ API কী তৈরি হয়েছে এবং সার্ভার-সাইড সিক্রেট হিসেবে সংরক্ষিত
- টেস্টিং ও প্রোডাকশনের জন্য আলাদা কী
- খরচের সীমা সেট; সীমায় পৌঁছালে স্পষ্ট বার্তা
- সব অনুরোধ আপনার সার্ভারের মধ্য দিয়ে যায় এবং অনুমতি যাচাই হয়
- System প্রম্পটে নিয়ম; মডেল ID কনফিগারযোগ্য
- প্রতিটি ফিচারের জন্য
max_tokensসেট; দীর্ঘ উত্তর স্ট্রিম করা - আপনার অ্যাপে ব্যবহারকারীপ্রতি রেট লিমিট
- 429 ও 529 ব্যাকঅফসহ সামলানো; রিকোয়েস্ট ID লগ করা
- বন্ধুত্বপূর্ণ ত্রুটি অবস্থা যা পেজ ভাঙে না
- খালি, খুব লম্বা ও শত্রুভাবাপন্ন ইনপুটে পরীক্ষা করা
Mythex-এ Claude API ব্যবহার
Mythex-এ আপনার বানানো অ্যাপে Claude ফিচার আপনার নিজের Anthropic কী ব্যবহার করে এবং আপনার Anthropic অ্যাকাউন্টে বিল হয়, Mythex-এর বিল্ড ক্রেডিটে নয়। সেটি সেই Mythex এজেন্ট থেকে আলাদা যা আপনার কোড লেখে। /secrets, প্রোজেক্ট সেটিংস বা চ্যাটের সিক্রেট কার্ডের মাধ্যমে ANTHROPIC_API_KEY-কে প্রোজেক্ট সিক্রেট হিসেবে যোগ করুন, তারপর উপরের মতো প্রম্পট ব্যবহার করে ফিচারটি বর্ণনা করুন। লাইভ অ্যাপে সিক্রেট বদলালে আবার প্রকাশ করুন। শুরুর প্রম্পটের জন্য দেখুন নিজের API কী দিয়ে অ্যাপে AI ফিচার যোগ করুন। প্রোভাইডার বেছে নিতে থাকলে, একই বিষয় OpenAI-এর জন্য দেখুন কীভাবে OpenAI API যুক্ত করবেন।
প্রশ্নোত্তর
Claude API কী কীভাবে পাব?
platform.claude.com-এ Claude Console-এ সাইন ইন করুন, বিলিং সেট আপ করুন, তারপর একটি API কী তৈরি করুন। এটি একটি সার্ভার-সাইড সিক্রেট হিসেবে সংরক্ষণ করুন, সাধারণত ANTHROPIC_API_KEY নামে, এবং কখনো ব্রাউজার কোডে রাখবেন না।
Claude API-তে একটি অনুরোধে কী কী লাগে?
Anthropic-এর Messages API রেফারেন্স অনুযায়ী ২০২৬ সালের সেপ্টেম্বর পর্যন্ত বডিতে তিনটি আবশ্যিক ফিল্ড আছে: model, max_tokens এবং messages। সরাসরি HTTP কলে x-api-key ও anthropic-version হেডারও লাগে; অফিসিয়াল SDK-গুলো এগুলো নিজে থেকেই সেট করে।
Claude API থেকে 529 ত্রুটি মানে কী?
Anthropic-এর ত্রুটির পাতায় 529 কে overloaded_error হিসেবে বর্ণনা করা হয়েছে: সব ব্যবহারকারী মিলিয়ে বেশি ট্র্যাফিকের কারণে API সাময়িকভাবে overloaded। এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে আবার চেষ্টা করুন। অফিসিয়াল SDK-গুলো কিছু সাময়িক ত্রুটিতে নিজে থেকে আবার চেষ্টা করে।
OpenAI SDK-র জন্য লেখা কোডে কি Claude ব্যবহার করা যায়?
Anthropic একটি OpenAI SDK কম্প্যাটিবিলিটি স্তরের কথা নথিভুক্ত করেছে, যাতে OpenAI SDK-র মাধ্যমে Claude ব্যবহার করা যায়। নতুন কোডের জন্য তাদের নিজস্ব SDK Claude-নির্দিষ্ট ফিচার দেয়, তাই সাধারণত সেটিই ভালো শুরু।