Skip to content

Open WebUI-কে Tokens-এর সাথে যুক্ত করুন

Open WebUI-তে Tokens-কে OpenAI connection হিসেবে যোগ করুন, model list সাজান, chat title-এর মতো background task সস্তা model-এ সরান, আর connection error ঠিক করুন।

যেসব tool-এ কাজ করেOpen WebUI
Markdown-এ দেখুন
এই পাতায়

Open WebUI একটা self-hosted chat interface। যেকোনো OpenAI-compatible server-এর সাথে এটা কথা বলে OpenAI connection দিয়ে, যা Chat Completions request পাঠায়। তাই Tokens-এও চলে: base URL হবে https://tokens.bd/v1, সাথে একটা Tokens key। Connection যোগ করা যায় admin settings থেকে, অথবা environment variable দিয়ে।

এই গাইড Open WebUI-র documentation দেখে লেখা, 11 অক্টোবর 2026-এ মিলিয়ে দেখা হয়েছে (তখন সবচেয়ে নতুন release ছিল v0.12.0)। মিলিয়ে দেখা হয়েছে documentation-এর সাথে, কোনো live Open WebUI install-এ শুরু থেকে শেষ পর্যন্ত চালিয়ে দেখা হয়নি।

শুরুর আগে#

  • একটা Tokens key। Dashboard থেকে বানিয়ে নিন। spend cap আর allowed models-এর কথা আছে API keys পেজে।
  • আপনার Open WebUI instance-এ admin access।
  • model catalog থেকে অন্তত একটা model id। এই গাইডে deepseek/deepseek-v4.1-flash ব্যবহার করা হয়েছে। Id-র চেহারা provider/model।

Tokens-কে connection হিসেবে যোগ করুন#

  1. Open WebUI-তে Settings > Admin > Connections-এ যান।
  2. Manage OpenAI API Connections list-এর add বাটনে (Add Connection) ক্লিক করুন।
  3. Connection Type যেমন আছে, External-ই রেখে দিন।
  4. URL-এ দিন https://tokens.bd/v1।
  5. API Key-তে আপনার Tokens key paste করুন।
  6. Save করুন।

শুধু base URL দিন। Open WebUI-র documentation-এর সব উদাহরণ /v1-এ শেষ হয়, কোনোটাতেই /chat/completions-এর মতো path নেই। Tokens-এর নিজের base URL-ও /v1-এ শেষ।

Save করলেই connection test হয় না। Test করতে Verify Connection চাপুন, ওটা Bearer token দিয়ে GET /models call করে। Tokens এই call-এর উত্তরে আপনার key যে model-গুলো চালাতে পারে সেগুলো পাঠায়, তাই check পাস করা মানে key-ও ঠিক আছে। Advanced-এর নিচে Provider সেটিং Default-এ রাখুন, আর Forward cookies বন্ধ রাখুন। Open WebUI-র docs বলে, ওটা চালু করবেন শুধু এমন server-এর জন্য, যেটা আপনার নিজের আর cookie দিয়ে authenticate করে। তৃতীয় পক্ষের endpoint-এ কখনোই না।

অথবা environment variable দিয়ে সেট করুন#

Open WebUI environment variable থেকেও connection পড়ে। একটা connection-এর জন্য:

Environment of the Open WebUI container
OPENAI_API_BASE_URL=https://tokens.bd/v1
OPENAI_API_KEY=tok_live_your_key

OPENAI_API_BASE_URLS আর OPENAI_API_KEYS-এ একাধিক মান দেওয়া যায়, semicolon দিয়ে আলাদা করে। অন্য provider-এর পাশে Tokens যোগ করতে এগুলো ব্যবহার করলে দুটো list-এর ক্রম একই রাখুন। Docker Compose file-এ key সরাসরি না লিখে আপনার shell থেকে পাঠান, অথবা compose file-এর পাশের একটা .env file থেকে। নইলে key commit করা file-এ চলে যায়:

docker-compose.yml excerpt
services:
  open-webui:
    environment:
      - OPENAI_API_BASE_URL=https://tokens.bd/v1
      - OPENAI_API_KEY=${TOKENS_API_KEY}

Open WebUI-র reference-এ এই variable-গুলোকে ConfigVar বলা হয়েছে। মানে, প্রথমবার চালু হওয়ার সময় মানটা store হয়ে যায়, তারপর Open WebUI environment-এর বদলে ওই store করা মানই ব্যবহার করে। পরে কিছু বদলাতে হলে Settings > Admin > Connections-এ গিয়ে বদলান। Environment variable-কে আবার আগে রাখার switch হলো ENABLE_PERSISTENT_CONFIG=False, তবে তখন UI থেকে করা পরিবর্তন restart-এর পর হারিয়ে যায়।

Docker আর host.docker.internal

Docker host-এ চলা model server-এর জন্য Open WebUI-র documentation host.docker.internal ব্যবহার করে। Tokens একটা remote address, তাই URL থাকে https://tokens.bd/v1-ই।

কোন model দেখা যাবে তা ঠিক করুন#

ডিফল্টভাবে Open WebUI সেই সব model দেখায় যেগুলো connection GET /models থেকে ফেরত দেয়। Tokens-এর ক্ষেত্রে সেটা আপনার key যে model-গুলো চালাতে পারে তার list। তাই key-তে allowed-models list থাকলে শুধু সেগুলোই দেখা যাবে।

Advanced-এর নিচের Model IDs field দিয়ে এটা বদলানো যায়:

  • ফাঁকা (ডিফল্ট): provider-এর সব model detect হয়।
  • ভরা: আপনি যে list দেন, সেটা fetch করা list-এর জায়গা নেয়। ওই connection-এর জন্য Open WebUI provider-এর /models call করা বন্ধ করে দেয়, আর শুধু আপনার দেওয়া id-গুলো দেখায়। আপনার user-দের কাছ থেকে কিছু model লুকাতে চাইলে এটা কাজে লাগে।

হুবহু Tokens id লিখুন, যেমন deepseek/deepseek-v4.1-flash, তারপর plus বাটনে ক্লিক করে যোগ করুন। একই id দুবার দিলে নেয় না, আর আগে-পরের ফাঁকা জায়গা মুছে যায়।

Slash-ওয়ালা id#

Tokens-এর id-তে সবসময় একটা slash থাকে। Open WebUI-র documentation-এ model id-র slash নিয়ে বিশেষ কিছু বলা নেই, তাই provider যেমন পাঠায় id তেমনই দেখায়। Connection-প্রতি আলাদা label চাইলে Prefix ID field আছে। ওটা আপনার prefix আর model id-কে একটা dot দিয়ে জোড়ে (prefix tokens দিলে হয় tokens.provider/model), আর upstream-এ request যাওয়ার আগে আবার সরিয়ে ফেলে। Prefix লিখবেন শেষে slash ছাড়া। docs দেখায় groq/ দিলে groq/.model হয়ে যায়।

ঠিকমতো চলছে কিনা যাচাই করুন#

  1. নতুন chat খুলুন, model selector থেকে একটা Tokens model বেছে নিন।
  2. "Reply with OK" পাঠান।
  3. Reply stream হয়ে আসবে, আর request-টা আপনার Tokens usage-এ দেখা যাবে।

আগে Open WebUI-কে বাদ দিয়ে দেখতে চাইলে যেকোনো machine থেকে এটা চালান:

bash
curl -s https://tokens.bd/v1/chat/completions \
  -H "Authorization: Bearer $TOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek/deepseek-v4.1-flash", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with OK"}]}'

Streaming আর tool calling#

Open WebUI-র docs-এ একমাত্র আবশ্যক endpoint হিসেবে POST /v1/chat/completions-এর কথা আছে, সাথে streaming আর temperature, top_p, max_tokens-এর মতো সাধারণ parameter। Tokens এই endpoint-এ Server-Sent Events দিয়ে stream করে। বিস্তারিত Streaming পেজে।

