Skip to main content

Ai

Understanding Your First Local AI Stack, Part 3: Open WebUI and the API Contract

Part 1 established that the model is stateless. Part 2 established that its memory is finite and expensive. Put those together and an awkward question falls out: if the model remembers nothing and can only be handed so much at once, who decides what it gets to see? The answer is the layer you thought was just a chat window. The Layer That Holds Everything the Model Can’t # Open WebUI is a web application. Svelte in the browser, a Python backend, a database on disk. There is no model inside it and no inference happening in it. If Ollama is switched off, Open WebUI still loads perfectly — it simply has nothing to talk to.

Understanding Your First Local AI Stack, Part 2: Models, GGUF and Quantisation

In Part 1 we established that “the AI” is a file of numbers plus an engine to execute it. This time we open the file. By the end you will be able to look at a model name and predict, with arithmetic rather than hope, whether it will run on your machine and roughly how fast. A Model Is a Very Boring File # Strip away the mystique and a language model is an array of floating-point numbers — the weights — organised into named tensors, plus enough metadata to describe how those tensors should be wired together.

Understanding Your First Local AI Stack, Part 1: The Big Picture

Most local AI tutorials hand you a docker compose up and a shrug. This one starts with the architecture, because once you can name the layers, every tutorial after this becomes readable. The Naming Problem # Spend twenty minutes reading about local AI and you will collect a pile of nouns: Ollama. Qwen. Llama. Gemma. GGUF. llama.cpp. Open WebUI. LM Studio. vLLM. Hugging Face.