Skip to content

jackrabbithanna/gnollama

Repository files navigation

Gnollama

A Gnome user interface to Ollama

Description

A GNOME user interface to Ollama. Written in Python.

Manage multiple hosts. Add / remove hosts and set default host. Tests host connectivity.

Each chat tab supports using any configured host. Model selection options populated from host.

Model management dialog. Lists all models for selected host. Allows pulling and deleting models. Shows full details about a model including size, parameters, modelfile, template, and license.

Supports multiple tabs of model responses to Ollama endpoint /api/generate and /api/chat

Select "New Response" to create a new generate tab using /api/generate.

Select "New Chat" to create a new chat tab using /api/chat with previous messages so context is preserved.

Displays the "Thinking" stream in a fieldset in the response bubble.

Optionally displays the logprobs and response statistics in the response.

Supports saving chats and their options between sessions and a chat history list in a sidebar.

Responses render Markdown and implement code highlighting.

Model selection, thinking, system prompt, statistics, logprobs, and other options (e.g. temperature)

Supports uploading multiple images and sending with the chat message.

gnollama

gnollama

gnollama

Motivation

I wanted a GNOME application for Ollama that I could use to test and experiment with different models. I have multiple computers with Ollama and wanted a way to easily query and compare the responses from all of them using the same interface. Perhaps others would find this useful as well so here you go.

Build

gnollama can be built and run with GNOME Builder.

  1. Open GNOME Builder
  2. Click the Clone Repository button
  3. Enter https://github.com/jackrabbithanna/gnollama.git in the field Repository URL
  4. Click the Clone Project button
  5. Click the Run button to start building application

Meson

Requires python3 and markdown Code highlighting requires GTKSourceView version 5

To install in Ubuntu:

apt-get install libgtksourceview-5-0 libgtksourceview-5-common libgtksourceview-5-dev
apt-get install gir1.2-gtksource-5
apt-get install python3-markdown python3-gi
meson setup build
meson compile -C build
meson install -C build

You can then run gnollama to execute the application.

TODO

  • More UI Multi-lingual translations
  • Consider how to add tool calls response fieldset and allow the user to set optional list of function tools the model may call during the chat
  • Embeddings?

Contribute

The GNOME Code of Conduct is applicable to this project

License

gnollama is released under the terms of the GNU General Public License V3.

No warranty provided. No guarantee it does anything at all. Use at your own risk.

About

GNOME application providing GUI for Ollama

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors