Local AI โ Bundled On-Device Model
Local AI is an AI provider that ships with Conio. The model runs on your own computer, inside the same Docker container as the rest of the app. You download it once from inside Conio; after that it needs no internet connection and no API key.
It is a draft-and-review tool. Everything it suggests goes to a review queue, and nothing is applied automatically.
Local AI is available on every tier, including Free. On Free it is the only AI provider: AI Refine and Keyword Indexing run on the on-device model, on projects of up to 100 BOQ items. Cloud providers, the other AI features and the routing presets below need a Solo or Office licence. See Licensing.
When to choose Local AIโ
Choose Local AI if:
- you need to keep BOQ text on your own machine (privacy), or
- you are working offline, or
- you do not have a cloud API key.
Choose a cloud provider (Gemini or Claude) if:
- the BOQ is large, or
- the descriptions are messy or damaged (for example, scanned or OCR-converted text).
Cloud providers are recommended for those cases. Local AI is much slower, and on messy data it makes more mistakes than you will want to review (see Quality and the review queue).
Setupโ
- Open Settings โ AI Provider.
- Click the Local AI tab (labelled Bundled ยท offline).
- In the model list, pick a model and click Download. The button shows the download size. While it runs you will see the amount downloaded, the percentage, and a speed and time-remaining estimate. Use Cancel to stop; a stopped download can be resumed (Resume) or thrown away (Discard).
- When the download finishes, click Select on that model. The card shows Active. If your machine has less free memory than the model recommends, Conio shows a warning at this point.
- Click Test Connection. This loads the model and sends it a small request. The first test can take a while because the model has to be loaded into memory.
- Make sure Local AI is the active provider tab, then use AI Refine or Keyword Indexing as usual.
Modelsโ
| Model | Download size (as shown in the panel) | Recommended free RAM |
|---|---|---|
| Qwen3-4B-Instruct (Q4_K_M) | about 2.3 GB | 6 GB or more |
| Qwen2.5-7B-Instruct (Q4_K_M) | about 4.4 GB | 10 GB or more |
Which one to pick: choose the 7B if your machine has 10 GB or more of free memory, otherwise the 4B. The 7B edits more conservatively; the 4B is smaller and needs less memory. Conio does not choose for you.
Both models are Apache-2.0 licensed. In testing, the 7B made somewhat more conservative edits than the 4B and was about 1.3 times slower. Neither is safe to apply without review.
Larger models (for example a 14B model, about 9 GB) are not offered. In testing a 14B model was about five times slower again and did not fit in an 8 GB graphics card's memory, so it is not a recommended target.
Models are saved in the conio-data/models/ folder next to your project data, not inside the Docker image. They survive Conio updates. Use Delete on a downloaded model to free the disk space.
Download verificationโ
After the download finishes, Conio checks the file against the SHA-256 checksum published by the model's host (Hugging Face). If the checksum does not match, the download is rejected.
System requirements and what to expectโ
- Free RAM. The 7B model recommends 10 GB or more of free memory; the 4B recommends 6 GB or more. If you have less, Conio warns you, and the model may be very slow or fail to load. Close other applications before you start.
- Docker memory. Docker Desktop on Windows limits how much memory the container can use. Free memory is measured inside that limit, so a machine with plenty of RAM can still show a warning.
- Disk. Enough free space for the model file (see the table above).
- First request is slow. The first request after starting Conio, or after 15 minutes idle (the model is unloaded to free memory), has to load the model first. On a CPU this can take up to a few minutes.
- Speed. On a CPU, expect roughly 15โ25 seconds per BOQ item. A 108-item table took about 20โ40 minutes to refine.
The speed and memory figures above were measured on a single Windows PC (15.7 GB RAM, CPU only, Docker Desktop). Your machine may be faster or slower. Treat them as a rough guide, not a promise.
What Local AI can do todayโ
| Task | Status with Local AI |
|---|---|
| Description refinement (AI Refine) | Tested. Use with review (see below). |
| Keyword indexing / enrichment | Tested. Use with review. |
| Coverage classification | Runs locally. Its quality has not been assessed. |
| URA draft generation | Runs locally. Its quality has not been assessed. |
| AI schedule sequencing | Not supported with Local AI. |
| AI tiebreaker in Match All | Not supported with Local AI. |
"Runs" means the task completes; it does not mean the results are good. For anything not marked Tested, use a cloud provider.
Deterministic matching in Match All, and the rule-based URA draft, do not use AI at all and work the same whichever provider is set.
AI task routing (Fastest, Balanced, Private)โ
By default one provider handles every AI task. On a Solo or Office licence you can choose a preset under Settings โ AI Provider โ AI task routing instead. (On Free every AI task already runs on the on-device model, and the preset selector is not available.)
| Preset | What it does |
|---|---|
| Not set | Every task uses the provider you picked. This is the default and behaves as before. |
| Fastest | Every task uses your configured provider. |
| Balanced | AI Refine and Keyword Indexing run on the on-device model. Everything else (URA generation, coverage, schedule sequencing, the Match All tiebreaker) uses your configured provider. |
| Private | Every AI task runs on the on-device model. AI schedule sequencing and the AI tiebreaker in Match All are turned off, because they need a cloud model. |
Things to know:
- Balanced and Private need a downloaded and selected local model. Conio will not save either preset without one.
- The cloud side of Balanced is the provider chosen in the provider tabs. If that provider is itself Local AI, every task runs locally whichever preset is set, so keep a cloud provider selected if you want Balanced to mean anything.
- In Private mode the AI Schedule actions return a message instead of running, and Match All still works but skips the tiebreaker. Conio lists the turned-off features when you select the preset.
- Presets change where a task runs, not what your licence unlocks. The Private preset leaves out AI schedule sequencing and the Match All tiebreaker because they need a cloud model; on Free those are turned off for the same reason.
Routing has been checked with automated tests and by saving presets in the Settings panel. It has not yet been measured on a large BOQ, so there is no figure here for how many cloud calls Balanced saves.
Quality and the review queueโ
Only description refinement and keyword indexing have been evaluated with Local AI, and the results are mixed.
What it does well enough to be useful: it fixes obvious character-level damage, such as 20cna โ 20cm or Soi1 โ soil.
What it can get wrong:
- copy text from a neighbouring or parent row into a short row,
- invent words that were not in the original,
- change a unit (in testing, one
cmbecamemm, and one invented unit appeared).
The 4B model over-edited nearly every short child row in a messy test BOQ. The 7B was more conservative but still mixed up neighbouring rows.
The automatic guardrailโ
For Local AI only, Conio discards a proposed edit and keeps your original text if the edit:
- adds a number that was not in the row or its parent heading,
- drops a number from the row,
- changes a number-and-unit pair, or
- is much longer than the original (more than twice as long plus 30 characters).
Conio shows you what it kept. In testing on 40 messy items the guardrail discarded 27 of 39 changed rows for the 4B and 15 of 36 for the 7B.
The guardrail does not catch everything. For example, a neighbouring row's material swapped in without a large change in length gets through. It can also reject a legitimate edit: a few genuine number repairs (such as l2nim โ 12) were discarded in testing.
Always review before approving. Open the table's review queue and check each suggestion against the original. See AI Refine.
Quality labelsโ
The Quality column and its filter in Table Manager use these states:
| Label | Meaning |
|---|---|
| Not checked | The table was imported but has not been through AI Refine. This is not an error and not a problem with your data. A row also stays Not checked if Local AI proposed a change that the guardrail discarded. |
| Clean | AI Refine checked the row and found no issue. |
| Minor / Moderate / Heavy | AI Refine found issues, increasing in size. Rows marked Moderate or Heavy go to the review queue. |
Cancelling and progressโ
Click Cancel on a refine job to stop it. Cancelling stops the job within seconds (about 17 seconds in testing), even if a batch was in the middle of being processed, and the job reports as cancelled.
While a job is running, the list of failed batches may appear empty. The error list is only filled in once the job has ended. Wait for the job to finish before concluding that no batches failed.