Continue کو custom OpenAI-compatible endpoint پر point کریں۔
Updated 2026-07-29
Continue models کو config.yaml میں declaratively configure کرتا ہے۔ provider کو openai پر set کریں، apiBase کو https://api.apisrouter.com/v1 پر point کریں، اور آپ جو بھی model block شامل کریں وہ extension میں منتخب کے قابل ہو جاتا ہے، chat، edit، اور apply roles فی-model ایک واحد key کے تحت assign کے قابل۔
فوری جواب: provider openai اور apiBase والا model block۔
Continue کا openai provider ایک apiBase override قبول کرتا ہے، جو کسی بھی OpenAI-compatible server کے لیے documented راستہ ہے۔ config.yaml میں ایک model block شامل کریں جس کی provider کو openai پر، apiBase کو https://api.apisrouter.com/v1 پر، exact model id، اور آپ کی key پر set کیا گیا ہو۔ Model Continue کے model selector میں ظاہر ہو جاتا ہے، اور یہ جو بھی request بھیجتا ہے وہ معیاری /v1/chat/completions پر gateway کو جاتی ہے۔ وہی mechanism جتنے چاہیں models کو cover کرتا ہے: فی-id ایک block، سب ایک ہی apiBase اور key share کرتے ہیں۔ چونکہ Continue model field کو plain string کے طور پر treat کرتا ہے، مختلف vendors کی ids، Claude، GPT، اور DeepSeek ساتھ ساتھ، ایک ہی config file میں بیٹھتی ہیں۔
models:
- name: Claude Sonnet 4.6
provider: openai
model: claude-sonnet-4-6
apiBase: https://api.apisrouter.com/v1
apiKey: sk-APIsRouter-...
roles:
- chat
- edit
- applyContinue کام models کو کیسے تفویض کرتا ہے: roles۔
Continue (GitHub پر continuedev، تقریباً 34K stars) VS Code اور JetBrains کے لیے ایک IDE agent ہے، اور اس کی متعین کرنے والی config سوچ roles ہے۔ ہر model block ایک roles فہرست رکھتا ہے، اور Continue ہر قسم کے کام کو اس role رکھنے والے model پر route کرتا ہے: conversation panel اور agent کام کے لیے chat، inline code تبدیلیوں کے لیے edit، files میں proposed changes merge کرنے کے لیے apply، جمع autocomplete، embed، اور rerank اپنے متعلقہ subsystems کے لیے۔ یہی وہ lever ہے جو خاص طور پر Continue میں multi-vendor endpoint کو دلچسپ بناتا ہے۔ Chat سب سے مضبوط model چاہتا ہے جو آپ justify کر سکیں؛ edit اور apply مختصر، زیادہ mechanical calls ہیں جہاں ایک تیز mid-tier id کام کر جاتی ہے۔ ایک apiBase کے ساتھ جو ہر vendor کو سرو کرے، وہ تقسیم خالص YAML ہے: ایک Claude id chat رکھتی ہے، ایک تیز id edit اور apply رکھتی ہے، سب کے لیے ایک key۔ ایک ایماندارانہ حد: autocomplete ایک fill-in-the-middle workload ہے، اور Continue کا autocomplete role چیٹ کی بجائے اس completion format کے لیے trained models کے گرد بنا ہے۔ ایک chat-completions gateway chat، edit، اور apply traffic کے لیے صحیح گھر ہے؛ autocomplete کو آپ آج جو بھی FIM-قابل setup استعمال کرتے ہیں اس پر ہی رکھیں بجائے اس role کو کسی chat model کو assign کر کے اچھی suggestions کی امید رکھنے کے۔
مکمل سیٹ اپ: کئی models، تقسیم شدہ roles، declared context۔
config file ~/.continue/config.yaml پر رہتی ہے۔ ہر block کا name وہ label ہے جو selector میں دکھتا ہے؛ model وہ exact id ہے جو gateway سرو کرتا ہے۔ defaultCompletionOptions.contextLength model کی context window declare کرتی ہے، اور Continue اسے استعمال کرتا ہے یہ فیصلہ کرنے کے لیے کہ کتنی گفتگو اور file context کسی request میں پیک کی جائے، تو کسی لمبے-context model پر اسے conservative default پر چھوڑنا مطلوبہ سے پہلے truncate کر دیتا ہے۔ Capabilities عموماً auto-detect ہوتی ہیں، مگر Continue کی نامعلوم ids کے لیے آپ انہیں واضح طور پر بیان کر سکتے ہیں: capabilities: [tool_use] agent mode کو بتاتا ہے کہ وہ اس model کے ساتھ tools چلا سکتا ہے۔ Keys پر: YAML ایک literal apiKey قبول کرتی ہے، جو ایک local file کے لیے ٹھیک ہے جو کبھی آپ کی machine سے باہر نہ جائے۔ Continue اس کے hub کے ذریعے managed configs کے لیے ${{ secrets.APISROUTER_API_KEY }} طرز کا secrets template syntax بھی سپورٹ کرتا ہے، جو literal value کو shared files سے دور رکھتا ہے۔ وہ فارم استعمال کریں جو آپ کی config کی جگہ سے میچ کرے۔
models:
- name: Claude Sonnet 4.6
provider: openai
model: claude-sonnet-4-6
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [chat, edit]
capabilities: [tool_use]
defaultCompletionOptions:
contextLength: 200000
- name: Claude Haiku 4.5
provider: openai
model: claude-haiku-4-5-20251001
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [edit, apply]
- name: GPT-5.5
provider: openai
model: gpt-5.5
apiBase: https://api.apisrouter.com/v1
apiKey: ${{ secrets.APISROUTER_API_KEY }}
roles: [chat]فی-role models چننا۔
Role assignment ہی موازنے کا mechanism بھی ہے۔ edit اور apply کو fixed رکھیں، chat block کو دو candidate ids کے درمیان ایک ہفتے کے لیے سوئچ کریں، اور per-key usage view کو اپنے حقیقی workload پر فرق کی قیمت لگانے دیں۔ ہر candidate اسی endpoint کے خلاف YAML کی تین لائنیں ہے۔
- chat agent loop اور لمبی گفتگوئیں اٹھاتا ہے: files پڑھنا، edits کی منصوبہ بندی، حقیقی context پر سوالوں کے جواب۔ ایک frontier model (claude-sonnet-4-6، gpt-5.5) یہاں موزوں ہے، اور یہیں آپ کے زیادہ تر tokens جاتے ہیں۔
- edit highlighted-code تبدیلیاں سنبھالتا ہے۔ Calls chat سے مختصر اور زیادہ mechanical ہیں، تو claude-haiku-4-5-20251001 یا gpt-5.4-mini جیسی تیز id نتائج کم کیے بغیر edit loop کو tight رکھتی ہے۔
- apply proposed changes کو files میں merge کرتا ہے۔ یہ تینوں میں سب سے mechanical role ہے اور سب سے سستے قابل model کے لیے واضح ترین candidate، deepseek-v4-flash سمیت۔
- embed اور rerank codebase retrieval کو طاقت دیتے ہیں اور اپنے مخصوص model shapes کے ساتھ الگ subsystems ہیں؛ chat traffic کو gateway پر منتقل کرنے سے انہیں چھونے کی ضرورت نہیں پڑتی۔
استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| ماڈل | سرکاری قیمت | ہماری قیمت |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| GPT-5.4 mini | $0.75 / $4.50 per M | $0.60 / $3.60 per M |
| DeepSeek V4 Flash | $0.14 / $0.28 per M | $0.10 / $0.30 per M |
Continue سے مخصوص failure modes۔
بغیر /v1 والا apiBase۔ Continue آپ کے دیے گئے base پر /chat/completions جیسے route paths append کرتا ہے، تو https://api.apisrouter.com/v1 درست ہے اور صرف host نہیں۔ پہلی بار استعمال پر 404-شکل کا error تقریباً ہمیشہ یہی ہوتا ہے۔ YAML indentation خاموشی سے config کو دوبارہ شکل دیتی ہے۔ models blocks کی ایک فہرست ہے، اور غلط-indented apiBase غلط entry سے یا کسی سے بھی نہیں جڑتی۔ جب ایک model کام کرے اور اس کا neighbor authenticate نہ ہو، gateway پر شک کرنے سے پہلے ان کی indentation diff کریں۔ Legacy completions toggle۔ openai provider default طور پر /chat/completions پر جاتا ہے، جو gateway سرو کرتا ہے۔ useLegacyCompletionsEndpoint: true کسی block کو legacy /completions route پر redirect کرتا ہے؛ اگر کوئی block اسے set رکھتا ہے، تو اس model کے لیے chat-شکل کی requests کام کرنا بند کر دیتی ہیں۔ بعض GPT-series ids پر Responses-API توقعات۔ Continue کے کچھ راستے کچھ OpenAI model names کے لیے OpenAI کا نیا responses protocol آزما سکتے ہیں۔ ایک chat-completions gateway وہ protocol سرو نہیں کرتا؛ اگر کوئی GPT-series block route-شکل کے انداز میں error دے، تو اس block پر useResponsesApi: false set کریں تاکہ یہ /chat/completions پر رہے۔ پرانی contextLength۔ Continue context کو defaultCompletionOptions.contextLength کے مطابق پیک کرتا ہے، model کیا قبول کر سکتا ہے اس کے مطابق نہیں۔ 200k model پر 32k declare کرنا نظر آنے والا کچھ نہیں توڑتا؛ یہ خاموشی سے وہ context ضائع کر دیتا ہے جس کی آپ نے قیمت دی۔ وہی declare کریں جو model واقعی سپورٹ کرتا ہے۔
Continue کو gateway کے ذریعے کون route کرتا ہے۔
- IDE-first developers جو VS Code یا JetBrains کے اندر Claude، GPT، اور DeepSeek منتخب کے قابل چاہتے ہیں بغیر فی-vendor ایک credential set رکھے۔
- وہ teams جو roles کو cost profile سے تقسیم کرتی ہیں: frontier chat، تیز edit اور apply، ہر role وہی id رکھتا ہے جو اسے فٹ بیٹھے، سب ایک ہی surface پر bill ہوتے ہیں۔
- وہ engineers جو حقیقی کام پر chat models کا موازنہ کرتے ہیں۔ ہر candidate اسی apiBase کے خلاف ایک YAML block ہے، کوئی نئی provider integration نہیں۔
- وہ team leads جو onboarding کو standardize کرتے ہیں: ایک config.yaml template جمع ایک APISROUTER_API_KEY فی-vendor key checklist کی جگہ لے لیتے ہیں، اور per-key usage ظاہر کرتا ہے ہر seat کیا خرچ کرتی ہے۔
- وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔
Endpoint verify کریں اور پہلی request debug کریں۔
YAML edit کرنے سے پہلے فہرست کریں کہ gateway کیا سرو کرتا ہے؛ /v1/models سے واپس آنے والی ids بالکل وہی strings ہیں جن سے آپ کی model fields میچ ہونی چاہئیں۔ پہلی-request کی failures ایک pattern کی پیروی کرتی ہیں۔ 401 کا مطلب ہے اس مخصوص block میں key غلط ہے، یا کوئی secrets reference resolve نہیں ہوا؛ پوری file کی بجائے fail ہونے والا block چیک کریں، کیونکہ فی-block keys کا مطلب فی-block failures ہے۔ model-not-found error id کی typo ہے، version suffix سمیت۔ کسی GPT-series id پر route-شکل کا error اوپر بیان کردہ responses-API toggle کی طرف اشارہ کرتا ہے۔ اور اگر extension کوئی custom models بالکل نہ دکھائے، تو YAML parse نہیں ہوا؛ پہلے file structure validate کریں۔ جب requests چلنے لگیں تو APIsRouter console فی-request model، token counts، اور spend دکھاتا ہے۔ چونکہ Continue کام کو roles میں تقسیم کرتا ہے، usage view وہ پہلی جگہ بھی ہے جہاں آپ اپنے حقیقی workload پر chat-to-edit traffic ratio دیکھتے ہیں، جو وہ عدد ہے جو بتاتا ہے model choice اصل میں کہاں اہم ہے۔
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50عمومی سوالات
کیا Continue openai provider کے ذریعے Claude اور DeepSeek models استعمال کر سکتا ہے؟
جی ہاں۔ apiBase set والا openai provider کسی بھی OpenAI-compatible server کے لیے documented راستہ ہے، اور Continue model field کو plain string کے طور پر forward کرتا ہے۔ endpoint جو بھی id سرو کرے وہ کام کرتی ہے، Claude اور DeepSeek ids سمیت، فی-id ایک model block۔
کیا میرے تمام model blocks ایک ہی apiBase اور key share کرتے ہیں؟
ہر block اپنی apiBase اور apiKey declare کرتا ہے، تو وہ values share کر سکتے ہیں یا نہیں۔ ایک ہی endpoint پر ایک ہی key کے ساتھ کئی blocks point کرنا عام بات ہے، اور YAML anchors آپ کو یہ جوڑا ایک بار declare کر کے فی-block reference کرنے دیتے ہیں۔
کون سے roles gateway کے ذریعے route ہونے چاہئیں؟
chat، edit، اور apply، جو سب /v1/chat/completions بولتے ہیں۔ Autocomplete ایک fill-in-the-middle workload ہے جو completion-format models کے گرد بنا ہے، تو اس role کو اپنے موجودہ FIM setup پر ہی رکھیں۔ embed اور rerank الگ subsystems ہیں اور انہیں کسی تبدیلی کی ضرورت نہیں۔
ایک model block کام کیوں کرتا ہے جبکہ دوسرا 401 واپس کرتا ہے؟
Continue میں keys فی-block ہیں، تو ایک کام کرتا ہوا neighbor fail ہونے والے block کے بارے میں کچھ ثابت نہیں کرتا۔ fail ہونے والے block کی apiKey value یا secrets reference چیک کریں، اور اس کی indentation چیک کریں: غلط-indented key غلط list entry سے جڑ جاتی ہے۔
useLegacyCompletionsEndpoint کیا کرتا ہے اور کیا مجھے اس کی ضرورت ہے؟
یہ کسی model block کو /chat/completions سے legacy /completions route پر redirect کرتا ہے۔ ایک chat-completions gateway کے لیے آپ اسے نہیں چاہتے؛ اسے unset چھوڑ دیں۔ یہ پرانے completion-only servers کے لیے موجود ہے۔
کیا contextLength واقعی رویہ بدلتی ہے؟
جی ہاں۔ Continue گفتگو اور file context کو defaultCompletionOptions.contextLength کے مطابق پیک کرتا ہے۔ کسی لمبے-context model پر اسے کم بتانا خاموشی سے context ضائع کرتا ہے؛ اسے وہ set کریں جو model واقعی سپورٹ کرتا ہے۔