Tool use-এর জন্য এমন model আর provider লাগে, যারা tools আর tool_choice নেয়। Open WebUI-র docs এটাকে শর্ত হিসেবেই বলেছে। Tokens এগুলো পাস করে দেয়, কিন্তু সব model এগুলো ভালোভাবে সামলাতে পারে না। আপনার user-দের জন্য tools চালু করার আগে Choosing a model আর catalog-এ ওই model-এর পেজ দেখে নিন, আর request-এর format জানতে Tool calling পড়ুন।

Background task-এ credit খরচ হয়: সস্তা একটা task model দিন#

প্রতিটা conversation-এর পেছনে Open WebUI আরও কিছু request পাঠায়। তাদের task-models পেজে যেগুলোর কথা আছে: chat title, tag, follow-up suggestion, autocomplete, retrieval আর web search-এর query নতুন করে লেখা, image prompt, আর context compaction-এর summary। এগুলোর প্রতিটাই Tokens-এ billed request।

ডিফল্টে task model থাকে Current Model। মানে user যে model-এ chat করছে, এসব request-ও সেটাতেই যায়, দামি model হলেও। বদলাতে:

  1. Settings > Admin > Interface-এ গিয়ে Tasks section খুঁজুন।
  2. External Task Model-এ আপনার Tokens list থেকে একটা ছোট, দ্রুত, non-reasoning model বেছে নিন। Open WebUI-র docs ছোট non-reasoning model-ই recommend করে, কারণ সহজ output-এর জন্য reasoning model শুধু দেরি আর খরচ বাড়ায়। Tokens-এর জন্য এই picker-টাই খাটে, কারণ এটা Ollama-র মতো Local connection নয়। Environment variable-টা TASK_MODEL_EXTERNAL।
  3. Background request-এ কড়া সীমা চাইলে Task Model Parameters-এর নিচে max_tokens সেট করুন। docs বলছে, যেকোনো একটা parameter সেট করলে title আর summary-র জন্য built-in 1000 token সীমা উঠে যায়, তাই max_tokens নিজেই দিয়ে দিন। Variable-টা TASK_MODEL_PARAMS, একটা JSON object।

নির্দিষ্ট করা task model পাওয়া না গেলে Open WebUI fail না করে chat-এর নিজের model-এ ফিরে যায়। তার মানে, আপনার key যে task model চালাতে পারে না, সেটা দিলে চুপচাপ আবার দামি model-এ খরচ হতে থাকবে। Task model-কে key-র allowed-models list-এর ভেতরে রাখুন।

Task একেবারে বন্ধ করতে একই admin পেজের Generation-এর নিচে তাদের toggle বন্ধ করুন: Title Generation (ENABLE_TITLE_GENERATION), Tags Generation (ENABLE_TAGS_GENERATION), Follow Up Generation (ENABLE_FOLLOW_UP_GENERATION) আর Autocomplete Generation (ENABLE_AUTOCOMPLETE_GENERATION)। Open WebUI-র reference অনুযায়ী autocomplete ডিফল্টে বন্ধ, বাকিগুলো চালু। Autocomplete চলে user টাইপ করার সময়েই, তাই metered key-তে ওটা বন্ধ রাখুন। Context compaction-এর নিজস্ব picker আছে, Context Compaction Model, Chat-এর নিচে।

Shared server-এ চালানো#

Instance-এর সবাই connection-এ বসানো একটাই key-র খরচ করে, আর সেই account-এর rate আর concurrency limit ভাগ করে নেয় (Rate limits)। অন্য মানুষদের হাতে instance দেওয়ার আগে:

  • শুধু এই instance-এর জন্য একটা key বানান, monthly spend cap আর allowed-models list সহ (API keys)।
  • Task model-কে ওই list-এ রাখুন, ওপরে যেমন বলা হলো।
  • Key এমন file-এ রাখবেন না যা commit হয়। Environment variable বা admin পেজ ব্যবহার করুন।
  • Dashboard-এ usage দেখুন। Tokens account-এ আর কত বাকি, তা Open WebUI দেখায় না। GET /v1/tokens/usage দেখায় (Models and usage)।

