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

টুল ও ইন্টিগ্রেশনগাইড

LibreChat-কে CheapTokens-এ সংযুক্ত করুন: librechat.yaml কাস্টম এন্ডপয়েন্ট

সেলফ-হোস্টেড LibreChat-এ একটি CheapTokens এন্ডপয়েন্ট যোগ করুন: librechat.yaml-এ একটি এন্ট্রি, এনভায়রনমেন্ট ভেরিয়েবল হিসেবে কী, মেনুতে তিনটি মডেল।

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

CheapTokens API-তে নির্দেশ করা LibreChat কনফিগারেশন এন্ট্রি
এই পৃষ্ঠায়
  1. এন্ট্রিতে যা যা লাগবে
  2. তিন ধাপে এটি সংযুক্ত করুন
  3. একটি মেনুতে তিনটি মডেল
  4. এন্ডপয়েন্ট না দেখালে বা এরর দিয়ে উত্তর দিলে

আপনার LibreChat চলছে, কিন্তু মডেল মেনুতে শুধু যেগুলো আগে থেকেই ছিল সেগুলোই দেখাচ্ছে। CheapTokens যোগ করতে হলে librechat.yaml-এ একটি endpoints.custom এন্ট্রি লিখতে হবে: একটি নাম, বেস URL https://api.cheaptokens.dev/v1, এনভায়রনমেন্ট ভেরিয়েবল হিসেবে কী এবং মডেল আইডির একটি তালিকা। কন্টেইনারটি রিস্টার্ট করুন, মেনুতে একটি "CheapTokens" এন্ডপয়েন্ট দেখা যাবে।

নিচের ফিল্ডের নামগুলো LibreChat-এর কাস্টম এন্ডপয়েন্ট রেফারেন্স থেকে নেওয়া (ডকসের "Latest (dev)" ব্র্যাঞ্চ, ৩০ অক্টোবর ২০২৬-এ যাচাই করা)। পেজটিতে কোনো ভার্সন নম্বর নেই, তাই আপনার ইনস্টল যদি পুরোনো হয় এবং কোনো ফিল্ড ভিন্নভাবে আচরণ করে, তাহলে আপনার রিলিজের ডকসের সাথে মিলিয়ে দেখুন। API-এর দিকটি আমাদের ডকস-এর মতো: OpenAI Chat Completions ফরম্যাট, প্রতিটি মডেলের জন্য একটি ব্যালেন্স।

এন্ট্রিতে যা যা লাগবে#

চারটি ফিল্ড আবশ্যক, এবং প্রতিটির একটি সরল কাজ আছে:

  • name — মেনুতে এন্ডপয়েন্টটির নাম কী হবে।
  • apiKey — কী। ডকসে কী-এর বদলে ${VAR}-এর মতো একটি রেফারেন্স ব্যবহারের পরামর্শ দেওয়া হয়েছে, যাতে সিক্রেট YAML-এর বাইরে থাকে।
  • baseURL — রিকোয়েস্ট কোথায় যাবে: https://api.cheaptokens.dev/v1।
  • models.default — মেনুতে দেখানো মডেল আইডির তালিকা।

দুটি ঐচ্ছিক ফিল্ড সেট করা ভালো। titleConvo: true দিয়ে LibreChat আপনার চ্যাটের নাম দিতে পারে (false না হলে টাইটেল তৈরি হয়), এবং modelDisplayLabel হলো উত্তরগুলোর পাশের লেবেল (ডিফল্ট "AI")। models.fetch ডিফল্টভাবে false, তাই LibreChat API-এর কাছে মডেলের তালিকা চাইবে না; মেনু আসে models.default থেকে। এজন্যই নিচের আইডিগুলো পুরো নামে লেখা হয়েছে।

তিন ধাপে এটি সংযুক্ত করুন#

ধাপে ধাপে

LibreChat (Docker) সংযুক্ত করুন

কন্টেইনারকে কী দিন

