Skip to content

Setting up AI (optional)

AI is off unless an admin turns it on. While it’s off, Lantern shows no AI anywhere and sends nothing to one. Turned on, it does two things for adults and admins:

  • Import with AI: paste text, such as a school newsletter, a club’s fixtures, or a shopping note, and the AI proposes the events, list items, and meals in it. Nothing is added until someone reviews the proposals and presses Add.
  • Meal ideas, beside the meals not had lately (#842).

Choose the provider in Settings → AI. Lantern sends one small test request before it saves, so a wrong address, model, or key is caught there.

A model running on the household’s own machine keeps everything on your network. Lantern talks to any server with an OpenAI-compatible chat completions endpoint (docs/integrations/openai-compatible.md). Under Provider, choose A server of your own, then enter:

  • Server address: the server’s OpenAI-compatible base, ending in /v1;
  • Model: as the server names it;
  • API key: only if the server asks for one.
ServerAddressNotes
Ollamahttp://<host>:11434/v1Pull a model first (ollama pull <model>). Ollama ignores any key
LM Studiohttp://<host>:1234/v1Start its local server and load a model
vLLMhttp://<host>:8000/v1Serve the model with its OpenAI-compatible server

Lantern’s docker-compose.yml has an Ollama service that starts only with the ai profile. It runs on the same machine as Lantern and isn’t reachable from outside the stack.

  1. Add COMPOSE_PROFILES=ai to .env, then docker compose up -d.
  2. Pull a model into it, for example docker compose exec ollama ollama pull llama3.2. For photos of paper schedules, pull one that reads images, such as llama3.2-vision. Models are kept in ./ollama across restarts and take a few GB each.
  3. In Settings → AI, choose A server of your own, with the address http://ollama:11434/v1 and the model’s name as pulled (llama3.2). Turn on Reads images only for a vision model.

On a small machine without a GPU, a model answers slowly; Lantern waits up to two minutes for each answer.

<host> is the machine the server runs on, as Lantern’s own container reaches it: a name on your network, or the service’s name when it runs in the same Docker Compose project. localhost in Lantern’s container is the container itself, not the machine.

Which model: larger models read untidy material better. A small model on modest hardware can be slow; Lantern waits up to two minutes for each answer, and the import shows as reading meanwhile. Turn on Reads images only for a model that reads images. Photos of paper schedules are read only by such a model: Lantern has no OCR of its own, so with Reads images off a photo is refused, while PDFs with text in them are read either way (a scanned PDF, being pictures of pages, isn’t).

With Anthropic, imports are read by Claude on Anthropic’s servers:

  1. Make an API key in Anthropic’s Console. The account pays for what it uses.
  2. In Settings → AI, choose Anthropic (Claude).
  3. Keep the model Lantern suggests, claude-opus-5-5, Anthropic’s current default, or enter another.
  4. Paste the key.

The key is stored encrypted, never shown again, and left out of the export. Claude’s models read images, so Reads images starts on.

The same with any provider; with Anthropic, it leaves your server:

  • For an import: the text pasted, an email’s text, a PDF’s text, or the photo sent.
  • For meal ideas: the recipe box’s titles and tags, and the household’s stated preferences.
  • With each: today’s date, the household’s time zone, and the names of its members, lists, and meal slots, so the AI can say “for Maya” or “on the Grocery list”.

Nothing else is sent: no calendar, chores, photo library, addresses, or passwords.

Turn AI off in Settings → AI deletes the key, and AI leaves every screen at once. What was already added stays. Imports and their material are deleted 30 days after they were started.