যা এই connection দিয়ে যায় না#

  • Image, speech আর transcription। Image generation, text-to-speech আর speech-to-text-এর জন্য Open WebUI-তে আলাদা settings আর variable আছে। Tokens ওই endpoint-গুলো serve করে না, তারা 404 unsupported_endpoint ফেরত দেয়। এই feature-গুলো অন্য provider-এ পাঠান।
  • RAG-এর embeddings। Open WebUI-র docs /v1/embeddings-কে optional বলে, RAG-এর কাজে লাগে। Tokens embeddings serve করে শুধু সেইসব model-এর জন্য, যেগুলো embedding model (Embeddings)। ওগুলোর একটা বেছে না নিলে ডিফল্ট RAG embedding সেটআপই রেখে দিন।

সমস্যা হলে#

Verify Connection fail করছে, বা model list ফাঁকা। URL-টা /v1-এ শেষ হয়েছে কিনা আর পরে কোনো path নেই কিনা দেখুন। Tokens থেকে list ফাঁকা আসার সাধারণ কারণ, active plan নেই আর wallet-এ ব্যালান্সও নেই। দেখুন Models and usage। Open WebUI-র docs এটাও বলে, check fail করা মানেই chat ভাঙা নয়: Model IDs-এ model id যোগ করে একটা chat চেষ্টা করুন।

Settings পেজ আটকে যাচ্ছে বা list ধীরে আসছে। Open WebUI ডিফল্টে model list fetch 10 সেকেন্ড পরে timeout করে দেয়। ধীর network-এ AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST বাড়ান। Save করা URL-এ পৌঁছানো না গেলে model list load হওয়ার সমস্যা নিয়ে Open WebUI-র connection-error গাইডে আলাদা একটা section আছে।

401 invalid_api_key বা missing_api_key। Key ভুল, rotate হয়ে গেছে বা ফাঁকা। Connection-এ নতুন একটা key paste করুন। Rotate করলে পুরনো secret সাথে সাথে বন্ধ হয়ে যায়।

404 model_not_found। Model id পুরো Tokens id নয়। Model list থেকে copy করুন, provider/model সহ।

403 model_not_allowed_on_key। Key-র allowed-models list-এ ওই model নেই। Task model list-এর বাইরে থাকলেও এটা হয়: তখন সাধারণ chat চলে, কিন্তু chat title fail করে।

402 insufficient_credits, 403 monthly_spend_cap_exceeded। Credit শেষ, অথবা key তার cap ছুঁয়ে ফেলেছে। billing-এ টাকা যোগ করুন, অথবা বেশি cap-ওয়ালা key নিন।

429 rate_limited বা concurrency_limit। একটা key-তে অনেক user, বা অনেক background task। Retry-After পর্যন্ত অপেক্ষা করুন, যে task toggle লাগে না সেগুলো বন্ধ করুন, অথবা দ্বিতীয় instance-এর জন্য দ্বিতীয় একটা key নিন।

সব code-এর তালিকা আছে Errors-এ, আর আরও সমাধান Troubleshooting-এ। support-এর কাছে সাহায্য চাইলে -i দিয়ে curl চালিয়ে পাওয়া x-tokens-request-id header-টা সাথে দিন।

সূত্র: Open WebUI documentation, OpenAI-compatible providers, Starting with OpenAI, task models আর environment variable reference, 11 অক্টোবর 2026-এ দেখা।

এই পাতাটা কি কাজে লেগেছে?

এখনো আটকে আছেন? Support ticket খুলুন

আপনার agent set up করতে সাহায্য লাগবে?

Connection tester দিয়ে সংযোগ পরীক্ষা করে নিন, অথবা একটা API key তৈরি করুন।