Ollama vs LM Studio: Chọn Công Cụ Chạy LLM Local (2026)
Ollama và LM Studio đều chạy model local qua API kiểu OpenAI. So sánh cổng, context length, thời gian giữ model, định dạng và giấy phép để chọn đúng công cụ.
Ollama và LM Studio làm cùng một việc: nạp một open-weight model lên máy của bạn rồi mở ra qua HTTP API kiểu OpenAI. Phần lớn bài so sánh dừng ở "CLI hay GUI", trong khi những chi tiết khiến cấu hình hỏng về sau lại nằm chỗ khác: context window mặc định thấp hơn nhiều so với nhu cầu của agent, model bị gỡ khỏi bộ nhớ vài phút sau request cuối, và giấy phép quyết định bạn được dùng công cụ ở đâu.
Bài này so sánh hai công cụ ở đúng các chi tiết vận hành đó, dựa trên tài liệu chính thức của từng dự án, rồi đưa ra cách chọn. Hướng dẫn LM Studio đã nói về dung lượng VRAM và quantization GGUF, nên bài này bỏ qua hai phần đó.
Một Client Gọi Được Cả Hai
Cả hai server đều nói chuyện bằng OpenAI API, nên một script chỉ cần đổi hai giá trị là chuyển sang server kia. Ollama lắng nghe tại http://localhost:11434/v1/. Các ví dụ trong tài liệu LM Studio dùng http://localhost:1234/v1.
# compare.py
from openai import OpenAI
TARGETS = {
"ollama": ("http://localhost:11434/v1/", "qwen3:0.6b"),
"lmstudio": ("http://localhost:1234/v1", "qwen/qwen3-8b"),
}
base_url, model = TARGETS["ollama"] # switch the key to test LM Studio
client = OpenAI(base_url=base_url, api_key="local") # placeholder value
reply = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Say this is a test"}],
)
print(reply.choices[0].message.content)Tài liệu Ollama ghi rằng client bắt buộc có một giá trị API key nhưng Ollama bỏ qua giá trị đó. Trang tương thích của LM Studio không nhắc đến key, còn phần cài đặt server có công tắc Require Authentication (tùy chọn), nên một giá trị giữ chỗ vẫn dùng được cho đến khi bạn bật công tắc này.
Tôi đã chạy script này trên Windows với Ollama 0.40.15 và LM Studio 0.4.28, và cả hai server đều trả lời khi dùng key giữ chỗ.
Tên model khác nhau. Ollama dùng tag trong thư viện của nó, ví dụ qwen3:0.6b, tải bằng ollama pull qwen3:0.6b. LM Studio dùng định danh hiển thị trong ứng dụng và trong lms ls, ví dụ qwen/qwen3-8b, và tải qua ô tìm kiếm trong app hoặc lms get.
Độ phủ endpoint khá gần nhau. Cả hai đều liệt kê chat completions, completions, embeddings, models và responses. Endpoint models giúp kiểm tra nhanh server nào đang trả lời và nó nhận những tên model nào:
curl http://localhost:11434/v1/models # Ollama
curl http://localhost:1234/v1/models # LM StudioOllama liệt kê các model bạn đã tải về. LM Studio liệt kê mọi model đã tải, dù đã nạp hay chưa. Hãy dùng tên nó trả về làm giá trị model trong script ở trên. /v1/responses của Ollama xuất hiện từ v0.13.3 và không lưu trạng thái: previous_response_id và conversation chưa được hỗ trợ.
Khác Biệt Bạn Gặp Sau Khi Cài
| Ollama | LM Studio | |
|---|---|---|
| Giao diện | Ứng dụng desktop và CLI (ollama run, ollama serve) |
Ứng dụng desktop có tìm model ngay trong app; CLI lms đi kèm |
| Nguồn model | Thư viện Ollama, cộng GGUF hoặc safetensors nhập qua Modelfile |
Tìm trong app và lms get; GGUF trên mọi nền tảng, MLX trên Apple Silicon |
| Địa chỉ mặc định | 127.0.0.1:11434 |
Ví dụ trong tài liệu dùng localhost:1234 |
| Gỡ model khi rảnh | 5 phút, chỉnh bằng OLLAMA_KEEP_ALIVE |
TTL 60 phút cho model nạp JIT; không có TTL với model nạp bằng lms load |
| Truy cập qua LAN | OLLAMA_HOST=0.0.0.0:11434 |
Công tắc "Serve on Local Network", kèm Require Authentication tùy chọn |
| Headless | ollama serve |
Bản headless tên llmster, quản lý bằng lms daemon |
| Giấy phép | MIT | Ứng dụng theo điều khoản riêng, miễn phí cho cá nhân và công việc |
Dựng từng server từ terminal trông như sau:
# Ollama (skip serve if the desktop app is already running)
ollama pull qwen3:0.6b
ollama serve
# LM Studio (launch the app once before using lms)
lms load qwen/qwen3-8b --context-length=32768
lms server start
lms ps
Tab Model Server của LM Studio sau lms server start, với qwen/qwen3-8b đã nạp.

