SSD Nodes Learn Hosting plans →
নির্দেশিকা Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-08-26

Claude কি self-host করা যায়? সৎ উত্তর ও বিকল্প

Claude-এর model weights public নয়, তাই নিজের server-এ এটি চালানো যায় না। বদলে open model, API gateway ও Claude Code self-host করার বাস্তব বিকল্প দেখুন।

আপনি কি Claude self-host করতে পারবেন? না, এবং এর কারণ এখানে

আপনি Claude self-host করতে পারবেন না। Anthropic model weights প্রকাশ করে না। তাই download করার মতো কোনো file নেই, চালানোর মতো কোনো container নেই, এবং নিজের hardware থেকে এটি serve করার অনুমতি দেয় এমন কোনো licence নেই। Claude-এর প্রতিটি request Anthropic-এর API অথবা Amazon Bedrock, Google Vertex AI বা Microsoft Foundry-এর মতো hosted partner-এর কাছে যায়। আপনার মালিকানাধীন কোনো machine-এ এটি চালানো configuration problem নয়। Anthropic-এর বাইরে এই artefact-এর অস্তিত্বই নেই।

এটাই সংক্ষিপ্ত উত্তর। বিস্তারিত উত্তর হলো, এই প্রশ্ন করা অধিকাংশ মানুষ আসলে weights চান না। তারা এমন তিনটি জিনিসের কোনো একটি চান, যেগুলো আপনার নিয়ন্ত্রণাধীন server-এ চালানো সম্ভব: locally চলা একটি সক্ষম model, এমন একটি gateway যা তাদের API keys সংরক্ষণ করে এবং খরচের সীমা নির্ধারণ করে, অথবা এমন একটি coding agent যা laptop-এর বদলে তাদের নিজস্ব box-এ চলে। এই guide-এ তিনটিই commands-সহ দেখানো হয়েছে।

"self-hosted Claude" বলতে সাধারণত যা বোঝায়

"self hosted Claude" নিয়ে করা search বিভিন্ন ধরনের চাহিদাকে একত্র করে, এবং প্রতিটির উত্তর আলাদা।

কিছু মানুষ privacy চান। তারা চান না যে prompt তাদের network-এর বাইরে যাক। এর একমাত্র সমাধান হলো স্থানীয় open weight model, কারণ যেকোনো Claude request সংজ্ঞা অনুযায়ী Anthropic-এর কাছে পাঠানো request।

কিছু মানুষ cost control চান। তারা আশঙ্কা করেন, নিয়ন্ত্রণহীন কোনো agent অতিরিক্ত credit ব্যবহার করতে পারে। একটি gateway এই সমস্যা সমাধান করে। এটি Claude-এর সঙ্গে কাজ করে, তাই model-এর quality বজায় থাকে।

কিছু মানুষ laptop-এর ওপর নির্ভর করতে চান না। তারা এমন agent চান, যা laptop-এর lid বন্ধ করার পরও কাজ চালিয়ে যাবে। একটি VPS এই কাজের জন্য উপযুক্ত, এবং Claude Code এতে সহজেই চলে।

কিছু মানুষ "self hosted OpenRouter" বলতে চান। এটিও একটি gateway, এবং সাধারণ সমাধান হলো LiteLLM।

আপনি কোন ধরনের চাহিদার অন্তর্ভুক্ত, তা নির্ধারণ করুন। কারণ প্রতিটি ক্ষেত্রে উপযুক্ত build আলাদা।

Ollama দিয়ে একটি open model নিজে host করুন

যদি শর্ত হয় যে কোনো prompt আপনার server ছেড়ে যাবে না, তাহলে একটি open weight model চালান। বর্তমানে rented server-এ বাস্তবে ব্যবহারযোগ্য family হলো Llama, Qwen, Mistral, Gemma এবং DeepSeek। এগুলোর সবকটিই download করে চালানোর মতো weights প্রকাশ করে।

Ollama দিয়ে শুরু করা সবচেয়ে সহজ। Install script এক লাইনের, এবং এটি Ubuntu-তে একটি systemd service সেটআপ করে।

curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama

systemctl status ollama-এর output হিসেবে active (running) দেখা উচিত। এরপর একটি model pull করে তার সঙ্গে কথা বলুন।

ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."

প্রথম pull চালানোর সময় কয়েক gigabyte download হয়। তাই model কোনো উত্তর দেওয়ার আগে সেটি RAM অথবা GPU memory-তে fit করতে হবে। Quantised model-এর জন্য একটি আনুমানিক নিয়ম হলো: 8 billion parameter-এর model-এর প্রায় 6 GB free memory দরকার, 14 billion parameter-এর model-এর প্রায় 10 GB দরকার, এবং 70 billion parameter-এর model-এর জন্য অধিকাংশ general purpose VPS plan-এর চেয়ে বেশি memory প্রয়োজন। Server-এ memory কম থাকলে kernel process-টি kill করে এবং আপনি Error: llama runner process has terminated দেখতে পাবেন; dmesg-এ out of memory সংক্রান্ত একটি line-ও থাকবে। Model-কে দোষ দেওয়ার আগে free -h পরীক্ষা করুন। একই memory budget দীর্ঘ prompt-এর কতটা অংশ model আসলে পড়বে, তাও নির্ধারণ করে। কারণ Ollama নিরবে একটি সীমিত default window-এর পরের অংশ truncate করে। তাই দীর্ঘ document অর্ধেক summarise হয়ে ফিরে এলে প্রথমে num_ctx বাড়ানো এবং KV cache-এর আকার নির্ধারণ পরীক্ষা করুন।

Ollama 127.0.0.1:11434-এ একটি HTTP API-ও চালায়। এ কারণেই এটি শুধু chat toy নয়, অন্যান্য software-এর জন্যও ব্যবহারযোগ্য।

curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'

দীর্ঘ সময় কোনো request না আসার পর প্রথম request-এর উত্তর পেতে যদি ত্রিশ সেকেন্ড লাগে, কিন্তু পরেরটি সঙ্গে সঙ্গে ফিরে আসে, তাহলে কিছু নষ্ট হয়নি। Ollama পাঁচ মিনিট idle থাকার পর model unload করে। keep_alive দিয়ে model-কে memory-তে রেখে দিলে এই reload-এর বিলম্ব দূর হয়।

এই port-টি localhost-এ bind করে রাখুন। Public IP-তে খোলা Ollama port যে কেউ খুঁজে পেলে তার জন্য বিনামূল্যের GPU হয়ে যায়। systemd unit, GPU detection এবং reverse proxy সামনে বসানোসহ সম্পূর্ণ setup VPS-এ Ollama চালানোর guide-এ দেখানো হয়েছে। একই সময়ে একাধিক user-কে service দিলে আগে Ollama এবং vLLM-এর তুলনা পড়ুন। কারণ hardware সীমায় পৌঁছানোর অনেক আগেই Ollama-এর single stream design bottleneck হয়ে দাঁড়ায়।

সীমাবদ্ধতা সম্পর্কে সৎ থাকুন। মাঝারি আকারের VPS-এ একটি ভালো open model summarising, classification, drafting এবং সাধারণ extraction-এর জন্য সত্যিই কার্যকর। কিন্তু দীর্ঘ multi-step reasoning, বড় codebase এবং agentic tool use-এর ক্ষেত্রে এটি frontier hosted model-এর কাছাকাছিও নয়। Prompt tuning যতই করা হোক, এই ব্যবধান দূর হবে না। যে কাজের জন্য local model ভালো, সেটির জন্য সেটি বেছে নিন। কাজটি সত্যিই কঠিন হলে hosted model-এর জন্য অর্থ ব্যয় করুন।

নিজের LiteLLM gateway চালান

অনেকে যে “self hosted OpenRouter” খুঁজছেন, এটি সেটিই। একটি gateway আপনার application এবং প্রতিটি model provider-এর মাঝখানে থাকে। আপনার application-এ একটি key থাকে, যা আপনার server-কে নির্দেশ করে। প্রকৃত provider key শুধু ওই server-এই থাকে। প্রতিটি key-এর খরচের সীমা নির্ধারণ করতে পারেন, আলাদা application-কে আলাদা model-এ route করতে পারেন, এবং প্রতিটি request এক জায়গায় log করতে পারেন।

LiteLLM সাধারণ পছন্দ, কারণ এটি OpenAI compatible API ব্যবহার করে এবং একই endpoint-এর আড়ালে Anthropic, Ollama ও অন্যান্য অধিকাংশ provider-এ proxy করে। একটি config file দিয়ে এটি Docker-এ চালান।

model_list:
  - model_name: claude
    litellm_params:
      model: anthropic/claude-sonnet-5
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: local
    litellm_params:
      model: ollama/qwen3:8b
      api_base: http://127.0.0.1:11434

এটি litellm_config.yaml নামে সংরক্ষণ করে proxy চালু করুন। এটি port 4000-এ listen করে।

docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  -e LITELLM_MASTER_KEY=sk-1234 \
  -p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
  --config /app/config.yaml

LITELLM_MASTER_KEY হলো admin credential। তাই এটিকে root password-এর মতো সুরক্ষিত রাখুন এবং উদাহরণের value ব্যবহার করবেন না। Hosted API-কে যেভাবে call করতেন, proxy-কে ঠিক সেভাবেই call করুন।

curl http://localhost:4000/v1/chat/completions \
  -H 'Authorization: Bearer sk-1234' \
  -H 'Content-Type: application/json' \
  -d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'

সুস্থ response-এ choices array-সহ সাধারণ JSON থাকে। 401 বোঝায়, Authorization header আপনার master key-এর সঙ্গে মেলে না। 400-এ model-এর নাম থাকলে বোঝায়, আপনার request-এর model config file-এর কোনো model_name-এর সঙ্গে মেলে না।

Anthropic-কে সরাসরি call না করে এটি তৈরি করার কারণ হলো spend cap। প্রতিটি application-এর জন্য আলাদা virtual key তৈরি করুন এবং প্রতিটির নিজস্ব budget নির্ধারণ করুন।

curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'

একটি key সর্বোচ্চ একশো dollar খরচ করে একটি model-এ পৌঁছাতে পারবে, অন্য কোথাও নয়। ভোর তিনটায় কোনো agent ভুল আচরণ করলে তার প্রভাব পুরো account-এ না পড়ে শুধু একটি key-তে সীমাবদ্ধ থাকবে। এই pattern এবং এর monitoring নিয়ে VPS-এ agent-এর খরচ নিয়ন্ত্রণে রাখা আলোচনাটি দেখুন। আদৌ token অনুযায়ী অর্থ পরিশোধ করবেন কি না তা নিয়ে এখনও সিদ্ধান্ত না নিয়ে থাকলে, API বনাম subscription খরচের তুলনা-এ হিসাবটি ব্যাখ্যা করা হয়েছে।

Gateway কী করে না, সেটিও মনে রাখুন। এটি Claude-কে local করে না এবং Anthropic-এর কাছ থেকে আপনার prompt গোপনও করে না। Request এখনও provider-এর কাছে যাওয়ার জন্য আপনার server ছেড়ে যায়। আপনি যা পান, তা হলো key, খরচ, routing এবং log-এর ওপর নিয়ন্ত্রণ।

নিজের VPS-এ Claude Code চালান

তৃতীয় ইচ্ছাটি পূরণ করা সবচেয়ে সহজ। Claude Code একটি client। Node.js ইনস্টল করা আছে এমন যেকোনো জায়গায় এটি চলে এবং HTTPS-এর মাধ্যমে API-এর সঙ্গে যোগাযোগ করে। নিজের নিয়ন্ত্রণাধীন server-এ এটি চালালে laptop বন্ধ করার পরও agent কাজ চালিয়ে যেতে পারে। এর ফলে agent-এর সম্ভাব্য ক্ষতির পরিসর এমন একটি box-এর মধ্যে থাকে, যেটি পুনর্নির্মাণ করা যায়, আপনার প্রধান machine-এর মধ্যে নয়।

npm install -g @anthropic-ai/claude-code
claude --version

এটি tmux-এর ভিতরে চালান, যাতে SSH connection বিচ্ছিন্ন হলেও দীর্ঘ job বন্ধ না হয়ে যায়। session handling-সহ এই setup tmux ব্যবহার করে VPS-এ Claude Code চালানো-এ ব্যাখ্যা করা হয়েছে। agent-এর জন্য আলাদা unprivileged user তৈরি করুন। কোনো গুরুত্বপূর্ণ জিনিসে write access দেওয়ার আগে server-এ Claude Code চালানোর নিরাপত্তা নিয়ম পড়ুন।

এটি agent-কে self-host করা, model-কে নয়। এই পার্থক্যটি স্পষ্টভাবে বোঝা গুরুত্বপূর্ণ, কারণ অনেকে দুটিকে এক করে ফেলেন। process, filesystem, network egress এবং log আপনার নিয়ন্ত্রণে থাকে। Inference-এর নিয়ন্ত্রণ Anthropic-এর কাছেই থাকে।

প্রতিটি option-এর প্রকৃত খরচ

