بازگشت به وبلاگ

Ollama یا LM Studio: کدام ابزار LLM محلی را انتخاب کنید؟

۱۰ شهریور ۱۴۰۵

Ollama مقابل LM Studio در یک خط: اگر یک رابط گرافیکی دسکتاپ برای مرور مدل‌ها و چت با آن‌ها می‌خواهید، سراغ LM Studio بروید؛ اگر یک سرور API محلیِ سبک و قابل اسکریپت‌نویسی می‌خواهید، سراغ Ollama. هر دو رایگان‌اند، هر دو مدل‌های GGUF را روی GPU یا CPU خودتان اجرا می‌کنند و هر دو می‌توانند یک endpoint سازگار با OpenAI ارائه دهند — برای همین خیلی از توسعه‌دهندگان هر دو را نصب می‌کنند و هر کدام را برای کاری جدا به‌کار می‌گیرند. این راهنما نصب، مدیریت GPU، سرعت و ارائه API را با دستورهای واقعی و قابل اجرا مقایسه می‌کند تا به‌جای خواندن ترددهای Reddit، همین امروز شروع به تولید token روی ماشین خودتان کنید.

تفاوت Ollama و LM Studio در چیست؟

تفاوت اصلی در رابط کاربری و نیت است:

  • Ollama یک runtime اول-CLI است. مدل را با یک دستور pull می‌کنید و به‌صورت سرویس پس‌زمینه روی localhost:11434 اجرا می‌شود و یک REST API در اختیار می‌گذارد. پنجره چت داخلی ندارد — ساخته شده تا همان «Docker برای LLMها» باشد که ابزارهای دیگر به آن وصل می‌شوند.
  • LM Studio یک اپلیکیشن کامل دسکتاپ (Electron) است با مرورگر جست‌وجوی مدل، رابط چت، تنظیمات مستقل برای هر مدل (طول context، تعداد لایه‌های GPU offload، temperature) و یک حالت سرور محلی که با یک کلیک فعال می‌شود.

هر دو فرمت GGUF را می‌فهمند و هر دو از یک تبار موتور واحد می‌آیند — Ollama نسخه جاسازی‌شده llama.cpp را دارد و LM Studio از runtimeهای مبتنی بر llama.cpp استفاده می‌کند که خودش دانلود و به‌روزرسانی‌شان می‌کند. یعنی کیفیت خام تولید برای همان فایل مدل عملاً یکسان است؛ ابزارها در همه‌چیزِ دور و بر مدل با هم فرق دارند.

آیا Ollama برای استفاده تجاری رایگان است؟

بله. Ollama متن‌باز (MIT) است و برای استفاده تجاری رایگان — تنها به مجوز خودِ مدل بدهکارید، نه Ollama. Llama، Mistral، Qwen و Gemma هر کدام شرایط خودشان را دارند، پس اگر می‌خواهید روی یکی از آن‌ها محصول بدهید، کارت مدل را بررسی کنید.

LM Studio برای استفاده شخصی رایگان است اما مجوز بسته‌بسته دارد: استفاده کاری به یک فلگ رایگان «work» نیاز دارد و شرکت‌هایی که درآمدشان از آستانه‌ای مشخص بالاتر است باید هزینه‌اش را بپردازند. اگر تیم تأمینِ کارفرمایتان سؤال‌های سختی می‌پرسد، همین تفاوت به‌تنهایی می‌تواند بحث Ollama یا LM Studio را تعیین کند.

آیا Ollama به‌طور خودکار از GPU استفاده می‌کند؟

بله — Ollama هنگام اجرا CUDA (NVIDIA)، Metal (Apple Silicon) و ROCm (AMD) را تشخیص می‌دهد و هر تعداد لایه که در VRAM جا شود را به GPU منتقل می‌کند. دو بررسی که دانستنش می‌ارزد:

# What did Ollama actually load — GPU or CPU?
ollama ps

# Force the issue if it silently fell back to CPU:
OLLAMA_NUM_GPU=999 ollama run qwen2.5-coder:7b

اگر ollama ps مقدار 100% GPU را نشان دهد، انتقال انجام شده؛ تقسیمی مثل 48%/52% CPU/GPU یعنی مدل جا نشده و نتیجه‌اش را در tokens/sec حس خواهید کرد. LM Studio همین کنترل را به‌شکل یک اسلایدر GPU offload برای هر مدل فراهم می‌کند که برای آزمودن گزینه‌ها دوستانه‌تر است — یکی از نقاط قوت واقعی تجربه کاربری آن.

کدام‌یک سریع‌تر است، Ollama یا LM Studio؟

برای همان مدل، همان کوانتیزاسیون و همان سخت‌افزار: عملاً مساوی، چون هر دو کار را به llama.cpp می‌سپارند. ادعاهای بنچمارکِ «Ollama سریع‌تر است» یا برعکس، معمولاً کوانت‌ها یا طول contextهای متفاوتی را مقایسه می‌کنند. به‌جای اعتماد به هر دو اردو، روی ماشین خودتان اندازه بگیرید:

# Ollama: --verbose prints eval rate (tokens/sec) at the end
ollama run qwen2.5-coder:7b --verbose "Summarise what a Makefile does in one sentence."

در LM Studio همان فایل GGUF را با همان طول context و همان تعداد لایه GPU بارگذاری کنید و tokens/sec را در پنل آمارِ چت ببینید. هر کدام عدد بالاتری نشان داد، آزمایش را دو بار دیگر تکرار کنید — بارگذاری اول نویز warm-up دارد.