Ứng dụng desktop Ollama trả lời bằng qwen3:0.6b.
Hai bộ đếm thời gian rảnh quyết định request đầu tiên sau giờ nghỉ mất vài giây hay phải nạp lại cả model. Thiết lập Auto-Evict của LM Studio, bật sẵn, còn chỉ giữ tối đa một model nạp JIT trong bộ nhớ, nên đổi qua lại giữa hai model sẽ phải nạp lại mỗi lần.
Context Length Mặc Định
Context mặc định của Ollama phụ thuộc VRAM: 4k token dưới 24 GiB, 32k từ 24 đến 48 GiB, 256k từ 48 GiB trở lên. Tài liệu của Ollama khuyên dùng ít nhất 64.000 token cho agent, tìm kiếm web và các công cụ lập trình. Trên một GPU phổ thông, prompt của agent vì vậy có thể vượt context window mặc định mà bạn chưa kịp nhận ra có gì sai.
Hãy đặt giá trị này khi khởi động server và xác nhận bằng ollama ps, cột CONTEXT hiển thị kích thước đã cấp:
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
ollama psEndpoint tương thích OpenAI không đặt được context theo từng request, nên phải đặt ở cấp server. Trong ứng dụng desktop của Ollama, cùng thiết lập này là một thanh trượt trong Settings. LM Studio đặt context lúc nạp model, ví dụ lms load <model> --context-length=32768. Bộ nhớ tăng theo context ở cả hai công cụ, nên hãy kiểm tra VRAM còn dư bao nhiêu trước khi tăng.
Cài Ollama Sang Ổ Đĩa Khác
Trên Windows, Ollama mặc định cài vào thư mục người dùng và lưu model ở %HOMEPATH%\.ollama. Cả hai vị trí đều chuyển được và là hai thiết lập tách biệt: trình cài đặt có cờ riêng cho chương trình, còn thư mục model do một biến môi trường quyết định. Ổ C: nhỏ cần đổi cả hai.
Chạy trình cài đặt với cờ /DIR:
.\OllamaSetup.exe /DIR="D:\Apps\ollama"Tài liệu yêu cầu ít nhất 4 GB trống cho phần cài đặt, cộng thêm chỗ cho model, có thể lên tới hàng chục hay hàng trăm GB.
Ứng dụng desktop có thể đổi thư mục model mà không cần biến môi trường: mở Settings, tìm Model location rồi dùng Browse để chọn thư mục.

Trang Settings của Ollama: vị trí model, truy cập qua mạng và context length.
Nếu muốn đặt qua biến môi trường, thêm một biến môi trường người dùng tên OLLAMA_MODELS. Mở Settings trên Windows 11 hoặc Control Panel trên Windows 10, tìm "environment variables", chọn "Edit environment variables for your account", rồi đặt OLLAMA_MODELS thành một thư mục như D:\OllamaModels. Thoát Ollama ở khay hệ thống rồi mở lại từ Start menu, hoặc mở một terminal mới. Trong PowerShell, cùng thay đổi này chỉ cần một lệnh:
setx OLLAMA_MODELS "D:\OllamaModels"Sau đó hãy tải một model nhỏ và kiểm tra file của nó có xuất hiện trong thư mục mới hay không.
Trên Linux, FAQ của Ollama dùng cùng biến này và lưu ý rằng người dùng ollama cần quyền đọc và ghi trong thư mục đó. Với systemd, đặt biến qua file override:
sudo systemctl edit ollama
# in the editor, add:
# [Service]
# Environment="OLLAMA_MODELS=/data/ollama/models"
sudo systemctl daemon-reload
sudo systemctl restart ollamaMỗi Bên Vướng Ở Đâu
Lớp OpenAI của Ollama chỉ là một tập con. Chat completions chưa hỗ trợ tool_choice hay logprobs, và ảnh chỉ nhận dưới dạng base64, không nhận URL. Thư viện client gửi tool_choice để ép gọi một hàm sẽ không có hành vi đó trên endpoint tương thích của Ollama.
Lệnh lms của LM Studio chỉ chạy được sau khi bạn mở ứng dụng ít nhất một lần, khiến việc cài trên server sạch phức tạp hơn. Bản headless llmster được mô tả rải rác trên nhiều trang thay vì một trang.
Ollama nhập weights của riêng bạn bằng một Modelfile một dòng (FROM /path/to/file.gguf) rồi chạy ollama create my-model. Ollama không quantize khi nhập, nên hãy quantize file GGUF trước bằng một công cụ như llama-quantize của llama.cpp.
Chọn Công Cụ Nào
Chọn LM Studio khi bạn muốn duyệt model, chỉnh thông số nạp bằng giao diện, hoặc dùng model MLX trên máy Mac Apple Silicon. Nó hợp với một người đang thử nghiệm trên máy làm việc.
Chọn Ollama khi công cụ chạy model là một phần của script, container hay dịch vụ. Giấy phép MIT, image ollama/ollama trên Docker Hub và các biến môi trường đơn giản giúp việc tự động hóa dễ hơn. Các công cụ như Hermes Agent nhận bất kỳ endpoint tương thích OpenAI nào, nên server nào cũng chạy được phía sau.
Chạy cả hai cũng ổn, vì cổng mặc định không đụng nhau. Một gateway như 9Router có thể đứng trước cả hai server local và các API key trả phí của bạn, như mô tả trong hướng dẫn cài 9Router.
Tài Liệu Tham Khảo
- Ollama OpenAI compatibility - Endpoint, base URL, cách xử lý API key, context length, keep-alive và các trường chưa hỗ trợ. Cùng bộ tài liệu có trang quickstart, context length, import và FAQ.
- Ollama repository - Giấy phép MIT, nền tảng hỗ trợ, Docker image.
- LM Studio OpenAI compatibility - Ví dụ base URL và endpoint được hỗ trợ. Cùng bộ tài liệu có trang CLI, server settings, TTL và Auto-Evict, cùng thông báo miễn phí cho công việc của nhà cung cấp.
