Ollama کو اپنے coding agent کے ساتھ کیسے چلائیں
Ollama کو coding agent سے جوڑنے کے لیے base URL، dummy API key اور model name کافی ہیں۔ context length کی عام خرابی اور مقامی model کے بہترین کام جانیں۔
آپ کس چیز سے منسلک ہو رہے ہیں
آپ Ollama کو اپنے coding agent کے ساتھ استعمال کر سکتے ہیں، اور اس کے لیے درکار connection توقع سے کہیں مختصر ہے۔ آپ صرف ایک base URL تبدیل کرتے ہیں اور ایک model name منتخب کرتے ہیں۔ API key کے خانے میں اب بھی کوئی value درکار ہوتی ہے، لیکن local server اسے نظر انداز کرتا ہے، اس لیے کوئی بھی string کام کرے گی۔
Ollama port 11434 پر listening کرتا ہے اور بیک وقت دو request shapes فراہم کرتا ہے۔ /v1/chat/completions OpenAI-compatible shape ہے، اور Ollama کی documentation میں اس key کو required لیکن ignored بتایا گیا ہے۔ /v1/messages Anthropic-compatible shape ہے، جسے Claude Code استعمال کرتا ہے۔ آپ کا agent پہلے ہی ان دونوں میں سے ایک shape استعمال کرتا ہے، اس لیے اس میں کوئی اور تبدیلی نہیں ہوتی۔
یہ حصہ پانچ منٹ میں مکمل ہو جاتا ہے۔ نتیجہ قابلِ استعمال ہوگا یا نہیں، اس کا انحصار تقریباً ہمیشہ نظر انداز کی جانے والی دو settings، context length اور keep-alive، اور model کو اس نوعیت کا کام دینے پر ہے جس میں وہ اچھا ہے۔ دونوں کے لیے الگ section ہے، جبکہ حقیقی حدود آخر میں بیان کی گئی ہیں۔
کون سے coding agents مقامی base URL قبول کرتے ہیں
اس کی جانچ ایک سوال سے ہوتی ہے: کیا tool میں base URL setting موجود ہے؟ اگر موجود ہو تو وہ آپ کے server سے رابطہ کر سکتا ہے۔
Ollama، Claude Code، OpenCode، Codex، Cline، Roo Code، Zed، JetBrains IDEs اور VS Code کے لیے integration pages فراہم کرتا ہے۔ Aider اپنی Ollama support الگ سے document کرتا ہے۔ اگست 2026 میں coding agent سے مراد عموماً یہی tools ہوتے ہیں۔ یہ سب ایک ہی API format استعمال نہیں کرتے، اور setup کی ناکامی اکثر اسی فرق کی وجہ سے ہوتی ہے۔
- زیادہ تر agents کو OpenAI-compatible endpoint درکار ہوتا ہے۔ انہیں base URL
http://localhost:11434/v1اور کوئی بھی non-empty API key string دیں۔ - Claude Code کسی بھی OpenAI base URL کو قبول نہیں کرتا۔ یہ Anthropic Messages API استعمال کرتا ہے، اس لیے
ANTHROPIC_BASE_URLکوhttp://localhost:11434پر set کرنا ضروری ہے، جہاں Ollama/v1/messagesفراہم کرتا ہے۔ - Codex، OpenAI Responses API استعمال کرتا ہے۔ Ollama
/v1/responsesبھی فراہم کرتا ہے، جو version 0.13.3 میں شامل کیا گیا تھا۔ - جس agent میں base URL setting نہ ہو، اسے redirect نہیں کیا جا سکتا، کیونکہ endpoint client کے اندر built-in ہوتا ہے۔ اس کے بجائے سامنے translation layer رکھیں، مثلاً self-hosted LiteLLM gateway، اور اپنے model کو اس format میں دوبارہ expose کریں جو client کو درکار ہو۔
Ollama یہ configs آپ کے لیے تیار کر سکتا ہے۔ ollama launch opencode آپ کے منتخب کردہ model کے لیے inline config کے ساتھ OpenCode شروع کرتا ہے، ollama launch claude یہی کام Claude Code کے لیے کرتا ہے، اور ollama launch droid --config tool شروع کیے بغیر config لکھتا ہے۔
Ollama انسٹال کریں اور ایسا model حاصل کریں جو tools استعمال کر سکے
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama --no-pager
ollama pull qwen3-coder:30b
ollama lsInstaller ایک systemd unit شامل کرتا ہے اور اسے start کرتا ہے، اس لیے systemctl status ollama کو active (running) دکھانا چاہیے۔ اگر ایسا نہ ہو تو journalctl -e -u ollama وجہ دکھاتا ہے۔
model میں tool calling کی معاونت ضروری ہے، کیونکہ agent اسی طریقے سے کام کرتا ہے۔ یہ file پڑھتا ہے، patch لکھتا ہے، test چلاتا ہے، پھر failure پڑھ کر دوبارہ کوشش کرتا ہے۔ جو model tool call جاری نہیں کر سکتا، وہ edit کرنے کے بجائے اسے نثر میں بیان کرے گا، اور agent loop میں پھنس جائے گا یا رک جائے گا۔ pull کرنے سے پہلے ollama.com پر model کے صفحے میں tools label تلاش کریں۔ qwen3-coder:30b میں یہ label موجود ہے، اور August 2026 تک اس tag کا download سائز 19 GB اور context window 256K ہے۔ اگر آپ کا box صرف CPU استعمال کرتا ہے یا RAM کم ہے تو VPS پر Qwen 27B tag کے لیے memory arithmetic download شروع کرنے سے پہلے دکھاتا ہے کہ 8 سے 64 GB میں حقیقتاً کیا فٹ ہوتا ہے۔ جب آپ اسے pull کر لیں گے تو یہ gigabytes server کی root disk پر محفوظ ہوں گے۔ VPS میں عموماً یہی حصہ سب سے کم خالی جگہ رکھتا ہے، اس لیے disk بھرنے سے پہلے Ollama اپنی model files کہاں رکھتا ہے اور انہیں دوسری جگہ کیسے منتقل کیا جائے پڑھنا مفید ہے۔
اب تصدیق کریں کہ server حقیقتاً کون سے نام serve کرتا ہے:
curl http://localhost:11434/v1/modelsاس response میں موجود strings وہی نام ہیں جو آپ کے agent config میں حرف بہ حرف شامل ہونے چاہییں۔ پہلے یہ جانچ لینے سے model-not-found کی زیادہ تر errors حل ہو جاتی ہیں۔ اگر Ollama ابھی انسٹال نہیں ہے تو مکمل طریقہ VPS پر Ollama کے ساتھ LLM self-host کرنے میں موجود ہے۔
OpenCode کو Ollama سے مربوط کریں
~/.config/opencode/opencode.json میں ترمیم کریں:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen3-coder:30b": {
"name": "qwen3-coder 30b"
}
}
}
}
}models کے تحت موجود key، Ollama کو بھیجے جانے والے model کا نام ہے، اس لیے اسے ollama ls سے بالکل مطابقت رکھنی چاہیے۔ name field صرف model picker میں دکھایا جانے والا label ہے۔ opencode شروع کریں، Ollama provider منتخب کریں، اور journalctl -e -u ollama کو monitor کریں تاکہ تصدیق ہو سکے کہ request کسی اور جگہ کے بجائے آپ کے server تک پہنچی ہے۔ agent کی خود configuration VPS پر OpenCode چلانا میں بیان کی گئی ہے۔
Claude Code کو Ollama سے منسلک کریں
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3-coder:30bANTHROPIC_API_KEY کو جان بوجھ کر خالی string پر set کیا گیا ہے۔ اگر environment میں اصل key موجود ہو تو آپ کی requests مقامی inference کے بجائے hosted API کو بھیجی جاتی ہیں، جس سے bill آتا ہے اور local inference نہیں ہوتی۔ ollama launch claude یہ تمام settings خود set کر دیتا ہے۔
یہ سمجھیں کہ compatibility layer میں کیا شامل نہیں ہے۔ یہ tool_choice یا prompt caching کو implement نہیں کرتی، اور اس میں token counting endpoint بھی نہیں ہے۔ اس لیے آپ کو نظر آنے والے token counts، model کے اپنے tokenizer سے حاصل کردہ تخمینے ہوتے ہیں۔ Claude Code ایک بڑا system prompt اور tools کا بڑا مجموعہ بھی بھیجتا ہے، اس لیے اسے chat client کے مقابلے میں زیادہ context درکار ہوتا ہے۔ کون سی چیزیں منتقل ہوتی ہیں اور کون سی نہیں، اس کا وسیع تر جائزہ Claude کو self-host کرنے کے امکان میں دیا گیا ہے۔
Ollama کی طرف Aider کی نشاندہی کریں
export OLLAMA_API_BASE=http://127.0.0.1:11434
aider --model ollama_chat/qwen3-coder:30bAider کی دستاویزات ollama/ کے بجائے ollama_chat/ prefix استعمال کرنے کی تجویز دیتی ہیں۔ اس کے علاوہ، .aider.model.settings.yml میں ہر model کے لیے context window مقرر کی جا سکتی ہے۔ یہ اس وقت مفید ہے جب کسی ایک model کو server default سے مختلف window درکار ہو:
- name: ollama_chat/qwen3-coder:30b
extra_params:
num_ctx: 65536فعال setup اب بھی بے معنی نتائج کیوں پیدا کرتا ہے
یہی وہ حصہ ہے جو اہم ہے۔ Ollama دستیاب VRAM (GPU کی video memory) کی بنیاد پر default context length منتخب کرتا ہے، اور یہ defaults شائع شدہ ہیں:
The data behind this chart
[
{
"label": "Under 24 GiB VRAM",
"default_context_tokens": "4,096"
},
{
"label": "24 to 48 GiB VRAM",
"default_context_tokens": "32,768"
},
{
"label": "48 GiB VRAM or more",
"default_context_tokens": "262,144"
}
]زیادہ تر VPS plans، اور تمام CPU-only servers، پہلی row میں آتے ہیں: 4,096 tokens۔ آخری row میں 262,144 tokens صرف بڑے GPU کو ملتے ہیں۔
Agent کوئی کام شروع کرنے سے پہلے ہی 4096 tokens بھیج دیتا ہے۔ system prompt، tool definitions، repository listing اور پہلی کھولی جانے والی file پہلے ہی اس حد سے بڑے ہوتے ہیں۔ اس کے بعد اصل مسئلہ شروع ہوتا ہے: کوئی error ظاہر نہیں ہوتا۔ Aider کی documentation کے مطابق Ollama window سے زیادہ context کو خاموشی سے خارج کر دیتا ہے۔ قدیم ترین tokens window سے نکل جاتے ہیں، اس لیے model ایسی file کے بارے میں پُراعتماد جواب دیتا ہے جسے وہ اب دیکھ نہیں سکتا، یا آپ کی دو steps پہلے دی ہوئی instruction بھول جاتا ہے۔ یہی mechanism ان بیشتر reports کے پیچھے ہے جن میں کہا جاتا ہے کہ local model code لکھنے کے لیے بہت کمزور ہے۔ خود یہ number منتخب کرنا بھی الگ فیصلہ ہے، اور ہر size پر KV cache memory میں num_ctx کی لاگت طے کرنے سے پہلے پڑھنا مفید ہے۔
Ollama کی documentation کے مطابق agents اور coding tools جیسے tasks کے لیے کم از کم 64000 tokens مقرر ہونے چاہییں۔ اسے server پر مقرر کریں:
sudo systemctl edit ollama.serviceoverride file میں یہ lines شامل کریں:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=64000"پھر reload اور restart کریں:
sudo systemctl daemon-reload
sudo systemctl restart ollama
ollama psollama ps اصل check ہے۔ یہ CONTEXT column دکھاتا ہے، اور یہی number ہے جو model کو حقیقت میں ملا۔ آپ کے ID اور SIZE مختلف ہوں گے:
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen3-coder:30b a1b2c3d4e5f6 24 GB 100% GPU 64000 4 minutes from nowاسے agent کے بجائے server پر مقرر کریں، دو وجوہات کی بنا پر۔ OpenAI chat completions schema میں context length کے لیے کوئی field نہیں، اس لیے OpenAI-compatible client اس کے لیے درخواست نہیں کر سکتا۔ مزید یہ کہ setting فی server ہوتی ہے، اس لیے جس agent کو بھی آپ اس server سے منسلک کریں گے اسے یہ setting وراثت میں ملے گی۔ output side کی اپنی ceiling ہوتی ہے، اور context length کے برعکس یہ compatibility endpoint کے ذریعے منتقل ہوتی ہے، اس لیے جب reply patch کے درمیان رک جائے تو num_predict اور اس سے map ہونے والا max_tokens field استعمال کریں۔ اگر کسی model کو مختلف window درکار ہو تو اسے Modelfile کے ساتھ ایک copy میں شامل کریں:
FROM qwen3-coder:30b
PARAMETER num_ctx 65536ollama create qwen3-coder-64k -f ModelfileContext مفت نہیں ہوتا۔ لمبی window زیادہ memory استعمال کرتی ہے، اس لیے PROCESSOR column پر نظر رکھیں۔ 100% GPU وہ value ہے جو آپ چاہتے ہیں۔ جب model کا کچھ حصہ CPU پر منتقل ہو جاتا ہے تو token rate اتنا کم ہو جاتا ہے کہ agent loop ناقابل استعمال بن جاتا ہے، اور local LLM پر tokens per second کی پیمائش آپ کے server کی حقیقی ceiling معلوم کرنے کا طریقہ ہے۔ machine خریدنے سے پہلے اس کی sizing coding agent VPS کے لیے کتنی RAM اور CPU درکار ہے میں بیان کی گئی ہے۔
درخواستوں کے درمیان ماڈل کو loaded رکھیں
بطور ڈیفالٹ Ollama آخری request کے 5 منٹ بعد ماڈل unload کر دیتا ہے۔ یہ chat box کے لیے مناسب ہے، لیکن agent کے کام کے لیے نہیں۔ آپ diff پڑھنے کے لیے رک جاتے ہیں، timer ختم ہو جاتا ہے، اور اگلی request پر پہلے token کے ظاہر ہونے سے پہلے disk سے دسیوں gigabytes کے weights دوبارہ load ہوتے ہیں۔ یہ عمل hang محسوس ہوتا ہے۔
OLLAMA_KEEP_ALIVE ایک duration string لیتا ہے، جیسے 10m یا 24h، seconds کی سادہ تعداد، ماڈل کو indefinitely loaded رکھنے کے لیے -1، یا اسے فوراً unload کرنے کے لیے 0۔ اسے context length کے ساتھ set کریں:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=64000"
Environment="OLLAMA_KEEP_ALIVE=-1"keep_alive request field صرف Ollama کے native /api/generate اور /api/chat endpoints پر موجود ہے، compatibility endpoints پر نہیں۔ اس لیے agent اسے ہر request کے لیے set نہیں کر سکتا۔ آپ کے پاس صرف environment variable کا اختیار ہے۔ جب memory دوبارہ درکار ہو تو ollama stop qwen3-coder:30b server کو stop کیے بغیر ماڈل unload کر دیتا ہے۔ اگر آپ چاہتے ہیں کہ یہ setting reboot کے بعد بھی برقرار رہے، یا یہ فیصلہ کرنا چاہتے ہیں کہ weights کو سارا دن memory میں رکھنے کے بجائے memory واپس لینا بہتر ہے، تو Ollama ماڈل کو memory میں loaded رکھنا دونوں طریقوں سے کام کرتا ہے۔
الگ سرور پر Ollama چلانا
Ollama صرف localhost پر bind ہوتا ہے۔ کسی دوسری مشین سے اس تک رسائی کے لیے اسی systemd override میں OLLAMA_HOST=0.0.0.0:11434 سیٹ کریں اور service کو restart کریں۔
یہ کام صرف private network پر کریں۔ Ollama کی documentation کے مطابق local API کے لیے authentication درکار نہیں ہوتی۔ اس لیے port 11434 کو internet پر کھولنے کا مطلب ہے کہ کوئی بھی آپ کا hardware استعمال کر سکتا ہے اور آپ کا agent جو کچھ بھی بھیجے اسے پڑھ سکتا ہے۔ دو محفوظ طریقے ہیں۔ bind کو localhost پر برقرار رکھیں اور اپنے laptop سے SSH کے ذریعے port forward کریں:
ssh -N -L 11434:localhost:11434 you@your-vpsآپ کا agent http://localhost:11434/v1 ہی استعمال کرتا رہے گا اور اسے کوئی فرق محسوس نہیں ہوگا۔ دوسرا طریقہ VPN ہے۔ اس صورت میں Ollama کو 0.0.0.0 کے بجائے VPN address پر bind کریں۔ اگر ایک ہی box کو کئی افراد یا کئی agents استعمال کریں گے تو Ollama کا scheduler اس workload کے لیے نہیں بنایا گیا۔ Ollama اور vLLM کا تقابلی جائزہ واضح کرتا ہے کہ throughput کا فرق کہاں نمایاں ہونا شروع ہوتا ہے۔
جہاں مقامی coding model بہتر ہے، اور جہاں نہیں
آپ کے زیرِ انتظام host کیے گئے model سے چلنے والا agent ہر کام میں frontier API کا متبادل نہیں ہوتا۔ یہ چار قسم کے کاموں میں واضح طور پر بہتر رہتا ہے۔
- بڑے پیمانے کی mechanical تبدیلیاں، جہاں ہر تبدیلی چھوٹی ہو اور آپ اسے جانچ سکتے ہوں۔ repository میں نام تبدیل کرنا، type hints شامل کرنا، docstrings لکھنا، اور comments کا ترجمہ کرنا۔ model کئی گھنٹے چل سکتا ہے اور bill میں اضافہ نہیں ہوتا۔
- وہ کام جو آپ کے hardware سے باہر نہیں جانے چاہییں۔ مثلاً confidentiality agreement کے تحت موجود client code، یا ایسا internal repository جسے آپ کسی third party کو بھیجنے کے مجاز نہ ہوں۔
- Offline اور air-gapped machines، جہاں کسی hosted API کو call کرنے کا امکان ہی نہ ہو۔
- قابلِ پیش گوئی لاگت۔ server کی ادائیگی کے بعد loop میں tokens خرچ کرنے والے agent کی اضافی لاگت صفر ہوتی ہے، جو metered API کے بالکل برعکس ہے۔ GPU VPS API tokens کے مقابلے میں کب break even ہوتا ہے میں حساب دیا گیا ہے۔
یہ طویل اور متعدد مراحل والے کاموں میں کمزور رہتا ہے۔ "معلوم کریں کہ یہ test کیوں fail ہوتا ہے، وجہ درست کریں، اور callers کو update کریں" جیسے کام کے لیے مسلسل کئی درست tool calls درکار ہوتے ہیں، جبکہ پوری history context میں برقرار رہنی چاہیے۔ معمولی server پر 8B سے 14B range کا model malformed tool call پیدا کر سکتا ہے یا چند turns کے بعد plan بھول سکتا ہے۔ نتیجتاً آپ task مکمل کرنے سے زیادہ وقت اسے steer کرنے میں صرف کرتے ہیں۔ یہ prompt کا مسئلہ نہیں جسے بہتر تحریر سے حل کیا جا سکے۔ یہ capacity کا مسئلہ ہے۔
یہ اس وقت بھی کمزور رہتا ہے جب غلطی مہنگی ہو اور آپ ہر line نہیں پڑھیں گے۔ مقامی model کو محدود دائرے والے ایسے کام دیں جن کے output کی آپ تصدیق کر سکیں، اور وہ کام hosted model کے سپرد رکھیں جنہیں آپ step by step check نہیں کریں گے۔
خرابی کی صورتیں اور نظر آنے والے strings
curl: (7) Failed to connect to localhost port 11434 after 0 ms: Connection refused۔ سرور چل نہیں رہا، یا agent کسی دوسرے host کی طرف اشارہ کر رہا ہے۔ systemctl status ollama چلائیں، پھر journalctl -e -u ollama چلائیں۔
agent بتاتا ہے کہ model موجود نہیں ہے۔ آپ کی config میں درج نام اس نام سے مطابقت نہیں رکھتا جو server فراہم کرتا ہے۔ اسے curl http://localhost:11434/v1/models کے مقابل چیک کریں اور وہاں موجود string نقل کریں۔ tag نام کا حصہ ہے، اس لیے اگر config میں ایسے tag کا نام ہو جسے آپ نے کبھی pull نہیں کیا، تو درخواست ناکام ہو جائے گی، چاہے اسی سے ملتا جلتا model انسٹال ہو۔
agent نثری جواب دیتا ہے اور کبھی file میں ترمیم نہیں کرتا۔ یا تو model کو tool support حاصل نہیں، یا request اور اس کی tool definitions پہلے ہی context window بھر دیتی ہیں۔ model page پر tools label چیک کریں، پھر ollama ps میں CONTEXT column چیک کریں۔
پہلے token سے پہلے طویل خاموشی، پھر معمول کی رفتار۔ keep-alive کی مدت ختم ہو گئی ہے اور weights دوبارہ disk سے پڑھے جا رہے ہیں۔ OLLAMA_KEEP_ALIVE مقرر کریں۔
model اس file سے متصادم جواب دیتا ہے جسے اس نے ابھی پڑھا تھا۔ یہ context truncation ہے۔ ollama ps میں عموماً CONTEXT کی ایسی value دکھائی دیتی ہے جو آپ کے مقرر کردہ اندازے سے کم ہوتی ہے، کیونکہ environment variable آپ کے shell میں گیا، systemd unit میں نہیں۔
سب کچھ کام کرتا ہے، مگر سست رفتاری سے، اور PROCESSOR، 100% GPU نہیں ہے۔ model اور اس کا context VRAM میں سما نہیں رہے۔ context length کم کریں، یا چھوٹا model یا چھوٹی quantisation استعمال کریں۔ دوبارہ pull کرنے سے پہلے، q4_K_M، q8_0 اور fp16 میں سے ہر ایک کتنی memory استعمال کرتا ہے اور quality کہاں کم ہوتی ہے آپ کو بتاتا ہے کہ ایک درجہ کم کرنے سے کتنی گنجائش ملتی ہے اور اس کے بدلے کیا ترک کرنا پڑتا ہے۔
FAQ
کیا میں Claude Code کو Ollama سے منسلک کر سکتا ہوں؟
ہاں، لیکن OpenAI-compatible URL کے ذریعے نہیں۔ Claude Code، Anthropic Messages API استعمال کرتا ہے، اور Ollama اسی structure کو port 11434 پر /v1/messages میں فراہم کرتا ہے۔ ANTHROPIC_BASE_URL=http://localhost:11434، ANTHROPIC_AUTH_TOKEN=ollama اور خالی ANTHROPIC_API_KEY کو export کریں، پھر اسے claude --model qwen3-coder:30b کے ساتھ شروع کریں۔ ollama launch claude آپ کے لیے وہی settings لکھ دیتا ہے۔ یہ compatibility layer، tool_choice یا prompt caching نافذ نہیں کرتی، اور اس میں token counting endpoint بھی نہیں ہے؛ اس لیے رپورٹ کیے گئے token counts تخمینی ہوتے ہیں۔
میرا local model ایسے code کے بارے میں جواب کیوں دیتا ہے جسے وہ دیکھ نہیں سکتا؟
کیونکہ request اب context window میں نہیں سماتی، اور اس کا قدیم ترین حصہ کسی error کے بغیر خارج کر دیا جاتا ہے۔ Ollama اپنا default context اسے دستیاب VRAM کی بنیاد پر مقرر کرتا ہے، اور 24 GiB سے کم VRAM پر یہ default 4,096 tokens ہوتا ہے۔ Agent کا system prompt اور tool definitions اکیلے ہی اس حد سے تجاوز کر جاتے ہیں۔ systemd unit میں OLLAMA_CONTEXT_LENGTH=64000 مقرر کریں، Ollama کو restart کریں، اور تصدیق کریں کہ ollama ps میں CONTEXT column نئی value دکھا رہا ہے۔
VPS پر coding agent کے لیے کون سا model چلانا چاہیے؟
ایسا سب سے بڑا model منتخب کریں جس پر tools label ہو، جو 64k context window کے ساتھ memory میں سما جائے، اور code کے لیے tuned ہو۔ مناسب VRAM والے GPU server پر qwen3-coder:30b عام انتخاب ہے۔ اگر یہ tag آپ کے server کے لیے بہت بڑا ہو تو download شروع کرنے سے پہلے Nemotron 3.5 Lightning کے RAM اعداد و شمار اور صرف CPU کی رفتار مفید موازنہ فراہم کرتے ہیں۔ تقریباً 14B parameters سے کم والا model code سے متعلق سوالات کے اچھے جواب دے سکتا ہے، لیکن multi-step edits میں پھر بھی ناکام ہو سکتا ہے، کیونکہ agent کا کام tool calls میں formatting کی چھوٹی غلطیوں کو بھی مسئلہ بنا دیتا ہے۔ Sample prompt کے بجائے اپنی repository سے ایک حقیقی task استعمال کرکے test کریں۔
کیا اپنے model پر coding agent چلانے کے لیے GPU ضروری ہے؟
عملی طور پر ہاں۔ صرف CPU پر inference کام کرتا ہے اور واحد سوالات کے لیے مناسب ہے، لیکن agent ہر task کے دوران بہت سی requests بھیجتا ہے اور ہر request میں طویل history دوبارہ پڑھی جاتی ہے۔ اس لیے token rate کم ہونے پر 2 منٹ کا task 1 گھنٹے میں تبدیل ہو سکتا ہے۔ ollama ps میں PROCESSOR column دیکھیں: 100% GPU کے علاوہ کوئی بھی value اس بات کی نشاندہی کرتی ہے کہ model کا کچھ حصہ CPU پر چل رہا ہے، اور token rate تیزی سے کم ہو جاتی ہے۔