Pro Tips
This page collects practical workflows that make Libre WebUI feel faster, cleaner, and more reliable in daily use.
Keep a Small Daily Model Loadedβ
Use a fast local model for routine work and switch to larger models only when the task needs it.
Good daily-driver examples:
gemma3:4bfor fast everyday chatqwen3:8bfor stronger general workdeepseek-r1:8bfor reasoning promptsnomic-embed-textfor document embeddings
Open Models to see which models are running. Unload models you are not using when VRAM gets tight.
Use Personas for Repeatable Workβ
Create personas for workflows you repeat:
- A concise code reviewer with low temperature.
- A writing editor with a clear style guide.
- A research assistant with document search enabled.
- A support assistant with a fixed tone and response structure.
Personas store the selected model, system prompt, generation parameters, avatar/background, and optional memory/mutation settings. They can also be exported and imported as JSON.
Make Artifacts More Reliableβ
Libre WebUI detects explicit artifact tags, fenced code blocks, standalone HTML documents, and common multi-file HTML bundles. To get the best artifact output from a model, ask for:
Create one complete self-contained HTML file.
Inline the CSS and JavaScript.
Do not rely on external files unless they are CDN URLs.
If you want separate blocks, name them clearly:
```html filename="index.html"
...
```
```css filename="style.css"
...
```
```js filename="app.js"
...
```
Libre WebUI will try to bundle local CSS and JavaScript blocks into the HTML preview.
Use Document Chat Deliberatelyβ
Document Chat currently accepts PDF and plain-text files up to 10 MB. Search works in two modes:
- Keyword search is always available.
- Semantic search is used when embeddings are enabled in Settings and an embedding model is available.
Install nomic-embed-text if you want an easy local embedding model:
ollama pull nomic-embed-text
For best results, upload focused documents per chat instead of one huge mixed document set.
Tune Generation Settingsβ
| Setting | Practical use |
|---|---|
| Temperature | Lower for accuracy, higher for creative exploration |
| Top P / Top K | Leave defaults unless you are deliberately tuning sampling |
| Context window | Increase for long chats only if your model and memory can handle it |
| Max tokens | Limit long answers or raise for code/artifact generation |
| Repeat penalty | Raise slightly when a model loops |
When a model behaves badly, first lower temperature, then reduce context pressure, then try another model.
Keep Provider Keys Per Userβ
Provider plugins can read environment keys, but user-level credentials are usually cleaner for shared installs. Add keys in Settings so each user controls their own provider access.
Use backend environment variables for deployment-wide defaults or automated installs.
Make Remote Access Predictableβ
For phone or LAN access, bind the dev server to the network interface:
npm run dev:host
Then open the machineβs LAN or Tailscale IP from the other device. In production, set CORS_ORIGIN and the frontend API URL explicitly so browsers do not fall back to localhost.
Keep Docs and UI in Syncβ
The product changes quickly. Prefer durable docs that describe behavior and workflows, and let the UI show live model lists from providers. Avoid copying long provider catalogs into docs unless the list is generated by the app.