Skip to content

Feature Request: allow the web UI to be used with other backends #22531

Description

@jerkstorecaller

Prerequisites

  • I am running the latest code. Mention the version if possible as well.
  • I carefully followed the README.md.
  • I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
  • I reviewed the Discussions, and have a new and useful enhancement to share.

Feature Description

I wrote about this in #16938 , and a llama.cpp collaborator asked me to create a Feature Request issue for it, so here I am.

I think it would be nice if the llama-server web UI was available to use with any backend, not just llama-server.
You can either separate it into its own app, or simply keep it in llama-server (with no model loaded, it uses very little RAM according). Either way, allow the user to configure it to point at a different Chat Completions backend.

Motivation

I think it would be a gain to the ecosystem if we could just fire up the llama-server docker image that uses a tiny amount of RAM and have a working general-purposeweb UI.

llama-server hits a certain sweetspot that other apps don't.

  1. It's fast, elegant and tiny
  2. Has the features most casual users need, including chat history, model switching, system prompt, multi-modal
  3. Shows useful speed stats which is useful in quick experiments

I use other chat apps. The polished ones are all big bloated multi-user enterprise ChatGPT replacements, with one Docker container for the DB, one for RAG, memory, often complicated configuration...or they are really basic unpolished vibecoded things that barely work.

Possible Implementation

My suggestion: keep everything as is, but...

  1. On the Settings page, add a Server section
  2. By default, it shows 2 radio buttons, [o] Use this llama-server, and [] Remote Server. Switching to Remote Server enables further configuration as seen below:
Server endpoint: ______
API key (optional): ______
Ignore SSL Errors: [x]
Test Connection: button that tries to hit http://serverurl/v1/models
  1. Now the webUI is using this remote server, unless the user returns to Settings -> Server and changes from Remote Server to Use This Llama-server.
  2. The model list + model ID to use is same as before, via the dropdown in the main UI.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request
No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions