ব্লগে ফিরে যান

শুরু করাগাইড

HTTPie দিয়ে CheapTokens-এ প্রথম অনুরোধ: env-এ কী, = এবং :=

একটি পাঠযোগ্য http কমান্ড যা একটি পরিবেশ ভেরিয়েবলে কী দিয়ে চ্যাট কমপ্লিশন পাঠায়, তারপর দেখায় উত্তর এবং টোকেন ব্যবহার কোথায়।

CheapTokens Team দ্বারাপ্রকাশিত হয়েছে 7 মিনিট পড়ার সময়

একটি টার্মিনাল দেখাচ্ছে একটি http কমান্ড যেখানে বিয়ারার কী ভেরিয়েবল এবং JSON ফিল্ড রয়েছে
এই পৃষ্ঠায়
  1. = এবং := আসলে কী করে
  2. উত্তর কোথায়
  3. মডেল বদলান: একটি ফিল্ড পরিবর্তন করুন
  4. একটি পরীক্ষা অনুরোধের খরচ
  5. যদি এটি কাজ না করে

আপনি জানতে চান যে কী-টি কাজ করছে এবং মডেল আইডি সঠিক, এবং আপনি এটি এক লাইনে জানতে চান। HTTPie-এর http কমান্ড curl-এর তুলনায় অনেক কম কোটিং দিয়ে এটি করে: আপনি ফিল্ডগুলো টাইপ করেন, এটি JSON তৈরি করে। এখানে সম্পূর্ণ অনুরোধ, এবং বাকি নিবন্ধটি প্রতিটি অংশ ব্যাখ্যা করে।

bash
export CHEAPTOKENS_API_KEY="paste-your-key-here"

http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
  POST https://api.cheaptokens.dev/v1/chat/completions \
  model=deepseek-ai/DeepSeek-V4-Flash-0731 \
  max_tokens:=200 \
  'messages:=[{"role":"user","content":"In one sentence, what is a token?"}]'

API-টি OpenAI-সামঞ্জস্যপূর্ণ, তাই বেস URL হল https://api.cheaptokens.dev/v1 এবং চ্যাট অনুরোধগুলি এর অধীনে /chat/completions-এ যায়। মডেল আইডি হল সম্পূর্ণটি, deepseek-ai/DeepSeek-V4-Flash-0731 (প্রাইস টেবিলের সংক্ষিপ্ত নাম গ্রহণ করা হয় না)। যদি আপনি আগে কোনো কী সংরক্ষণ না করে থাকেন, প্রথমে একটি API কী নিরাপদে সংরক্ষণ করুন: export লাইনটি টাইপ করলে কী-টি আপনার শেল ইতিহাসে চলে যায়, তাই একটি প্রোফাইল ফাইল বা সিক্রেটস ম্যানেজার এর জন্য ভালো জায়গা।

টার্মিনালে অনুরোধ: ভেরিয়েবল থেকে বিয়ারার কী, মডেল একটি স্ট্রিং হিসেবে, max_tokens একটি সংখ্যা হিসেবে, messages একটি কাঁচা অ্যারে হিসেবে
টার্মিনালে অনুরোধটি যেমন দেখায়

= এবং := আসলে কী করে#

এটি HTTPie-এর একমাত্র অংশ যা আপনাকে শিখতে হবে। HTTPie-এর JSON ডকুমেন্টেশন (সংস্করণ 3.2.4, তারিখ 1 নভেম্বর 2024, পড়া হয়েছে 9 নভেম্বর 2026) বলে = একটি স্ট্রিং ফিল্ড সেট করে এবং := একটি কাঁচা JSON মান সেট করে: একটি সংখ্যা, একটি বুলিয়ান, একটি অ্যারে বা একটি অবজেক্ট। এইভাবে দেওয়া ফিল্ডগুলি ডিফল্টভাবে একটি JSON বডি হিসেবে পাঠানো হয়, তাই আপনি নিজে Content-Type হেডার যোগ করবেন না।

