Ugur Ekmekci

tools, open-source

Core Tools and Ecosystem

March 10, 2026 · ~7 min read

The local AI ecosystem has matured quickly. A few tools now handle model distribution, serving, quantization, and experimentation well.

Each tool covers a different layer, and the overlaps are useful once those roles are clear.

Hugging Face

Hugging Face is the main distribution platform for open-weight models and datasets. For local AI, it usually serves two roles. The first is model discovery and download. Families such as Llama, Mistral, Qwen, and Gemma publish weights, configuration, licenses, and model cards there. The second is programmatic access through libraries such as transformers and huggingface_hub.

Many models can be downloaded without an account. Others require you to accept a license or request access. Hugging Face handles distribution; the serving choice remains yours.

Ollama

Ollama is one of the simplest ways to get a model running locally.

ollama run llama3.2

That command pulls the model and starts an interactive session. Ollama manages model files, provides a local API, and removes much of the configuration required by lower-level inference engines. Its OpenAI-compatible endpoints also make it easier to connect existing applications and agents.

The trade-off is abstraction. That simplicity is useful when you want a working model server. It becomes limiting when you need detailed control over batching, memory allocation, quantization, or serving behavior.

LM Studio

LM Studio provides a graphical interface for discovering, downloading, and running local models. It is useful when you want to compare models, change inference settings, or start a local server without building a command-line workflow first. It includes a model browser, an OpenAI-compatible server mode, and controls for settings such as temperature, context length, and system prompts.

I see LM Studio mainly as an experimentation tool. It can serve models to applications, but automated or long-running infrastructure often benefits from a service designed to run without a desktop interface.

llama.cpp

llama.cpp is a lower-level inference engine used across much of the local AI ecosystem. It runs GGUF models across CPUs and GPUs on multiple platforms. Tools such as Ollama and LM Studio use parts of this ecosystem underneath their simpler interfaces.

You may never need to call llama.cpp directly. But when you need specific quantization formats, custom batching, detailed hardware configuration, or fewer layers of abstraction, it becomes the more flexible option.

In practice:

Ollama and LM Studio optimize for convenience.

llama.cpp gives you more control over inference.

Putting them together

A practical local stack might use:

  • Hugging Face to discover and download models
  • LM Studio to compare them interactively
  • Ollama to expose a simple local API
  • llama.cpp when the higher-level tools hide something you need to control

These tools overlap without being interchangeable. I use the smallest combination that gives the workload enough control.