Get Started

Choosing a Tool

These are not interchangeable — they sit at different layers. Picking the wrong one for your goal is the most common beginner mistake.

ToolWhat it isBest for
Ollama A Go application wrapping llama.cpp (or Apple's MLX on Apple Silicon) behind a Docker-style CLI and REST API Fastest path from zero to a running model; best default for individual developers
llama.cpp The underlying C++ inference engine itself — no wrapper, every parameter exposed Maximum control, custom quantization, unusual hardware (Raspberry Pi to multi-GPU)
LM Studio A desktop GUI app, also built on llama.cpp/MLX Non-terminal users who want a chat window and model browser
vLLM A Python-based, GPU-focused serving engine using PagedAttention and continuous batching Serving many concurrent users at high throughput — production, not solo laptop use
Hugging Face transformers A Python library for loading and running virtually any model in its original (safetensors) form Research, custom pipelines, fine-tuning, Python-level control over the forward pass

Rule of thumb for 2026

If you're one developer on a laptop or workstation, start with Ollama (Tutorial 1). If you outgrow its abstraction or need a parameter it doesn't expose, drop to llama.cpp directly (Tutorial 2). If you're deploying a service many people will hit concurrently, use vLLM on a GPU server (Tutorial 4).

Direct llama.cpp typically runs 10–20% faster than Ollama on identical hardware since Ollama adds a management layer, while vLLM can hit roughly 15–20x Ollama's concurrent throughput on multi-user GPU workloads — a difference that only matters once you have multiple simultaneous users.

Sources