Somewhere in the last two years, open weight stopped meaning runs on your machine.
Zhipu released GLM-5.2 in June 2026, a large language model at roughly 753 billion parameters. Anyone can download the weights. Almost nobody can run them. Google shipped Gemma 4 in sizes that fit on a phone, Alibaba shipped Qwen 3.5 models that fit on a laptop, and OpenAI released gpt-oss under Apache 2.0. Two different things now travel under one label.
A self hosted AI chatbot — your own AI chatbot running on hardware you control — lives or dies on that distinction, because the first real question is not which model is best. It is which model fits the memory you have. What follows covers that — how to run LLMs on your own hardware, the runtime that serves them, the deployment end to end, and what you have to configure before any of it is as private as the word self-hosted implies. We run one of these in production ourselves, so it is written from the operator side.
A self hosted AI chatbot is an open-weight language model running on infrastructure you control, wrapped in an interface you can talk to. The defining property is where inference happens. If the tokens are generated on your hardware, the conversation never leaves your network, your data remains where it started, and you keep full control of it — that single set of facts is what makes the rest of this worth the effort.
Two terms get used as synonyms and should not be. Open weight means the trained parameters are published under a license you can read. An open source ai model, applied strictly, would also publish the training data and the pipeline, and almost no frontier model qualifies. Nearly everything here is open weight. The distinction determines what you can legally do with the model, which matters once a business is involved.
A good note: managed hosting for an open model is not self-hosting: the model is open, but a vendor runs it and your prompts travel to their servers. A private endpoint from a commercial provider is not self-hosting either, however good the data-processing agreement is. Even inside fully local tooling the line blurs. Ollama offers cloud models that use the same commands and API as local ones, separated only by a suffix on the model name. They are a reasonable product. They are not self-hosting, and if privacy is why you are here, that difference is the whole point.
The reasons carry different weight depending on who is asking.
The counterweight is honest and worth stating early: you inherit the operations. Model updates, GPU drivers, storage for weights, monitoring, and the data security posture covered later all become your responsibility. Self-hosting trades a subscription for a system you maintain. That trade is obviously right for some readers and obviously wrong for others, which is what the next section is about.
Two audiences arrive at this from different directions.
The home lab and personal reader wants a local GPT on a computer they already own, for some mix of curiosity, cost, and a preference for not routing personal questions through a company's servers. A Mac with 16GB of unified memory, a gaming desktop with a mid-range GPU, or a Mini PC running Proxmox all clear the bar in 2026. That reader can be running in under an hour using the desktop path described later.
The business reader has a harder problem: somewhere there is a category of information that cannot go to a third-party model, and an assistant that could do real work if only it were allowed to see it. The industries where this comes up are consistent.
The rest of this guide is written with the second group in mind, though the practical steps are the same for both. Everyone starts by picking a model that fits the hardware.
Building against HIPAA, privilege, or air-gapped constraints?
We have shipped on-premises assistants under all three. If you want a second opinion on whether your requirements need a custom
build or whether an off-the-shelf stack clears them, tell us what you are working with.
Something happened to the open-weight field over the past two years that most guides have not caught up with, and it changes how you should read every model announcement.
Open weights split into two tiers. The frontier tier got dramatically larger — these are large language models with more parameters than any single consumer machine can hold — and GLM-5.2 is only the clearest example: Qwen's flagship is a 397B mixture-of-experts model, and Llama 4 Maverick carries 400B total parameters. All of them are open in the sense that anyone can download the weights, and closed in the sense that running one takes infrastructure you rent by the hour.
Meanwhile a second tier consolidated in the opposite direction, aimed squarely at hardware normal people own. Google's Gemma 4, released April 2026 under Apache 2.0, spans five sizes from a 2B variant meant for phones up to a 31B dense model for workstations, with quantization-aware-trained builds published specifically for local use. Qwen 3.5 arrived in February with a dense lineup from 0.8B to 27B, also Apache 2.0. OpenAI's gpt-oss-20b runs in around 16GB. Small-active mixture-of-experts designs, where only a few billion parameters fire per token, deliver larger-model quality at a memory footprint a consumer GPU can hold.
So when someone calls a model open weight, the useful follow-up is which tier. For self-hosting only the second is relevant, unless you rent GPUs, which is a legitimate architecture with a very different cost profile.