آیا می‌توان LM Studio را به‌عنوان سرور API محلی اجرا کرد؟

بله — به تب Developer بروید، سرور را روشن کنید و یک endpoint سازگار با OpenAI روی localhost:1234 می‌گیرید. حتی یک CLI (lms) هم برای اسکریپت‌نویسی دارد:

lms server start
lms load qwen2.5-coder-7b-instruct --gpu max
curl http://localhost:1234/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{"model":"qwen2.5-coder-7b-instruct","messages":[{"role":"user","content":"Write a jq filter for the top process by CPU"}]}'

معادل این API در Ollama به‌محض اجرای سرویس همیشه روشن است و endpoint بومی‌اش همراه مسیرهای سازگار با OpenAI هیچ تنظیمی نمی‌خواهد:

curl -fsSL https://ollama.com/install.sh | sh   # Linux install
ollama pull qwen2.5-coder:7b
curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5-coder:7b",
  "messages": [{"role": "user", "content": "Explain bash exit codes in two lines"}],
  "stream": false
}'

هر دو مستقیم در هر ابزاری که زبان OpenAI API را حرف می‌زند جا می‌گیرند — افزونه‌های VS Code، ایجنت‌های کدنویسی، اسکریپت‌های خودتان. اینجاست که Ollama جلو می‌زند: سرویس در بوت استارت می‌خورد، headless روی سرور یا باکس homelab اجرا می‌شود و هیچ‌چیز به باز بودن یک اپلیکیشن دسکتاپ وابسته نیست. دقیقاً همین چیدمان را روی homelab خودم دارم؛ Ollama مدل‌ها را به همه‌چیز روی شبکه سرو می‌کند و گره اصلی بدون موس می‌ماند.

کدام را انتخاب کنید: Ollama یا LM Studio؟

معیارOllamaLM Studio
رابط کاربریCLI + REST APIرابط گرافیکی کامل دسکتاپ
متن‌باز بودنMIT، تمام‌وکمالبسته، پلن شخصی رایگان
استفاده تجاریرایگاندر مقیاس، مجوز پولی
مدیریت مدلollama pull <model>مرورگر داخلی جست‌وجو و دانلود
رابط چتندارد (خودتان تأمین کنید)داخلی
Endpoint ای‌پی‌آیهمیشه روشن، :11434قابل خاموش/روشن، :1234
استفاده headless/سرورعالیدست‌وپاگیر
Windows / macOS / Linuxهر سهWindows + macOS؛ Linux در بتا

قاعده سرانگشتی، بدون پشیمانی در هیچ مسیر:

  1. می‌خواهید مدل‌ها را استفاده کنید — چت، امتحان‌کردن، ور رفتن با اسلایدرها: LM Studio.
  2. می‌خواهید روی مدل‌ها بسازید — اسکریپت، ایجنت، CI، یک سرویس API خانگی: Ollama.
  3. هر دو را می‌خواهید — هر دو را نصب کنید؛ بدون مشکل کنار هم می‌مانند (فقط نگذارید هر دو سرور مدعی یک پورت شوند، و یادتان باشد مدلی که دو بار بارگذاری شود VRAM را هم دو بار می‌خورد).

مدل‌های محلی با ابزارهای کدنویسیِ ایجنت‌محور جفت به‌خصوص خوبی می‌سازند — یک کلاینت سازگار با OpenAI را به endpoint محلی اشاره بدهید و completion نامحدود با هزینه صفرِ per-token بگیرید. همین ترکیب، زیرساخت محلی‌محورِ freechat را نگه می‌دارد و ارزان‌ترین راه یادگیری لوله‌کشی LLM است: تنها صورت‌حساب، برق است.

FAQ

آیا Ollama بهتر از LM Studio است؟

هم‌پوشانی‌شان کمتر از چیزی است که فکر می‌کنید. Ollama یک CLI و سرور API برای گردش‌کارهای ترمینال است؛ LM Studio یک رابط گرافیکی با تنظیم جداگانه پارامترها برای هر مدل. بیشتر افراد هر دو را نگه می‌دارند.

آیا Ollama و LM Studio می‌توانند مدل‌های یکسانی را اجرا کنند؟

بله — هر دو فایل‌های GGUF را اجرا می‌کنند. Ollama از رجیستری خودش مدل می‌کشد؛ LM Studio مستقیم در Hugging Face جست‌وجو می‌کند و اجازه می‌دهد کوانتیزاسیون هر دانلود را خودتان انتخاب کنید.

کدام‌یک RAM کمتری مصرف می‌کند؟

هیچ‌کدام به‌معنای واقعی سبک‌تر نیست — وزن‌های مدل غالب‌اند. همان مدل 7B Q4 در هر دو تقریباً به یک اندازه حافظه می‌گیرد؛ سربار runtime فقط به اندازه ده‌ها مگابایت فرق می‌کند.

— mrsaynothing

— mrsaynothing

یادداشت‌های میدانی درباره AI، لینوکس و self-hosting.

این نوشته را در dev.to بحث کنید dev.to ↗

آموزش بعدی با ایمیل

هر نوشته یک ایمیل. درستش کن، برو سراغ بعدی.

self-hosted · بدون واسطه‌های ثالث · لغو اشتراک با یک کلیک

این چیست؟

این نوشته‌ها را می‌پسندید؟ این همان کاری است که برای زندگی از آن درمی‌آورم. استخدامم کنید