কী-টি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে LibreChat কন্টেইনারে পৌঁছাতে হবে। LibreChat-এর ডকস অনুযায়ী environment-এর অধীনে docker-compose.override.yml-এ ভেরিয়েবল সেট করা যায়, তাই docker-compose.yml-এর পাশে সেই ফাইলটি তৈরি করুন। ভেরিয়েবলের নাম আমাদের নিজস্ব, যেকোনোটি বেছে নিন, শুধু YAML-এ একই নাম রাখুন:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

মানটি একটি প্লেসহোল্ডার: আপনার CheapTokens ড্যাশবোর্ডের কী ব্যবহার করুন।

librechat.yaml-এ এন্ডপয়েন্ট যোগ করুন

docker-compose.yml-এর পাশে librechat.yaml তৈরি করুন। গঠনটি LibreChat-এর ডকসের Mistral উদাহরণ অনুসরণ করে, আমাদের ঠিকানা ও আইডিসহ:

yaml
endpoints:
  custom:
    - name: 'CheapTokens'
      apiKey: '${CHEAPTOKENS_API_KEY}'
      baseURL: 'https://api.cheaptokens.dev/v1'
      models:
        default:
          - 'zai-org/GLM-5.3-Flash'
          - 'deepseek-ai/DeepSeek-V4-Flash-0731'
          - 'MiniMaxAI/MiniMax-M2.7'
      titleConvo: true
      modelDisplayLabel: 'CheapTokens'

ফাইলটি মাউন্ট করুন এবং রিস্টার্ট করুন

কন্টেইনারকে ফাইলটি দেখতে হবে। একই docker-compose.override.yml-এ volumes যোগ করুন, যাতে এখন এতে দুটোই থাকে:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

তারপর এটি প্রয়োগ করুন:

bash
docker compose up -d
কী থেকে মেনু: এনভায়রনমেন্ট ভেরিয়েবল, librechat.yaml, মাউন্ট, তারপর মডেল তালিকায় CheapTokens
কী থেকে LibreChat মেনুতে CheapTokens এন্ডপয়েন্ট পর্যন্ত পথ

ব্রাউজারে LibreChat খুলুন, নতুন চ্যাট শুরু করুন এবং এন্ডপয়েন্ট মেনুতে CheapTokens বেছে নিন। তিনটি মডেলই তালিকায় আছে। "Say hi in one sentence" পাঠান এবং আপনার উত্তর পাওয়া উচিত। না পেলে শেষ অংশে যান।

একটি মেনুতে তিনটি মডেল#

এই অংশটিই সেলফ-হোস্টেড চ্যাটকে মূল্যবান করে তোলে। ধরুন আপনি এটি একটি ছোট টিমের জন্য চালান। বেশিরভাগ প্রশ্ন দৈনন্দিন: এই ইমেইলটি আবার লিখুন, এই এররটি ব্যাখ্যা করুন। সেগুলোর জন্য zai-org/GLM-5.3-Flash যথেষ্ট, ৩৯০K কনটেক্সট উইন্ডো এবং প্রতি উত্তরে সর্বোচ্চ ৮,১৯২ টোকেনসহ। কেউ যখন একটি দীর্ঘ ডকুমেন্ট পেস্ট করে দীর্ঘ উত্তর চায়, তখন একই চ্যাট deepseek-ai/DeepSeek-V4-Flash-0731-এ বদলে নেয় (৩৮০K কনটেক্সট, প্রতি উত্তরে সর্বোচ্চ ৩২,৭৬৮ টোকেন)। দুটি উত্তর যখন মিলে না, তখন তৃতীয় মতামত হিসেবে MiniMaxAI/MiniMax-M2.7 (১৮০K কনটেক্সট)। দ্বিতীয় সাবস্ক্রিপশন নেই, দ্বিতীয় কী নেই: তিনটিরই বিল হয় একটি ব্যালেন্স থেকে।

