Docs · Features
Engines and providers
Engines are the models that do the work, your local server, a cloud LLM, or a machine-translation service, and every step, judge and extraction resolves one.
What it does#
Nothing in Localization OS translates anything by itself, it orchestrates models. This is where you tell it which model to use, and how to reach it. A built-in provider slot goes live the moment its key, or for a local server its base URL, is configured. You can also create a named, fully configured engine profile with its own base URL, key, model and settings, referenced by any workflow step that wants it.
Three states matter. Mock: no key or base URL configured, everything runs but nothing is real, useful for trying the product with no setup at all. Local: your own model server, no per-call cost, works offline. Cloud: a configured provider, with real spend tracked per call and optionally capped with a monthly ceiling.
Getting started#
- Start your local model server and load a model.
- In the web UI, go to Setup AI, Local / self-hosted engine, and set the base URL.
- Use Test connection, then Fetch models, and pick one as the default.
- Leave workflow steps' provider as local with a blank model, so they all use that default, and changing it later changes them all at once.
config set local_base_url http://localhost:1234/v1
providers key set claude
engine create --name "DeepL prod" --kind deepl --secret api_key=YOUR_KEY
engine list
Works with#
- Workflows: every translate and check step resolves an engine, its own provider and model if set, otherwise the run default.
- Documents: translating a document dispatches per-segment engine calls, bounded by a concurrency setting; translation-memory hits skip the engine entirely.
- Evaluations: candidates and the LLM judge each resolve an engine, which is how two setups are compared side by side.
- Glossaries: term extraction is a real engine call and is spend-capped; offline it still works against the deterministic mock.
- Memory: memory only ever appears inside a prompt an engine receives.
Current limits#
The offline mock is selected explicitly: choose Mock in Setup AI, or set the default provider to mock. On a configured install, a built-in provider with no key refuses to translate rather than silently degrading to placeholder output. A named engine profile that is misconfigured is refused loudly too, since it was an explicit choice.
Translation output that looks like placeholder text means the mock engine is active; the provider indicators in the interface show live versus mock at a glance.
A stored cloud key that no longer decrypts is treated as a dead engine rather than an empty one, and needs to be re-entered.
A spend cap, where configured, is a brake rather than a budget: it refuses new paid calls once reached. Local and mock calls are exempt.
Model output limits are real: a very long output is retried automatically with a larger budget up to the model's own ceiling, and then it fails honestly rather than truncating silently.
An optional, admin-only record of exactly what was sent to a model and what came back writes nothing at all while it is switched off.