Docs Guides
Choose a model
A model is optional. Without one, Geometer still finds problems using rules it reads from your code. A model can suggest more rules and can be tried on your agent's tasks before you switch to it. This guide covers the choices and what each one sends where.
On this page
What a model is used for#
Geometer has two separate uses for a model, and you can choose a different model for each.
- Suggesting rules. A model reads your tests, docs and code and suggests more rules for you to review. Each stays a suggestion until you choose Use this rule.
- Check a model change (and Check constraint stability with another model). The model Geometer tries on your agent's tasks when you want to compare models.
Geometer calls a model only when you ask: with Suggest more rules with a model on the Rules page, with geo rules propose --model, or by starting a model-change or stability check. Listing rules, reviewing them, exploring and geo ci use stored answers and never call a model.
The choices#
Open This computer, then Model in the workspace. Each use has these choices:
| Choice | Where the model runs | What leaves your computer |
|---|---|---|
| No model (default) | Nowhere | Nothing. Geometer finds rules from your code, tests and database schema without a model. |
| Free local model | On your computer, through Ollama, with the model qwen3:8b | Nothing of your project. The model itself is a download of about 5 GB, through Ollama. |
| Your own API | At the service you name, which can be any OpenAI-compatible service | Excerpts of your code and the agent's requests go to that service, under your agreement with its provider. Geometer asks once before any of your code is sent. |
| Geometer models (paid) | Not available yet | Not applicable in the alpha. The choice is shown disabled. |
Models that Ollama runs in its own cloud (names ending in :cloud) are always refused.
The free local model#
Press the free local model option and follow the progress. Geometer:
- Looks for your own Ollama: a server already answering at
127.0.0.1:11434, or an installed Ollama program. If it finds the program, it starts it privately on your computer and stops it afterwards. - If you have no Ollama, it can download the pinned official release into its own records folder and checks the download against a pinned digest before it unpacks it.
- Checks that you have enough disk (the model's size plus 10 GB) and memory (8 GB for
qwen3:8b). If you are short, it says so in words and suggests Your own API instead. - Downloads
qwen3:8bwith progress. You can stop at any time and it continues where it stopped.
From a terminal:
geo model setup-local
geo model use local
geo model statusBy default Geometer talks to Ollama only on your own computer (http://127.0.0.1:11434). Commands that take --model-endpoint accept another loopback address; a non-local address needs --allow-remote-endpoint, which is an explicit decision.
Your own API#
- Choose Your own API.
- Fill in Address of the service (for example
https://api.openai.com/v1), Model name, Key and Most to spend in one run (US dollars). - Read the notice that excerpts of your code are sent to that service, and agree if you want to continue. Geometer asks once for each use and provider.
The key is stored on your computer and never in a file with your settings. Geometer never takes a key from a command line argument.
export GEO_MODEL_API_KEY=... # your key; do not paste it into commands
geo model use api --scope proposals --model <model name> \
--base-url https://api.example.com/v1 --key-env GEO_MODEL_API_KEY \
--limit-usd 1Use --key-stdin to pass the key on standard input. --yes-send-code agrees to send excerpts of your code without asking, so use it only when you mean it. The spend limit per run defaults to 1 US dollar (use --limit-usd or --limit-tokens to change it). Without a known price, a token limit applies. geo model price records a hosted model's price so a money limit can bound it.
To take back what you agreed to:
geo model forget api.example.com --keyThat removes the agreement that code goes to that provider and, with --key, the stored key. The choice itself changes with geo model use.
Setting a model without the app#
For scripts and CI, the environment can set a model. It overrides the setting you chose in the workspace, and the Model screen says so.
| Variable | What it sets |
|---|---|
GEO_MODEL | For both uses: none, local (optionally local:<model>) or api:<model>@<base url> |
GEO_MODEL_PROPOSALS and GEO_MODEL_CHECK | The same, for rule suggestions and for model checks separately |
GEO_MODEL_API_KEY | The key for api:, read from the environment |
GEO_MODEL_CONSENT | For example proposals,check: the agreement to send code to the hosted model, for those uses |
Command flags such as --model and --to win over the setting.
Next#
- Privacy and securityWhat uses the network and what does not.
- Check your agentModel-change and stability checks.
Something unclear, wrong or missing on this page? Report a problem with these docs.