Green rows run on hardware you are likely to own. Slate rows are open weight but need infrastructure you rent.
The decision comes down to memory first and task second, in that order, because a model that does not fit does not run.
One practical note that saves a lot of disappointment. Almost everything above runs quantized, usually to four bits, which is what makes these footprints possible at all. Quantization trades a small amount of precision for a large amount of memory, and for conversational work the tradeoff is nearly invisible. Gemma 4's quantization-aware-trained releases go further by accounting for the compression during training rather than after it, which is why the small Gemma variants punch above their size class. All of these open-weight LLM models originate on Hugging Face; Ollama fetches from its own registry, which mirrors most of what you would find there.
A model file is not a chatbot. Something has to load the weights, manage memory, batch requests, and expose an interface. In 2026 that something is usually Ollama, which became the default the way Docker did for containers: not because alternatives are missing, but because everything else assumes it is there.
The scale is worth stating for anyone deciding whether to build on it. Ollama reported 8.9 million developers when it raised $88 million in July 2026 from Benchmark, Theory Ventures, 8VC, and Y Combinator. The current release is v0.32.0. For a business evaluating whether the foundation under a production system will still be maintained in two years, that is a more useful signal than a GitHub star count, and a better bet on the runtime holding up into the future.
You install it, run one command to pull a model, and you have a local inference server. The interesting part is what it exposes.
Two caveats, both of which matter. Ollama's cloud models look identical to local ones at the command line, and they are not local, as covered earlier. And Ollama ships with no authentication whatsoever, which is a bigger problem than it sounds and gets its own section shortly.

We do not only recommend this pattern, we ship on it. Pumice, our catalog enrichment product, includes a chat feature that lets a user upload a product catalog and ask questions about it in plain language. That feature is served by gpt-oss running on Ollama, on a GPU box on our own server.
The architectural detail worth borrowing is how it answers. Most guides tell you to embed your documents and retrieve the relevant chunks, which works well for prose and poorly for tables. Ask a catalog of forty thousand products how many SKUs are missing a material attribute, and semantic similarity is the wrong tool entirely, because the answer is not in any one retrieved chunk. So the feature runs a hybrid: retrieval handles descriptive and comparative questions, and generated queries handle counts, filters, and aggregates, with the model choosing the path based on what was asked. Anyone building an assistant over structured or tabular data will hit this same wall, and it is the single most useful thing to know before starting.

Ollama has no interface of its own beyond a terminal. The tools below are what people actually talk to, and ranking them by GitHub stars hides the fact that they solve different problems.
The pairing that covers most cases is Ollama underneath and Open WebUI on top. Add AnythingLLM if documents are the main event, and swap to LibreChat when a security team gets involved.
What follows is the AI setup path from bare hardware to a working private assistant that can answer questions about your own files.
Memory is the binding constraint on what resources the model can actually use. A rough rule that holds up: a four-bit quantized model needs a little over half a gigabyte per billion parameters, plus headroom for context. A 9B model wants around 8GB, a 27B model 16 to 20GB, and gpt-oss-20b lands near 16GB.
On Apple Silicon, unified memory counts as model memory, which is why a 32GB MacBook outperforms expectations. On a PC, VRAM is what counts, and a model that spills into system RAM slows dramatically rather than gracefully. Buying hardware for this, buy memory before compute.
Ollama installs from a single package on macOS, Windows, and Linux. Once it is running, one command downloads and starts a model.
At this point you have a working assistant in the terminal and an OpenAI-compatible API on port 11434. Everything after this is interface and integration.
Open WebUI runs as a container and connects to the Ollama instance on the host. Nothing here is exposed beyond the machine unless you decide otherwise, which is the correct default.
The two docker containers land side by side on the host, with Open WebUI pointed at Ollama over the internal network. Bring it up, open the browser at the local address, create the first account, and the models Ollama has pulled appear in the model picker. Note the port binding above: it listens on the loopback address rather than every interface. That one detail is the difference between a private assistant and one of the exposed servers discussed in the next section.
A chatbot that knows only its training data is a novelty. The useful version answers questions about your material, which means retrieval augmented generation: files are chunked, embedded as vectors into a vector database, and the relevant pieces are retrieved and passed to the model as context.
Open WebUI has this built in: pull an embedding model, upload files into a workspace, reference that collection in a conversation. AnythingLLM does the same job with more control over chunking and more patience for large collections.
Add an embedding model for retrieval
Set expectations correctly here, because this is where most first attempts disappoint. Retrieval works well when the answer lives in a passage of text somewhere. It works badly when the answer requires counting, filtering, or aggregating across many records, which is exactly the limitation the Pumice chat feature was built to solve. If your data is tabular, plan for the model to generate queries rather than retrieve chunks.
The API is the reason self-hosting scales past a chat window and connects to other systems. Because the endpoint speaks the OpenAI format, existing code works with a changed base URL and a placeholder key.
That placeholder key is not authentication. The server accepts any value, which brings us to the part of self-hosting that gets skipped most often. In production the stack packages neatly into three docker containers — Ollama, Open WebUI, and a vector database — which is how most self-hosted setups end up shipping.

Self-hosting is usually sold as private by definition: the model runs on your own machine, therefore your data is safe. That is true of the inference and false of the deployment, and the gap between the two — where data privacy comes from configuration rather than from the label — has produced one of the larger unmanaged attack surfaces in enterprise software.
Ollama binds to the loopback address by default, which is correct. But it has no authentication of any kind: no user, no password, no token, no permission model. Anyone who reaches port 11434 can send prompts, enumerate models, read system prompts, and consume your GPU. The security boundary is the network alone, and the moment someone changes the bind address to reach the server from another machine, that boundary becomes whatever their firewall happens to be.
Plenty of people have made exactly that change. A joint investigation by SentinelLABS and Censys mapped roughly 175,000 publicly reachable Ollama servers across 130 countries. UpGuard now classifies an internet-exposed port 11434 as a critical-severity finding against an organization's external attack surface, in the same category as any other unnecessary open port.
Then it got worse. In early 2026 researchers disclosed a heap out-of-bounds read in Ollama's model loader, tracked as CVE-2026-7482 and nicknamed Bleeding Llama, rated critical at CVSS 9.1. Three unauthenticated API calls let an attacker read the server process's heap memory and quietly ship it elsewhere. What sits in that memory includes system prompts, API keys, environment variables, and other users' in-flight conversations. The attack leaves no error in the logs, so without endpoint monitoring there is nothing to notice. Roughly 300,000 internet-facing servers were exposed before the patch landed in v0.17.1.
The lesson is not that Ollama is unsafe software. It is that self-hosting moves responsibility rather than removing risk. On a commercial API, someone else patched the inference server and ran the intrusion detection. Now that is your job, and the assistant holding your privileged documents is a service on your network like any other.
For a regulated deployment, treat the hardening list as part of the build rather than as an afterthought, because a compliance reviewer will ask about all seven items and the honest answer needs to be documented before the assistant sees real data.
We published our first hands-on evaluation of local assistants in December 2023, testing GPT4All on two tasks a business would actually care about. Revisiting those results is the clearest illustration of how far this field moved, so here they are unvarnished.
The first task was summarizing a medical report, roughly 2,600 tokens of clinical text. Every model took more than fifteen minutes on a four-core machine with 32GB of RAM, which is not a usable interaction, so we cropped the document to about 5,000 characters just to judge quality in reasonable time. Mistral Instruct produced a fair summary that followed instructions and stuck to the facts. A 13B model did slightly worse. A Falcon-based model failed outright, returning two sentences with an incomplete ending.
The second was identifying clauses in a legal agreement. The full document produced no reply at all after twenty-seven minutes. Cropped to 2,000 characters, the model answered in a minute but misread the question, and a reworded prompt returned one correct deadline, one item that was not a deadline, one irrelevant point, and a missed deadline sitting plainly in the text. Our conclusion was that the field was moving in the right direction but that quality warranted heavy testing before trusting it with anything.
Three things changed since, and all three came from the same direction.
The finding that survived is the one about testing. Local models still vary enormously by task, and the difference between one that handles your work and one that quietly gets it wrong is invisible in a benchmark table. It shows up when you run your own documents through it.
Three techniques do the work of squeezing large neural networks onto small hardware, and knowing what they are makes the model listings readable.
Four constraints are worth knowing before you commit.
Everything above assembles from parts anyone can download, and for many readers that is the whole answer. Install Ollama, add Open WebUI, pull a model, point it at some files, lock down the port. There is no prize for building what you can assemble.
There is a wall, though, and it shows up in predictable places.

