Hand tools hung in neat rows on a pegboard above an empty workbench

LM Studio

LM Studio is a desktop application for running models on your own machine. It gives you a catalogue to browse, a download manager, a chat window and a local server, all behind a graphical interface. Of the local LLM runtimes it asks the least of you up front, which makes it the easiest entry point into local LLMs if you have never run inference locally before.

It suits people who want to try several models without learning a toolchain first, and anyone who prefers reading settings off a screen to remembering them.

How it runs models

LM Studio loads GGUF files. You search the catalogue inside the app, pick a model, and choose from the quantization builds available for it. The app shows what each build will take and flags the ones your machine is unlikely to hold, which is the single most useful thing a graphical app can do for a beginner. Models you downloaded elsewhere work too, as long as they are in a folder the app is watching.

Underneath, it uses the same hardware paths as the rest of the local ecosystem:

How much of the model sits on the GPU is a control in the interface rather than something you work out beforehand, so you can slide it until the model loads and leave it there.

Fit

Choose LM Studio when you are still deciding which model you want, when you want to compare a few side by side without scripting anything, or when you want the memory maths shown to you instead of calculated by hand.

Choose Ollama instead when the model should run as a background service for other tools rather than inside an app you have open. Choose llama.cpp when you want full control, unusual hardware support, or a library to build on.

Working with it

Install the app, search for a model, and download a build whose quantization fits your memory with room left for the KV cache. The LLM models pages are a reasonable shortlist to search against.

Before loading, set the context window length. The app will usually offer the model's maximum, and on a card that cannot hold the cache for it the load fails or spills to system memory. Start shorter than the maximum and raise it if you need to.

Once a model is loaded you can chat with it in the app. There is also a local server mode, which exposes the loaded model over HTTP on your machine so editors, scripts and other front ends can use it. That is worth switching on once the app stops being where you do the actual work.

Related