Home

Awesome

Ollama4j Web UI

A web UI for Ollama written in Java using Spring Boot and Vaadin framework and Ollama4j.

The goal of the project is to enable Ollama users coming from Java and Spring background to have a fully functional web UI.

This project focuses on the raw capabilities of interacting with various models running on Ollama servers.

Table of Contents

How does it work?

  flowchart LR
    owui[Ollama4j Web UI]
    o4j[Ollama4j]
    o[Ollama Server]
    owui -->|uses| o4j
    o4j -->|Communicates with| o;
    m[Models]
    subgraph Ollama Deployment
        direction TB
        o -->|Manages| m
    end

Requirements

Java

Running the application

Download

Download the latest version from here.

Or, you could download it via command-line. Just make sure to specify the version you want to download.

VERSION=0.0.1; wget https://github.com/ollama4j/ollama4j-web-ui/releases/download/$VERSION/ollama4j-web-ui-$VERSION.jar

Configure

Create a file application.properties and add the following configuration. Update the values of server.port and ollama.url according to your needs.

server.port=8080
logging.level.org.atmosphere = warn

spring.mustache.check-template-location = false
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB

vaadin.launch-browser=true
vaadin.whitelisted-packages = com.vaadin,org.vaadin,dev.hilla,io.github.ollama4j

ollama.url=http://localhost:11434
ollama.request-timeout-seconds=120

Run the app

java -jar ollama4j-web-ui-$VERSION.jar \
  --spring.config.location=/path/to/your/application.properties

Then open http://localhost:8080 in your browser to access the Ollama4j Web UI.

Screenshots

<img width="2048" alt="Chat" src="https://github.com/ollama4j/ollama4j-web-ui/assets/1876165/426c7ab7-2a27-4bae-87db-daa6a499395c"> <img width="2048" alt="Image Chat" src="https://github.com/ollama4j/ollama4j-web-ui/assets/1876165/1ac899bc-a19e-4dc0-bee1-63b67e8fb346"> <img width="2048" alt="Models" src="https://github.com/ollama4j/ollama4j-web-ui/assets/1876165/c697fd1d-0323-4351-b9a7-25166eff4c7e">

Improvements

[ ] - Show errors on the UI. For example, io.github.ollama4j.exceptions.OllamaBaseException: model "llama3" not found, try pulling it first.

[ ] - Settings pane for configuring default params such as top-p, top-k, etc.

Get Involved

Contributions are most welcome! Whether it's reporting a bug, proposing an enhancement, or helping with code - any sort of contribution is much appreciated.

Credits

The project is inspired by the awesome ollama4j-ui project by @AgentSchmecker.

The nomenclature has been adopted from the incredible Ollama project.