We build the second path. Our healthcare work serves a fine-tuned model on-premises so patient data never crosses the network boundary, with extraction accuracy measured against the client's own records rather than a benchmark set. Pumice chat is the same pattern in a product: an open model, self-hosted, with the retrieval layer designed around the real shape of the data instead of the generic recipe.
If you have hit one of the walls above, or you are trying to work out whether your requirements need a custom build at all, tell us what you are working with. We will say plainly when assembling the off-the-shelf stack is the better answer, because frequently it is.
A self hosted AI chatbot in 2026 is four decisions, not one product. Pick a model that fits your memory rather than the biggest one you can find, because open weight no longer implies runnable. Serve it with Ollama, which everything else assumes. Put an interface in front that matches who is using it, Open WebUI for most, LibreChat when a security team is involved. Then secure the deployment, because the runtime has no authentication and the privacy you came for is a configuration rather than a default — full control is something you set, not something the label guarantees.
The models are good enough now. A quantized 27B model running on hardware you already own will handle summarization, drafting, extraction, and questions about your own files at a quality that would have seemed implausible when we first tested this in 2023. What it will not do on its own is understand the structure of your data, connect to your systems, or prove an accuracy number to a regulator. That is the line between assembling a stack and building one — and it usually maps to whether you have the resources internally to own the ongoing engineering.
If you are working out which side of that line you are on, send us the details. We scope self-hosted and on-premises assistants regularly, and we will tell you when the free stack is all you need.
Tell us what data it has to see and what it has to connect to. We will tell you whether an off-the-shelf self-hosted stack
clears your requirements, and what a custom build changes if it does not.
No. OpenAI has never released the weights behind ChatGPT. It did release open-weight models in the gpt-oss family under Apache 2.0, which you can download and self-host, but those are separate models rather than a copy of ChatGPT. For your own AI chatbot with an open source ChatGPT feel, run an open-weight model such as Gemma 4, Qwen 3.5, or gpt-oss locally behind an interface like Open WebUI.
Memory is the constraint. A four-bit quantized model needs roughly half a gigabyte per billion parameters plus context headroom, so a 9B model wants about 8GB and a 27B model 16 to 20GB. A 16GB laptop runs a capable assistant, a 24GB GPU runs a very good one, and a 2B model runs on a phone. Apple Silicon is unusually good at this, because the memory the system uses is the same pool the model draws from.
Yes. Once the weights are downloaded, an offline LLM needs no network. Pulling models, updating software, and any web-search feature need connectivity; inference does not. That is what makes local models viable in air-gapped facilities, remote field sites, and anywhere outbound traffic is restricted.
The inference is private, and your data remains on your hardware. The deployment is only as private as you configure it. Local runtimes generally ship without authentication and rely on network position, and roughly 175,000 Ollama servers are reachable from the open internet right now. Keep the loopback bind, firewall the port, and put authentication in front of anything remote. Also check your interface for telemetry or cloud sync, and confirm no model with a cloud suffix is quietly sending inference off the machine.
LM Studio for one desktop application with a graphical model browser and no configuration. Ollama for a service other applications talk to, which is what a server, a team, or any software you build needs. Most people who start with LM Studio and keep going end up running Ollama underneath something else.
For a private LLM serving a team, the usual shape is Ollama for serving, LibreChat for the interface because it handles enterprise authentication, and an Apache 2.0 or MIT licensed model so legal review is short. Gemma 4, Qwen 3.5, and gpt-oss all qualify. Size the model to the hardware you can allocate, then measure it on your own documents before committing.
When generic retrieval is not accurate enough on your material, when your data is structured rather than prose, when the assistant has to integrate with real systems, when you need a provable accuracy floor, or when fine-tuning on proprietary data is the only way to close the quality gap. Below those conditions, assemble the off-the-shelf stack and keep the money.