আমাদের অনুরোধে এটি তিনটি ভিন্ন আকার দেয়:

  • model=deepseek-ai/DeepSeek-V4-Flash-0731 একটি স্ট্রিং, তাই =।
  • max_tokens:=200 একটি সংখ্যা, তাই :=। = দিয়ে আপনি স্ট্রিং "200" পাঠাতেন।
  • messages:=[…] অবজেক্টের একটি অ্যারে, তাই আবার :=, এবং মানটি একক উদ্ধৃতিতে যায় যাতে শেল ভিতরের ডাবল উদ্ধৃতিগুলিকে একা রাখে।

ডকুমেন্টেশন আরও বলে stdin থেকে একটি বডি কমান্ড-লাইন ফিল্ডের সাথে একত্রিত করা যায় না, তাই একটি শৈলী বেছে নিন। প্রথম পরীক্ষার জন্য ফিল্ডগুলি ছোট এবং সম্পাদনা করা সহজ।

দ্রুত যাচাই

max_tokens=200 (একটি সাধারণ = সহ) কী পাঠায়?

উত্তর দেখান

উত্তর: স্ট্রিং "200"

= সর্বদা একটি স্ট্রিং তৈরি করে। একটি সংখ্যার জন্য আপনার := দরকার, তাই max_tokens:=200 লিখুন।

উত্তর কোথায়#

প্রতিক্রিয়াটি OpenAI চ্যাট-কমপ্লিশন ফরম্যাট অনুসরণ করে। আপনি তিনটি জিনিস খুঁজছেন, এবং সেগুলি বিভিন্ন জায়গায় থাকে:

