PTENES
Skip to content
MODULE 3.2

💬 ChatGPT-style interface: Open WebUI & LM Studio

You’ve already run a model in the terminal—now let’s give it a expensive. A chat interface with history, one-click model switching, and attachments, just like ChatGPT, but 100% on your machine. Here you install Open WebUI with one command and knows the LM Studio as a desktop alternative.

6
Topics
~35
Minutes
Basic
Level
Practical
Type

Detailed content

1

🖼️ Why a graphical interface

The terminal was great for your first "hello": it proves the model runs. But for use for real in everyday use it gets tiring — no history, no easy model switching, no way to attach a PDF. A graphical interface solves that and gives you a ChatGPT that lives on your machine.

🆕 New here?

"Graphical user interface" (GUI) is the window with buttons, text boxes, and menus — the opposite of the command-line terminal. "Backend" is the invisible component that does the heavy lifting (here, the Ollama running the model); the interface just talks to it and displays the result nicely on screen.

✗ Terminal only

  • ✗Closed the window, lost the conversation
  • ✗Switching models = typing the command again
  • ✗You can’t attach a file or image
  • ✗No searching old chats

✓ Graphical interface

  • ✓Saved and searchable history
  • ✓Menu to switch models with one click
  • ✓Attach documents, images, and code
  • ✓Several chats open side by side
History
doesn't disappear
Multi-model
in one click
Attachments
PDF, image
In your browser
familiar
2

🌐 Open WebUI: what it is

O Open WebUI is an open-source web front end that connects to Ollama — or any API compatible with OpenAI’s — and gives you a complete chat interface. It runs on your own machine and opens in your browser, usually at localhost:3000.

🆕 New here?

"Web front end" is the part you see and click, served as a web page. "localhost" is a nickname for the your own machine — when you open localhost:3000, nothing goes out to the internet; the browser only talks to a program running right there, on port 3000.

🔑 The central idea

Open WebUI separates who shows of who thinks:

  • •Open WebUI handles the interface: chats, history, attachments, login.
  • •Ollama handles the brain: loads the model and generates the text.
  • •The two communicate through a local API — and everything stays on your machine, offline.

📋 What you get right away

  • Chat with history, folder organization, and search.
  • Switch models from the menu (all the ones you downloaded in Ollama appear).
  • Support for multiple users with login — useful for family or your team.
  • Upload documents to ask questions about them (the basis of RAG, the topic of module 3.6).
Open source
free
Runs locally
localhost:3000
Talk to Ollama
and OpenAI API
In your browser
ChatGPT-like
3

🐳 Launching with Docker

The cleanest way to install Open WebUI is with Docker. One command downloads the entire application, ready to go, and brings it online — without touching your system dependencies.

🆕 New here?

"Docker" packages a program with everything it needs in an isolated "box" (a container). You don't install libraries one by one: run the container and it works the same on any machine. Install Docker Desktop (Windows/macOS) or the Docker Engine (Linux) before continuing.

1

Ollama already running

Make sure Ollama from module 3.1 is active (ollama list shows your models). This is the backend the interface will use.

2

Run the container

A single docker run downloads the image and starts Open WebUI already connected to the Ollama on your machine.

3

Open in browser

Access localhost:3000, create the first account (it becomes the admin account) and start chatting.

⌨️ Practical example: start Open WebUI

Objective: get the chat interface running, connected to your Ollama. Paste into the terminal (all on one line).

# starts Open WebUI already pointed at local Ollama
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

Reading the command: -d runs in the background · -p 3000:8080 opens port 3000 on your PC · --add-host lets the container find Ollama on the host machine · -v open-webui:... keeps your chats even if the container restarts.

How to check: open http://localhost:3000 in your browser. Did the account creation screen appear? It’s up. Run docker ps and check the container open-webui with status Up.

💡 Practical tip

On Linux, if the container can't see Ollama, run Ollama with OLLAMA_HOST=0.0.0.0 to accept connections from the Docker network. To update the interface afterward: docker pull ghcr.io/open-webui/open-webui:main and recreate the container—your chats are saved in the volume.