সেই চ্যাটের খরচ কত? ধরুন পাঁচজনের একটি টিম দিনে ২০০টি মেসেজ পাঠায়, প্রতিটিতে প্রায় ৩,০০০ ইনপুট টোকেন (হিস্টরি বাড়ে) এবং প্রায় ৫০০ টোকেন ফেরত পায়:

মডেল প্রতি অনুরোধে ২০০টি অনুরোধ OpenRouter, ২০০টি অনুরোধ
GLM-5.3-Flash $0.00008 $0.016 $0.0284
DeepSeek-V4-Flash $0.000095 $0.019 $0.056
MiniMax-M2.7 $0.00023 $0.045 $0.54

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

টেবিলে, সেই ২০০টি রিকোয়েস্টের জন্য প্রতিটি মডেলের দাম ইনপুট ও আউটপুট একসাথে হিসাব করা হয়েছে, এবং মোটে এটি OpenRouter-এর চেয়ে সস্তা হয়। আপনার ব্যবহারের সাথে মেলে এমন সারিটি বেছে নিন এবং প্রাইসিং পেজ-এর সাথে তুলনা করুন।

নিজে চেষ্টা করুনচেষ্টা করুন: একটি প্রশ্ন দুটি মডেলে পাঠানউত্তর দেখান

নতুন চ্যাট খুলুন, zai-org/GLM-5.3-Flash বেছে নিন, এবং আপনার ভালো জানা একটি প্যারাগ্রাফের সারাংশ চান। একই মেনুতে মডেল deepseek-ai/DeepSeek-V4-Flash-0731-এ বদলান, এবং আবার জিজ্ঞাসা করুন। দুটি উত্তরের দৈর্ঘ্য ও সুর তুলনা করুন — এটাই আপনার ডিফল্ট মডেল নির্ধারণের ভিত্তি।

এন্ডপয়েন্ট না দেখালে বা এরর দিয়ে উত্তর দিলে#

বেশিরভাগ সমস্যা তিনটির একটি। আপনি যা দেখছেন তার সাথে মেলে এমনটি বেছে নিন:

আপনার কেস বেছে নিন

আপনি কী দেখছেন?

মেনুতে CheapTokens নেই

LibreChat আপনার ফাইল পড়েনি। যাচাই করুন যে librechat.yaml /app/librechat.yaml-এ মাউন্ট করা আছে (উপরের ওভাররাইড ফাইল), YAML-এর ইনডেন্টেশন অক্ষত আছে, এবং পরিবর্তনের পর docker compose up -d চালিয়েছেন।

401 Unauthorized

কী অনুপস্থিত বা ভুল। যাচাই করুন যে librechat.yaml-এ ${-এর পরের নামটি ঠিক এনভায়রনমেন্ট ভেরিয়েবলের নাম, এবং কী-তে কোনো স্পেস বা কোট পেস্ট হয়নি। এই এরর সম্পর্কে আরও জানুন API 401 বা 404-এ।

404 বা মডেল এরর

মডেল আইডি ভুল। deepseek-ai/DeepSeek-V4-Flash-0731-এর মতো সম্পূর্ণ আইডি ব্যবহার করুন; সংক্ষিপ্ত নাম গ্রহণ করা হয় না। List models with GET /v1/models-এর ধাপগুলো অনুসরণ করে সঠিক আইডি তালিকাভুক্ত করতে পারেন।

প্রথম মেসেজ চলে গেলে, মেনুতে আরেকটি মডেল চাইলে যখন খুশি models.default-এ আরও আইডি যোগ করতে পারেন। ভিন্ন ফ্রন্ট এন্ড পছন্দ? একই ধারণা, একটি বেস URL প্লাস একটি কী, আছে Connect Open WebUI to CheapTokens-এ, এবং সামগ্রিক চিত্র OpenAI-compatible API: what base_url is-এ। মডেলগুলো নিজেরা আছে GLM পেজ-এ।