/llm-describer

A simple image describer service using Ollama and PocketBase

Primary LanguageGo

LLM Describer

This describer connects with a remote Ollama server, sends it images, and returns descriptions to users. A PocketBase frontend provides authentication, authorization, an admin interface, and other features you might expect when building a SaaS frontend for AI models. Configurations for deploying to Fly.io are also included.

Running

First you'll need an Ollama instance. The llm/ directory contains a simple configuration for deploying to Fly.io, but any instance will do. The describer will run without an instance but all responses will be stubbed.

Next, set the OLLAMA_API environment variable to the URL of your instance. With that done, run:

go run .

Client usage

init.py is an example of how to use this describer from Python. Any PocketBase client API should do, or you can use the built-in REST APIs directly from any language.

First, create a user from your admin interface. Then set the following environment variables:

  • LLM_DESCRIBER_URL
  • LLM_DESCRIBER_USER
  • LLM_DESCRIBER_PASSWORD

Download an image and place it in a file called image.jpg in the current directory. Run the client, wait for the description, then type either a followup question or "quit" to exit.