GitHub Copilot-এর bring-your-own-key (BYOK) Custom Endpoint provider দিয়ে VS Code-এ GitHub-এর বাইরের model চালানো যায়। Tokens-এর ক্ষেত্রে Custom Endpoint আপনার OpenAI Chat Completions request পাঠায় https://tokens.bd/v1/chat/completions-এ, আর model-গুলো Copilot Chat-এর model picker-এ দেখা যায়।
Custom Endpoint আসার পর পুরোনো "OpenAI Compatible" provider আর github.copilot.chat.customOAIModels setting, দুটোই deprecated। আগে ওই পদ্ধতিতে Tokens সেট করে থাকলে নিচের ধাপগুলো ধরে নতুন পদ্ধতিতে চলে আসুন।
Copilot-এ BYOK কী কী কাজ করে#
VS Code-এর docs অনুযায়ী BYOK model শুধু chat আর utility কাজে চলে। Inline suggestion, semantic search আর embeddings এখনো GitHub দিয়েই যায়। তাই ওই কাজগুলোর জন্য আপনার Copilot সাবস্ক্রিপশন লাগবেই।
Copilot Business আর Enterprise-এ admin চাইলে policy দিয়ে BYOK বন্ধ করে রাখতে পারেন। Custom Endpoint option না দেখলে আপনার organization-এর Copilot settings যিনি দেখেন, তাঁকে জিজ্ঞেস করুন।
VS Code-এ Tokens-এর জন্য Custom Endpoint যোগ করুন#
1. key তৈরি করুন#
Dashboard থেকে একটা key তৈরি করুন। শুধু Copilot-এর জন্য আলাদা key রাখুন, তার নিজস্ব মাসিক spend cap দিয়ে। এতে খরচ ট্র্যাক করা আর দরকারে key বাতিল করা সহজ হয়। কী কী option আছে তা API keys পাতায় আছে।
2. wizard চালান#
- Copilot Chat-এর model picker খুলে gear আইকনে ক্লিক করুন, তারপর Manage Language Models বেছে নিন। চাইলে command palette থেকে Chat: Manage Language Models চালাতে পারেন।
- Add Models বেছে নিন, তারপর Custom Endpoint।
- একটা group name (
Tokens), একটা display name আর আপনার API key দিন। - API type হিসেবে Chat Completions বেছে নিন।
এরপর VS Code নিজেই chatLanguageModels.json খুলে দেবে।
3. chatLanguageModels.json এডিট করুন#
Tokens-এর entry-টা এমন করে নিন:
[
{
"name": "Tokens",
"vendor": "customendpoint",
"apiKey": "${input:tokensApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "deepseek/deepseek-v4.1-flash",
"name": "DeepSeek V4.1 Flash (Tokens)",
"url": "https://tokens.bd/v1/chat/completions",
"toolCalling": true,
"vision": false,
"maxInputTokens": 120000,
"maxOutputTokens": 8192
}
]
}
]প্রতিটা field-এর কাজ:
idহলো Tokens-এর model ID, হুবহু। এটা যেমন আছে তেমনই upstream-এ যায়।url-এ উপরের মতো পুরো endpoint দিতে পারেন। যে URL আগে থেকেই/chat/completions,/responsesবা/messagesদিয়ে শেষ, VS Code সেটা বদলায় না। না হলে API type অনুযায়ী path জুড়ে দেয়, আর/v1না থাকলে সেটাও বসায়। পুরো URL লিখে দিলে আর আন্দাজের দরকার পড়ে না।apiKey-তে input variable ব্যবহার হয়েছে, তাই আসল key JSON file-এ থাকে না। সরাসরি key paste করলে এই file-টাকে secret হিসেবে সামলাতে হবে।- Copilot-এর agent mode-এর জন্য
toolCalling: trueলাগে। শুধু যে model tool calling সাপোর্ট করে, তাতেই এটা দিন। visionশুধু সেই model-এtrueকরুন, যেটা image input নিতে পারে।maxInputTokensআরmaxOutputTokensএখানে উদাহরণ মাত্র। আসল সীমা model catalog থেকে দেখে বসান।
key যায় Authorization: Bearer header-এ, আর Tokens সেটা গ্রহণ করে।
model বদলান#
প্রতিটা Tokens model-এর জন্য models-এ একটা করে object যোগ করুন, নিজের id, name আর সীমা সহ। সেগুলো Copilot Chat-এর model picker-এ Tokens group-এর নিচে দেখা যাবে। সঠিক ID পাবেন catalog থেকে, অথবা এই command চালিয়ে:
curl -s https://tokens.bd/v1/models -H "Authorization: Bearer $TOKENS_API_KEY"কোনটা বেছে নেবেন বুঝতে না পারলে Choosing a model দেখুন।
Anthropic Messages variant#
Custom Endpoint Anthropic Messages API-ও সাপোর্ট করে। সেজন্য "apiType": "messages" আর "url": "https://tokens.bd/v1/messages" দিন। এই type-এ VS Code key পাঠায় x-api-key header-এ, Tokens সেটাও গ্রহণ করে। request-এর format আছে Messages পাতায়। তবে সহজ default হলো Chat Completions।
ঠিকমতো চলছে কিনা দেখুন#
আগে VS Code-এর বাইরে key-টা পরীক্ষা করে নিন:
export TOKENS_API_KEY=tok_live_your_key
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"}]}'এরপর Copilot Chat খুলে model picker থেকে "DeepSeek V4.1 Flash (Tokens)" বেছে নিন, তারপর একটা প্রশ্ন করুন। agent mode-এ tool calling ঠিক আছে কিনা দেখতে একটা file পড়তে বলুন। request-টা আপনার Dashboard-এর usage analytics-এ দেখা যাবে।
সমস্যা হলে#
Custom Endpoint option নেই। আপনার VS Code বা Copilot Chat-এর version পুরোনো, নয়তো organization-এর policy BYOK বন্ধ করে রেখেছে।
401 invalid_api_key বা missing_api_key। key দেওয়া হয়নি, অথবা key ভুল, revoke করা বা rotate করা। key rotate করলে পুরোনো secret সঙ্গে সঙ্গে অচল হয়ে যায়। নতুন key দিতে wizard আবার চালান।
404 model_not_found। id হতে হবে Tokens-এর পুরো ID, যেমন deepseek/deepseek-v4.1-flash।
404, আর path-টা অদ্ভুত। url দেখুন। /v1/chat/completions/chat/completions-এর মতো দ্বিগুণ path দেখলে বুঝবেন পুরো URL-এর সাথে এমন কিছু মিশেছে, যা নিজে path জুড়ে দেয়। উপরে যেভাবে দেখানো হয়েছে, পুরো URL ঠিক সেভাবেই দিন।
agent mode-এ model পাওয়া যাচ্ছে না। toolCalling: true দিন।
Inline suggestion Tokens ব্যবহার করছে না। এটাই স্বাভাবিক। BYOK-তে inline suggestion পড়ে না।
402 insufficient_credits বা 429 error। billing থেকে টাকা যোগ করুন। rate limit-এর ক্ষেত্রে Troubleshooting দেখুন।
Copilot-এর request-গুলো Chat Completions format মেনে চলে। যদি এমন agent চান যা সবকিছু আপনার key দিয়েই চালায়, তাহলে Cline বা Continue দেখতে পারেন।
সূত্র: VS Code docs, language models and Custom Endpoint, 2026 সালের অক্টোবরে যাচাই করা।