দাম পরিবর্তিত হয়, তাই এগুলোকে নির্দিষ্ট quote নয়, বরং একটি সাধারণ চিত্র হিসেবে বিবেচনা করুন। July 2026 অনুযায়ী, Claude Sonnet 5-এর দাম প্রতি million input token-এ $3 এবং প্রতি million output token-এ $15। Claude Opus 5-এর ক্ষেত্রে দাম যথাক্রমে $5 এবং $25। Local model প্রতি token-এর জন্য কোনো খরচ নেয় না। এর পরিবর্তে server-এর মাসিক খরচ দিতে হয়, আপনি এটি ব্যবহার করুন বা না করুন, server চালু থাকে।

Break-even point মানুষের ধারণার চেয়ে কম। একটি কার্যকর open model চালানোর মতো পর্যাপ্ত memory-সহ VPS-এর জন্য প্রতি মাসে প্রকৃত খরচ হয়, এবং বেশিরভাগ সময় সেটি idle থাকে। আপনার ব্যবহার যদি bursty হয়, hosted API সাধারণত সস্তা। আপনার ব্যবহার যদি constant হয়, অথবা আপনার data network-এর বাইরে পাঠানো না যায়, তাহলে উভয় দিক থেকেই local model ভালো পছন্দ।

বাস্তবে অধিকাংশ team যে সমাধানে পৌঁছায়, সেটি একটি mixed approach। High-volume, low-difficulty কাজের জন্য locally একটি open model চালান। কঠিন request-গুলো hosted frontier model-এ পাঠান। উভয়ের সামনে একটি gateway রাখুন, যাতে application-গুলোকে কোনটি ব্যবহৃত হচ্ছে তা জানতে না হয় এবং application code না বদলেই দুটির মধ্যে routing-এর সীমা পরিবর্তন করা যায়। এই architecture-ই “self hosted Claude”-এর বাস্তব সংস্করণ। আক্ষরিক সংস্করণটির বিপরীতে, এটি বাস্তবে বিদ্যমান। আপনি যদি সম্পূর্ণ agent stack-ও নিজে চালাতে চান, self-hosted AI agent-এর সংক্ষিপ্ত পর্যালোচনা-তে উপলভ্য বিকল্পগুলো দেখুন।

FAQ

Claude-এর model weights কি download করে locally চালানো যায়?

না। Anthropic কোনো Claude model-এর weights কখনও release করেনি, এবং self-hosting-এর অনুমতি দেয় এমন কোনো licence নেই। অনলাইনে downloadable "Claude model" হিসেবে প্রচারিত যেকোনো কিছু হয় বিভ্রান্তিকর নামে প্রকাশিত অন্য কোনো model, অথবা API call করা একটি wrapper। এতে API key প্রয়োজন হলে এটি local নয়।

Claude-এর সবচেয়ে কাছের open model কোনটি?

এর সঙ্গে পুরোপুরি মিলে যায় এমন কোনো model নেই, এবং কয়েক মাস পরপর শীর্ষস্থানীয় model বদলে যায়। পরীক্ষা করার মতো open-weight family হলো Llama, Qwen, Mistral, Gemma এবং DeepSeek। Summarising, classification এবং সাধারণ code edit-এর ক্ষেত্রে 8 থেকে 14 billion parameter-এর একটি ভালো open model বাস্তবে কার্যকর। দীর্ঘ multi-step reasoning এবং agentic tool use-এর ক্ষেত্রে hosted frontier model-এর সঙ্গে ব্যবধান এখনও বড়। Leaderboard-এর ওপর নির্ভর না করে নিজের prompt দিয়ে পরীক্ষা করুন।

LiteLLM কি self-hosted OpenRouter?

Routing এবং key management-এর দিক থেকে কার্যত হ্যাঁ। LiteLLM আপনার server-এ চলে, একটি OpenAI-compatible endpoint প্রকাশ করে এবং Anthropic, Ollama ও অন্যান্য অধিকাংশ provider-এ proxy করে। আপনি প্রতি key-এর spend cap, model routing এবং log পড়ার জন্য একটি কেন্দ্রীয় স্থান পাবেন। তবে এটি local inference দেয় না: Claude-এ পাঠানো request এখনও Anthropic-এ যায়।

নিজের server-এ Claude Code চালালে কি আমার code private থাকে?

না। Process যেখানেই চলুক, Claude Code যে file content পড়ে তা Anthropic API-এ পাঠায়। VPS আপনাকে agent-এর isolation দেয়, content-এর privacy নয়। এর জন্য একটি নির্দিষ্ট unprivileged user ব্যবহার করুন, credentials ও অসংশ্লিষ্ট repository থেকে agent-কে দূরে রাখুন, এবং এটি যে সব content পড়তে পারে সেগুলো server-এর বাইরে চলে যায় বলে বিবেচনা করুন।