json
{
  "choices": [
    {
      "message": { "role": "assistant", "content": "…the answer text…" },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": …, "completion_tokens": …, "total_tokens": … }
}

উত্তর পাঠ্য হল choices[0].message.content। finish_reason একই পছন্দে এর পাশে, এবং usage শীর্ষ স্তরে। usage দেখায় আপনি কত টোকেন পাঠিয়েছেন (prompt_tokens) এবং মডেল কত লিখেছে (completion_tokens), যা একটি অনুরোধের খরচ অনুমান করার জন্য সুবিধাজনক।

প্রতিক্রিয়ায় কোথায় দেখবেন: choices, message.content, finish_reason এবং usage
প্রতিটি প্রতিক্রিয়ায় পড়ার জন্য তিনটি ফিল্ড

যদি আপনি শুধুমাত্র পাঠ্য চান, বডিটি jq-এ পাইপ করুন:

bash
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
  POST https://api.cheaptokens.dev/v1/chat/completions \
  model=deepseek-ai/DeepSeek-V4-Flash-0731 \
  max_tokens:=200 \
  'messages:=[{"role":"user","content":"In one sentence, what is a token?"}]' \
  | jq -r '.choices[0].message.content'
নিজে চেষ্টা করুনচেষ্টা করুন: সীমাটি খুব ছোট করুন এবং finish_reason পড়ুনউত্তর দেখান

max_tokens:=200 কে max_tokens:=5-এ পরিবর্তন করুন এবং আবার চালান। উত্তরটি কেটে যায়, এবং finish_reason stop-এর পরিবর্তে length পড়ে: সীমাটি মডেলকে থামিয়েছে, চিন্তার শেষ নয়। কেন একটি উত্তর কেটে যায় সমাধানটি কভার করে।

মডেল বদলান: একটি ফিল্ড পরিবর্তন করুন#

মডেলটি একটি স্ট্রিং, তাই অন্য একটি চেষ্টা করা এক-শব্দের সম্পাদনা। নীচের উভয় আইডি CheapTokens-এ একটি ব্যালেন্সের সাথে উপলব্ধ; DeepSeek-V4-Flash আপনাকে 380K কনটেক্সট এবং প্রতি উত্তরে সর্বোচ্চ 32,768 আউটপুট টোকেন দেয়, GLM-5.3-Flash 390K কনটেক্সট এবং সর্বোচ্চ 8,192।

একটি অনুরোধ, দুটি মডেল

DeepSeek-V4-Flash

bash
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
  POST https://api.cheaptokens.dev/v1/chat/completions \
  model=deepseek-ai/DeepSeek-V4-Flash-0731 \
  max_tokens:=200 \
  'messages:=[{"role":"user","content":"Name three uses of a token limit."}]'

GLM-5.3-Flash

bash
http --body -A bearer -a "$CHEAPTOKENS_API_KEY" \
  POST https://api.cheaptokens.dev/v1/chat/completions \
  model=zai-org/GLM-5.3-Flash \
  max_tokens:=200 \
  'messages:=[{"role":"user","content":"Name three uses of a token limit."}]'

কোন আইডি ব্যবহার করবেন তা নিশ্চিত নন? GET /v1/models দিয়ে মডেলগুলি তালিকাভুক্ত করুন এবং সঠিক স্ট্রিংটি কপি করুন।

একটি পরীক্ষা অনুরোধের খরচ#

এইরকম একটি সংক্ষিপ্ত প্রশ্ন সস্তা। ধরুন প্রশ্নটি প্রায় 100 টোকেন এবং উত্তরটি প্রায় 150: সেই অনুরোধের খরচ $0.000017। এক হাজার এরকম দেখতে এইরকম, ইনপুট এবং আউটপুট একসাথে গণনা করা:

মডেল প্রতি অনুরোধে ১,০০০টি অনুরোধ OpenRouter, ১,০০০টি অনুরোধ
GLM-5.3-Flash $0.000008 $0.008 $0.0158
DeepSeek-V4-Flash $0.000017 $0.0165 $0.028
MiniMax-M2.7 $0.000028 $0.0275 $0.33

প্রতি অনুরোধে ১০০ ইনপুট এবং ১৫০ আউটপুট টোকেন। প্রতি 1M টোকেনের দাম বর্তমান এবং আমাদের ট্যারিফের সাথে পরিবর্তিত হয়; OpenRouter কলামটি একই ওয়ার্কলোডের জন্য রেফারেন্স মূল্য দেখায়।

মোট, ইনপুট এবং আউটপুট একসাথে গণনা করা, DeepSeek-V4-Flash OpenRouter-এর চেয়ে সস্তা, এবং মূল্য একটি নির্দিষ্ট হার যেখানে কোনো পিক আওয়ার নেই। প্রতিটি মডেলের বর্তমান হার প্রাইসিং পেজে আছে।

যদি এটি কাজ না করে#

  • আপনি একটি সাধারণ = দিয়ে messages=[…] টাইপ করেছেন। অ্যারেটি স্ট্রিং হিসেবে যায়, বার্তাগুলির তালিকা হিসেবে নয়। := এবং সম্পূর্ণ মানের চারপাশে একক উদ্ধৃতি ব্যবহার করুন।
  • :=-এর ভিতরের JSON অবৈধ। প্রতিটি কী এবং স্ট্রিং-এ ডাবল উদ্ধৃতি প্রয়োজন, এবং বাইরের উদ্ধৃতিগুলি একক হতে হবে। যদি আপনি বার্তা পাঠ্য সম্পাদনা করেন, উদ্ধৃতিগুলি ভারসাম্যপূর্ণ রাখুন।
  • কী-টি খালি। echo ${#CHEAPTOKENS_API_KEY} কী দেখানো ছাড়াই দৈর্ঘ্য প্রিন্ট করে; 0 মানে এই টার্মিনালে ভেরিয়েবলটি সেট করা নেই।
  • মডেল আইডি সংক্ষিপ্ত নাম। সম্পূর্ণ deepseek-ai/DeepSeek-V4-Flash-0731 ব্যবহার করুন। 401 এবং 404 উত্তরের জন্য, ভুল কী, বেস URL বা মডেল আইডি দেখুন।
  • আপনি --session-এ পৌঁছেছেন। HTTPie-এর প্রমাণীকরণ ডকুমেন্টেশন বলে সেশন ফাইলগুলি প্লেইন টেক্সটে ক্রেডেনশিয়াল সংরক্ষণ করে, তাই কী-টি পরিবেশে রাখুন এবং এই কমান্ড থেকে --session বাদ দিন।

যদি কোনো ফ্ল্যাগ উপরের থেকে ভিন্নভাবে আচরণ করে তবে http --version দিয়ে আপনার সংস্করণ পরীক্ষা করুন। Python পছন্দ করেন? SDK ছাড়া একই অনুরোধ requests দিয়ে Python-এ প্রথম অনুরোধ-এ আছে। সম্পূর্ণ API রেফারেন্সের জন্য, CheapTokens ডকুমেন্টেশন দেখুন।