4

🖥️ LM Studio: desktop alternative

Not everyone wants to work with Docker. The LM Studio is a desktop app you install like any other program: it downloads models in the GGUF, comes with a built-in chat and also starts a local server—all in one window.

🆕 New here?

"GGUF" is the file format used to package open models so they can run on CPU/GPU — you’ll explore this in more depth in module 3.3. "Embedded local server" means that LM Studio also provides an API on your machine, just like Ollama, for your apps to connect to.

✓ Prefer LM Studio when

  • ✓You want to click and install, without a terminal or Docker
  • ✓Likes to explore and download GGUF models from a visual storefront
  • ✓You want to adjust parameters with sliders and see the effect right away
  • ✓Chat and a local server in the same window are enough for you

⚙️ Prefer Ollama + Open WebUI when

  • •You want to run it as an always-on service, without an app open on screen
  • •You need multiple users to log in through the browser
  • •You'll access it from other devices over the network (Tailscale)
  • •You want to script everything from the command line

🤝 It’s not “one or the other”

Both paths lead to the same place: a local model with chat and an API. Many people use LM Studio to try and compare models on the desktop, and the Ollama + Open WebUI for the lab that stays on, serving the whole house. Start with whatever feels easiest for you today.

Desktop app
click and install
Download GGUF
visual store
Built-in chat
in the window
Local server
API ready
5

🔌 Connecting the interface ↔ backend

With Open WebUI up and running, all that’s left is to point the interface to the backend right. When Ollama is on the same machine, it usually works right away; if something doesn’t show up, it’s almost always the connection URL.

1

Point to Ollama

In Settings → Connections, the Ollama URL should be http://host.docker.internal:11434 (interface in Docker) or http://localhost:11434 (direct installation).

2

Choose the model

At the top of the chat, the selector lists all the models you downloaded (ollama pull). Switch between a qwen2.5:7b and a gemma2:2b without restarting anything.

3

Define the system prompt

In the model (or chat) settings, you write the system prompt — the background instruction that gives it personality and rules: “respond in Brazilian Portuguese, concisely, with examples.” Covered in depth in module 3.4.

🧭 If a model doesn’t appear

  • Confirm that it exists: ollama list in the terminal.
  • Confirm that Ollama responds: curl http://localhost:11434/api/tags should return the list.
  • In Open WebUI, check the connection URL and click check/update.
Connection
Ollama URL
Model
in the selector
Port
11434
System prompt
in the UI
6

🚀 Features that unlock real-world use

The interface isn't just aesthetic: it opens doors the terminal couldn't. Before listing the features, get a clear mental model of the stack — browser → Open WebUI → Ollama → model, one layer inside another:

🌐 Browser · localhost:3000 🖼️ Open WebUI — chat interface ⚙️ Ollama — backend · port 11434 🧠 Model (weights) question → ← answer (text on screen)

Read from the outside in: everything happens in the your browser. O Open WebUI receives your question and sends it to the Ollama, which triggers the model (in purple). The response returns through the cyan layer to the screen. No arrow leaves the machine.

🎯 What the interface unlocks

  • •Multiple chats: a conversation for each topic, organized and searchable.
  • •Document RAG: upload PDFs and ask questions about them — the foundation of module 3.6.
  • •Prompt profiles: save reusable system prompts ("reviewer," "translator," "tutor").
  • •Users: separate accounts with login — the whole household or team using a single lab.

Self-check (optional): in Open WebUI, who is the backend that actually generates the text?

Multi-chat
organized
Document RAG
→ module 3.6
Profiles
saved prompt
Users
own login

📌 Module summary

✓
Graphical interface > terminal for daily use — history, multiple models, and attachments.
✓
Open WebUI displays; Ollama thinks — the interface talks to the backend through a local API.
✓
A Docker command brings everything up — verify by opening localhost:3000.
✓
LM Studio is the desktop option — GGUF + chat + local server without Docker.

Next module:

3.3 — Choosing and downloading the right model