اتصال Ollama به Coding Agent: راهنمای تنظیمات
با تغییر base URL و وارد کردن یک کلید صوری، Ollama را به coding agent خود متصل کنید. در این مطلب تنظیمات دقیق context length و پورت 11434 را برای عملکرد بهینه بررسی میکنیم.
آنچه به آن متصل میشوید
شما میتوانید از Ollama در کنار coding agent خود استفاده کنید و اتصال آن بسیار سادهتر از آن چیزی است که تصور میکنید. کافی است یک base URL را تغییر دهید و یک نام مدل انتخاب کنید. فیلد API key همچنان به یک مقدار نیاز دارد، اما سرور محلی آن را نادیده میگیرد، بنابراین هر رشتهای (string) در آن کار میکند.
Ollama روی پورت 11434 گوش میدهد و همزمان سه سطح API را ارائه میدهد. /api رابط برنامهنویسی بومی Ollama است. /v1 لایه سازگار با OpenAI است که خود چندین ساختار را پوشش میدهد: /v1/chat/completions، /v1/responses، /v1/completions، /v1/models و /v1/embeddings. مستندات Ollama بیان میکند که کلید در آنجا الزامی است اما نادیده گرفته میشود. سطح سوم با Anthropic سازگار است: کلاینت از http://localhost:11434 به عنوان base URL استفاده کرده و /v1/messages را به آن اضافه میکند که همان چیزی است که Claude Code از آن استفاده میکند. اکثر ایجنتها از /v1/chat/completions استفاده میکنند، Codex از /v1/responses و Claude Code از /v1/messages بهره میبرد. ایجنت شما از قبل با یکی از این موارد سازگار است، بنابراین هیچ تغییر دیگری در آن لازم نیست.
این بخش پنج دقیقه زمان میبرد. اینکه آیا نتیجه قابل استفاده است یا خیر، به دو تنظیماتی بستگی دارد که تقریباً هیچکس آنها را تغییر نمیدهد: طول کانتکست (context length) و keep-alive، و همچنین سپردن کاری به مدل که در آن مهارت دارد. هر دو مورد بخش مخصوص به خود را دارند و محدودیتهای واقعی در پایان ذکر شدهاند.
کدام ایجنتهای کدنویسی از base URL محلی پشتیبانی میکنند
آزمون این است: آیا ابزار تنظیماتی برای base URL ارائه میدهد؟ اگر پاسخ مثبت است، میتواند با سرور شما ارتباط برقرار کند.
Ollama صفحات یکپارچهسازی را برای Claude Code، OpenCode، Codex، Cline، Roo Code، Zed، محیطهای توسعه JetBrains و VS Code منتشر کرده است. Aider پشتیبانی خود از Ollama را بهصورت جداگانه مستند کرده است. این موارد اکثر ابزارهایی را که در اکتبر 2026 بهعنوان ایجنت کدنویسی شناخته میشوند، پوشش میدهد. همه آنها از ساختار یکسانی برای ارتباط استفاده نمیکنند و همین تفاوت، عامل اصلی شکست در راهاندازی است.
- اکثر ایجنتها به یک endpoint سازگار با OpenAI نیاز دارند. به آنها base URL با مقدار
http://localhost:11434/v1و هر رشته غیرخالی بهعنوان API key بدهید. - ابزار Claude Code اصلاً base URL مربوط به OpenAI را نمیپذیرد. این ابزار از Anthropic Messages API استفاده میکند، بنابراین نیاز دارد که
ANTHROPIC_BASE_URLرویhttp://localhost:11434تنظیم شود، جایی که Ollama سرویس/v1/messagesرا ارائه میدهد. - ابزار Codex از OpenAI Responses API استفاده میکند. Ollama نیز از نسخه 0.13.3 به بعد،
/v1/responsesرا ارائه میدهد. - ایجنتی که تنظیمات base URL ندارد، قابل تغییر مسیر نیست، زیرا endpoint در داخل کلاینت تعبیه شده است. در عوض، یک لایه ترجمه مانند یک gateway LiteLLM خودمیزبان در مقابل آن قرار دهید و مدل خود را با هر ساختاری که کلاینت درخواست میکند، بازنشر کنید.
Ollama میتواند این پیکربندیها را برای شما بنویسد. دستور ollama launch opencode ابزار OpenCode را با یک پیکربندی درونخطی برای مدل انتخابی شما اجرا میکند، ollama launch claude همین کار را برای Claude Code انجام میدهد و ollama launch droid --config پیکربندی را بدون اجرای ابزار، ذخیره میکند.
نصب Ollama و دریافت مدلی با قابلیت فراخوانی ابزار
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama --no-pager
ollama pull qwen3-coder:30b
ollama lsنصبکننده، یک unit برای systemd اضافه کرده و آن را اجرا میکند، بنابراین دستور systemctl status ollama باید خروجی active (running) را نمایش دهد. اگر چنین نیست، journalctl -e -u ollama دلیل آن را چاپ میکند.
مدل باید از قابلیت فراخوانی ابزار (tool calling) پشتیبانی کند، زیرا عامل (agent) از همین طریق کار میکند. عامل یک فایل را میخواند، یک patch مینویسد، تست را اجرا میکند، سپس خطا را میخواند و دوباره تلاش میکند. مدلی که نتواند فراخوانی ابزار صادر کند، تغییرات را بهجای اعمال کردن، به صورت متن توصیف میکند و عامل در حلقه میافتد یا متوقف میشود. پیش از دریافت مدل، برچسب tools را در صفحهٔ آن در ollama.com جستجو کنید. مدل qwen3-coder:30b این قابلیت را دارد و تا اکتبر 2026، این تگ یک دانلود 19 گیگابایتی با پنجرهٔ متنی 256K است. اگر سرور شما فقط CPU دارد یا با کمبود RAM مواجه است، محاسبات حافظه برای تگ Qwen 27B روی یک VPS نشان میدهد که چه چیزی در فضای 8 تا 64 گیگابایت جای میگیرد؛ پیش از صرف حجم برای دانلود، این مطلب را بررسی کنید. پس از دانلود، این گیگابایتها روی دیسک root سرور قرار میگیرند که معمولاً کمترین فضای خالی را در VPS دارد، بنابراین محل ذخیره فایلهای مدل در Ollama و نحوه انتقال آنها به مسیری دیگر ارزش خواندن دارد تا دیسک پر نشود.
اکنون تأیید کنید که سرور دقیقاً چه نامهایی را ارائه میدهد:
curl http://localhost:11434/v1/modelsرشتههای موجود در آن پاسخ، دقیقاً همان چیزی هستند که باید در پیکربندی عامل شما قرار بگیرند. بررسی این مورد پیش از هر چیز، اکثر خطاهای «مدل یافت نشد» را برطرف میکند. اگر Ollama هنوز نصب نشده است، راهنمای کاملتر در میزبانی شخصی یک LLM با Ollama روی VPS موجود است.
تنظیم 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 همان نام مدلی است که به Ollama ارسال میشود، بنابراین باید دقیقاً با ollama ls مطابقت داشته باشد. فیلد name صرفاً برچسبی است که در انتخابگر مدل نمایش داده میشود. برنامه opencode را اجرا کنید، ارائهدهنده (provider) را روی Ollama قرار دهید و journalctl -e -u ollama را مانیتور کنید تا مطمئن شوید درخواست به سرور شما رسیده است و به مقصد دیگری ارسال نمیشود. راهاندازی خودِ agent در اجرای OpenCode روی یک VPS توضیح داده شده است.
تنظیم Claude Code برای استفاده از Ollama
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3-coder:30bمتغیر ANTHROPIC_API_KEY عمداً خالی رها شده است. اگر یک کلید واقعی در محیط باقی بماند، درخواستهای شما بهجای پردازش محلی، به API ابری ارسال میشوند که منجر به صدور صورتحساب شده و استنتاج محلی انجام نخواهد شد. ollama launch claude تمام این موارد را برای شما تنظیم میکند.
محدودیتهای لایهٔ سازگاری را بشناسید. این لایه tool_choice یا کش کردن پرامپت (prompt caching) را پیادهسازی نمیکند و فاقد endpoint برای شمارش توکن است؛ بنابراین اعداد توکنی که مشاهده میکنید، تخمینهایی هستند که از توکنایزر خود مدل به دست آمدهاند. Claude Code همچنین یک پرامپت سیستمی بزرگ و مجموعهای گسترده از ابزارها را به همراه دارد، بنابراین به context بیشتری نسبت به یک کلاینت چت معمولی نیاز دارد. پرسش کلیتر دربارهٔ اینکه چه مواردی منتقل میشوند و چه مواردی خیر، در امکان میزبانی شخصی Claude پوشش داده شده است.
تنظیم Aider برای استفاده از Ollama
export OLLAMA_API_BASE=http://127.0.0.1:11434
aider --model ollama_chat/qwen3-coder:30bمستندات Aider استفاده از پیشوند ollama_chat/ را نسبت به ollama/ توصیه میکند. این ابزار همچنین به شما اجازه میدهد تا پنجره context را برای هر مدل در .aider.model.settings.yml تعیین کنید؛ این قابلیت زمانی مفید است که یک مدل خاص به پنجرهای متفاوت از مقدار پیشفرض سرور نیاز داشته باشد:
- name: ollama_chat/qwen3-coder:30b
extra_params:
num_ctx: 65536چرا یک تنظیماتِ کارآمد همچنان خروجی بیمعنی تولید میکند
این بخش، قسمت حیاتی ماجراست. Ollama طول کانتکست پیشفرض را بر اساس VRAM (حافظه ویدیویی روی GPU) که شناسایی میکند انتخاب مینماید و این مقادیر پیشفرض منتشر شدهاند:
دادههای پشت این نمودار
[
{
"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 و تمام سرورهایی که فقط از CPU استفاده میکنند، در ردیف اول قرار میگیرند: 4,096 توکن. تنها یک GPU بزرگ میتواند به 262,144 توکن در ردیف آخر دست یابد.
یک ایجنت پیش از انجام هر کاری، 4096 توکن را مصرف میکند. پرامپت سیستم، تعاریف ابزارها، لیست مخزن و اولین فایلی که باز میکند، از قبل بزرگتر از این مقدار هستند. آنچه در ادامه رخ میدهد، کل مشکل است: هیچ خطایی رخ نمیدهد. مستندات Aider بیان میکند که Ollama بهطور بیصدا کانتکستی را که از پنجره فراتر میرود، حذف میکند. قدیمیترین توکنها خارج میشوند، بنابراین مدل با اطمینان درباره فایلی پاسخ میدهد که دیگر نمیتواند آن را ببیند، یا دستوری را که دو مرحله قبل به آن دادهاید فراموش میکند. این مکانیزم، دلیل اصلی بیشتر گزارشهایی است که میگویند یک مدل محلی برای نوشتن کد بسیار ضعیف است. انتخاب خودِ این عدد، تصمیمی مستقل است و خواندن هزینه num_ctx در حافظه KV cache به ازای هر اندازه پیش از نهایی کردن آن، ارزشمند است.
مستندات Ollama میگوید وظایفی مانند ایجنتها و ابزارهای کدنویسی باید حداقل روی 64000 توکن تنظیم شوند. آن را روی سرور تنظیم کنید:
sudo systemctl edit ollama.serviceاین خطوط را در فایل override اضافه کنید:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=64000"سپس reload و restart کنید:
sudo systemctl daemon-reload
sudo systemctl restart ollama
ollama psollama ps دستور بررسی است. این دستور ستون CONTEXT را چاپ میکند و آن عدد، مقداری است که مدل واقعاً دریافت کرده است. مقادیر ID و SIZE شما متفاوت خواهند بود:
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen3-coder:30b a1b2c3d4e5f6 24 GB 100% GPU 64000 4 minutes from nowبه دو دلیل، آن را روی سرور تنظیم کنید تا در ایجنت. طرحواره (schema) چتهای OpenAI فیلدی برای طول کانتکست ندارد، بنابراین یک کلاینت سازگار با OpenAI نمیتواند آن را درخواست کند. همچنین این تنظیمات برای هر سرور است، بنابراین هر ایجنتی که به آن سرور متصل کنید، آن را به ارث میبرد. سمت خروجی سقف خاص خود را دارد و برخلاف طول کانتکست، از طریق endpoint سازگاری منتقل میشود، بنابراین num_predict و فیلد max_tokens که به آن نگاشت میشود مواردی هستند که وقتی پاسخ در میان یک patch متوقف میشود، باید به سراغشان بروید. اگر یک مدل به پنجره متفاوتی نیاز دارد، آن را در یک کپی با استفاده از Modelfile اعمال کنید:
FROM qwen3-coder:30b
PARAMETER num_ctx 65536ollama create qwen3-coder-64k -f Modelfileکانتکست رایگان نیست. پنجره طولانیتر هزینه حافظه بیشتری دارد، بنابراین ستون PROCESSOR را زیر نظر داشته باشید. 100% GPU همان چیزی است که میخواهید. هنگامی که بخشی از مدل به CPU منتقل شود، نرخ توکن آنقدر افت میکند که حلقه ایجنت غیرقابل استفاده میشود و اندازهگیری توکن بر ثانیه در یک LLM محلی روشی است که سقف واقعی سرور خود را پیدا کنید. تعیین اندازه ماشین پیش از خرید آن در میزان RAM و CPU مورد نیاز برای یک VPS ایجنت کدنویسی پوشش داده شده است.
نگه داشتن مدل در حافظه بین درخواستها
بهطور پیشفرض، Ollama مدل را 5 دقیقه پس از آخرین درخواست از حافظه خارج میکند. این رفتار برای یک محیط چت مناسب است، اما برای کارهای مبتنی بر Agent مناسب نیست. وقتی برای خواندن یک diff مکث میکنید، تایمر به پایان میرسد و درخواست بعدی باعث میشود دهها گیگابایت وزن (weights) مدل از دیسک بارگذاری شود تا اولین توکن ظاهر گردد. این وضعیت مانند هنگ کردن سیستم به نظر میرسد.
OLLAMA_KEEP_ALIVE یک رشتهٔ زمانی مانند 10m یا 24h، یا یک عدد ساده بر حسب ثانیه، -1 برای نگه داشتن دائمی مدل در حافظه، یا 0 برای تخلیه فوری آن میپذیرد. این تنظیم را در کنار طول کانتکست (context length) قرار دهید:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=64000"
Environment="OLLAMA_KEEP_ALIVE=-1"فیلد درخواست keep_alive فقط در endpointهای بومی /api/generate و /api/chat در Ollama وجود دارد و در endpointهای سازگار (compatibility) در دسترس نیست، بنابراین یک Agent نمیتواند آن را برای هر درخواست بهصورت جداگانه تنظیم کند. متغیر محیطی (environment variable) تنها ابزار در دسترس شماست. هر زمان که به حافظه نیاز داشتید، ollama stop qwen3-coder:30b مدل را بدون متوقف کردن سرور از حافظه خارج میکند. اگر میخواهید این تنظیم پس از reboot باقی بماند، یا میخواهید بین نگه داشتن وزنهای مدل در حافظه در تمام طول روز و آزاد کردن آن حافظه تصمیم بگیرید، نگه داشتن مدل Ollama در حافظه هر دو مورد را پوشش میدهد.
اجرای Ollama روی یک سرور مجزا
برنامه Ollama بهصورت پیشفرض روی localhost گوش میدهد. برای دسترسی به آن از یک ماشین دیگر، مقدار OLLAMA_HOST=0.0.0.0:11434 را در همان فایل override مربوط به systemd تنظیم کرده و سرویس را restart کنید.
این کار را فقط در یک شبکه خصوصی انجام دهید. مستندات Ollama بیان میکند که API محلی نیازی به احراز هویت ندارد؛ بنابراین باز گذاشتن پورت 11434 روی اینترنت به این معناست که هر کسی میتواند از سختافزار شما استفاده کرده و تمام دادههای ارسالی توسط agent شما را بخواند. دو گزینه امن وجود دارد. اتصال را روی localhost نگه دارید و پورت را از طریق SSH از لپتاپ خود forward کنید:
ssh -N -L 11434:localhost:11434 you@your-vpsدر این حالت، agent شما همچنان به http://localhost:11434/v1 اشاره میکند و متوجه هیچ تفاوتی نخواهد شد. گزینه دیگر استفاده از VPN است، بهطوری که Ollama بهجای 0.0.0.0، روی آدرس VPN گوش دهد. اگر قرار است چندین نفر یا چندین agent از یک سرور استفاده کنند، باید بدانید که scheduler برنامه Ollama برای چنین باری طراحی نشده است و مقایسه بین Ollama و vLLM نشان میدهد که تفاوت در توان عملیاتی (throughput) از کجا به بعد مشکلساز میشود.
کجا مدلهای کدنویسی محلی برتری دارند و کجا خیر
عاملی که توسط مدلی که خودتان میزبانی میکنید هدایت میشود، جایگزین APIهای پیشرفته در همه وظایف نیست. این مدلها در چهار نوع کار برتری آشکار دارند:
- ویرایشهای مکانیکی انبوه، که در آن هر تغییر کوچک است و میتوانید آن را بررسی کنید. تغییر نام در کل مخزن، افزودن type hintها، نوشتن docstringها و ترجمه کامنتها. مدل میتواند ساعتها اجرا شود و هزینهای برای شما نداشته باشد.
- کارهایی که نباید از سختافزار شما خارج شوند. کدهای مشتری که تحت توافقنامه محرمانگی هستند، یا مخازن داخلی که اجازه ندارید آنها را برای شخص ثالث ارسال کنید.
- ماشینهای آفلاین و ایزوله (air-gapped)، که در آنها اصلاً API میزبانیشدهای برای فراخوانی وجود ندارد.
- هزینه قابل پیشبینی. وقتی هزینه سرور پرداخت شد، عاملی که توکنها را در یک حلقه مصرف میکند هزینه اضافی ندارد، که این دقیقاً برعکس APIهای مبتنی بر مصرف است. محاسبات مربوط به نقطه سر به سر شدن هزینه GPU VPS در برابر توکنهای API محاسبات این موضوع را نشان میدهد.
این مدلها در وظایف طولانی و چندمرحلهای شکست میخورند. «یافتن دلیل شکست این تست، رفع علت و بهروزرسانی فراخوانندهها» نیاز به فراخوانیهای ابزاری صحیح و متوالی دارد، در حالی که کل تاریخچه باید در context باقی بماند. مدلی در محدوده 8B تا 14B روی یک سرور معمولی، یک فراخوانی ابزار ناقص تولید میکند یا پس از چند مرحله طرح کلی را فراموش میکند، و شما زمان بیشتری را صرف هدایت آن میکنید تا اینکه خودتان کار را انجام دهید. این یک مشکل در prompt نیست که بتوان با نوشتن بهتر آن را حل کرد؛ این یک محدودیت ظرفیت است.
همچنین در هر جایی که اشتباه کردن هزینهبر باشد و شما نخواهید هر خط را بخوانید، این مدلها شکست میخورند. به مدل محلی کارهای محدودی بدهید که خروجی آن را تأیید میکنید، و برای کارهایی که نمیخواهید مرحله به مرحله بررسی کنید، از یک مدل میزبانیشده استفاده کنید.
حالتهای شکست و پیامهایی که مشاهده خواهید کرد
curl: (7) Failed to connect to localhost port 11434 after 0 ms: Connection refused. سرور در حال اجرا نیست یا agent به میزبان دیگری اشاره میکند. دستور systemctl status ollama و سپس journalctl -e -u ollama را اجرا کنید.
agent گزارش میدهد که مدل وجود ندارد. نام موجود در فایل پیکربندی شما با نامی که سرور ارائه میدهد مطابقت ندارد. آن را با curl http://localhost:11434/v1/models مقایسه کرده و رشته نام را از آنجا کپی کنید. تگ بخشی از نام است، بنابراین پیکربندی که به تگی اشاره میکند که هرگز آن را دریافت (pull) نکردهاید، حتی با وجود نصب بودن مدل مشابه، با شکست مواجه میشود.
agent به صورت متنی پاسخ میدهد و هیچ فایلی را ویرایش نمیکند. یا مدل از ابزارها پشتیبانی نمیکند، یا درخواست به همراه تعاریف ابزارهای آن، پنجره کانتکست (context window) را پر کرده است. برچسب tools را در صفحه مدل بررسی کنید، سپس ستون CONTEXT را در ollama ps چک کنید.
سکوت طولانی پیش از تولید اولین توکن و سپس سرعت عادی. زمان keep-alive به پایان رسیده و وزنها دوباره از روی دیسک خوانده میشوند. مقدار OLLAMA_KEEP_ALIVE را تنظیم کنید.
مدل با فایلی که بهتازگی خوانده است تناقض دارد. کوتاهسازی کانتکست (Context truncation) رخ داده است. ollama ps معمولاً مقداری برای CONTEXT نشان میدهد که از آنچه تصور میکردید تنظیم کردهاید کمتر است؛ زیرا متغیر محیطی (environment variable) بهجای اعمال در systemd unit، به shell شما ارسال شده است.
همه چیز کار میکند اما کند است و PROCESSOR برابر با 100% GPU نیست. مدل به همراه کانتکست آن در VRAM جا نمیشود. طول کانتکست را کاهش دهید یا از مدل کوچکتر یا کوانتیزاسیون (quantisation) پایینتر استفاده کنید. پیش از دریافت مجدد، هزینه حافظه برای q4_K_M، q8_0 و fp16 و اینکه کیفیت در کجا افت میکند به شما میگوید که با یک پله کاهش، چقدر فضا آزاد میشود و چه چیزی را از دست میدهید.
FAQ
آیا میتوانم Claude Code را به Ollama متصل کنم؟
بله، اما نه با استفاده از URL سازگار با OpenAI. برنامه Claude Code از API پیامهای Anthropic استفاده میکند و Ollama این ساختار را در /v1/messages روی همان پورت 11434 ارائه میدهد. متغیرهای ANTHROPIC_BASE_URL=http://localhost:11434، ANTHROPIC_AUTH_TOKEN=ollama و یک ANTHROPIC_API_KEY خالی را export کنید و سپس آن را با claude --model qwen3-coder:30b اجرا نمایید. دستور ollama launch claude همین تنظیمات را برای شما مینویسد. این لایه سازگاری، tool_choice یا کش کردن پرامپت را پیادهسازی نمیکند و فاقد endpoint برای شمارش توکن است، بنابراین تعداد توکنهای گزارششده صرفاً تخمینی هستند.
چرا مدل محلی من درباره کدی که نمیبیند پاسخ میدهد؟
زیرا درخواست دیگر در پنجره کانتکست (context window) جا نمیشود و قدیمیترین بخش آن بدون هیچ خطایی حذف شده است. Ollama کانتکست پیشفرض خود را بر اساس VRAM شناساییشده تنظیم میکند و در مقادیر کمتر از 24 GiB، این مقدار پیشفرض 4,096 توکن است که پرامپت سیستمی و تعاریف ابزارهای یک ایجنت، به تنهایی از این مقدار فراتر میروند. متغیر OLLAMA_CONTEXT_LENGTH=64000 را در unit فایل systemd تنظیم کنید، Ollama را ریاستارت کنید و تأیید کنید که ستون CONTEXT در ollama ps مقدار جدید را نشان میدهد.
برای یک ایجنت کدنویسی روی VPS، کدام مدل را اجرا کنم؟
بزرگترین مدلی را انتخاب کنید که دارای برچسب tools باشد و همچنان با پنجره کانتکست 64k در حافظه جا شود؛ همچنین مدلهای بهینهشده برای کدنویسی را در اولویت قرار دهید. qwen3-coder:30b پاسخ رایج برای سرورهای دارای GPU با VRAM کافی است. اگر این مدل برای سرور شما بیش از حد بزرگ است، ارقام مربوط به RAM و سرعتهای CPU-only برای Nemotron 3.5 Lightning پیش از اقدام به دانلود، مقایسه مفیدی ارائه میدهند. در مدلهای کمتر از حدود 14B پارامتر، مدل همچنان میتواند به سؤالات درباره کد بهخوبی پاسخ دهد اما در ویرایشهای چندمرحلهای شکست میخورد، زیرا کار ایجنت به دلیل خطاهای کوچک در فرمتبندی فراخوانی ابزارها، مدلهای کوچک را با مشکل مواجه میکند. مدل را با یک وظیفه واقعی از مخزن کد خود تست کنید، نه با یک پرامپت نمونه.
آیا برای اجرای یک ایجنت کدنویسی روی مدل شخصی خودم به GPU نیاز دارم؟
در عمل بله. استنتاج (inference) فقط با CPU کار میکند و برای سؤالات تکی مناسب است، اما یک ایجنت برای هر وظیفه درخواستهای متعددی میفرستد و هر درخواست، تاریخچه طولانی را دوباره میخواند؛ بنابراین نرخ پایین تولید توکن، یک وظیفه دو دقیقهای را به یک ساعت تبدیل میکند. ستون PROCESSOR را در ollama ps بررسی کنید: هر مقداری غیر از 100% GPU به این معنی است که بخشی از مدل روی CPU در حال اجراست و نرخ تولید توکن بهشدت افت میکند.