Skip to main content
User guide

AI models

Which LLMs, in what failover order, how much reasoning; the knowledge-base embedding model; provider health and 24-hour call volume.

AI models

Overview

Overview

CardMeaning
Model availabilityHow many enabled providers are healthy; how many failover levels
Calls (24 h)Calls, failures and p95 latency from the audit index (absent when audit is off)
Failures totalSince gateway start, whether a provider is failing consecutively, the last failure

Failover chain and activity

Failover chain

In routing order: the active provider, last success, consecutive failures. A provider that keeps failing drops to the next one, and every answer records which model produced it. On the right, the 24-hour call curve.

Model routing

Routing

One card per provider; expand for settings:

FieldNotes
Kindopenai (every OpenAI-compatible endpoint: Volcengine Ark, DeepSeek, Qwen, Ollama, vLLM …) or azure (needs API version and deployment name, not a model name)
Modelark-code-latest on the Ark coding plan, an endpoint id for a custom Ark endpoint
Base URLThe endpoint
API keyPaste a new one; empty keeps the stored key (last 4 shown)
Tagsprimary,cloud; labels only
Timeout (s)Per-call cap, 180 default
ReasoningSee below

The order is the failover order; drag to change. To replace a provider: "Add provider", fill and enable the new one, delete the old one, then "Save and reload". Saving an empty list fails every LLM call.

Reasoning level

Thinking models (Doubao / GPT-5 / Claude / Qwen3 / Gemini 2.5 …) reason before answering, costing 30–90 s per call. The gateway grades by task:

LevelBehaviour
Auto (recommended)No reasoning for titles, angles, index picking; low for NL→DSL; high for investigation, triage, detection rules
OffNo reasoning anywhere
Low / HighOverride every task

The gateway identifies the vendor from the base URL and model name and translates the level into each vendor's parameter (Ark thinking, OpenAI reasoning_effort, Qwen enable_thinking, Claude thinking, Gemini, OpenRouter); unknown models get no parameter, and a 400 on the parameter triggers a retry without it. On OpenAI o-series / GPT-5, "High" sends reasoning_effort=high, which bills more than the default.

Knowledge-base embedding model

Embedding

Runbooks need an embedding model. Enter the model id (doubao-embedding, text-embedding-3-small, a local Ollama bge-m3), endpoint (empty reuses the chat endpoint), key (empty reuses it). "Test connection" fills in the vector dimension on success; save to enable the knowledge base.

Saving is refused when the existing KB index's dimension does not match the new model; rebuild the index first.

Air-gapped sites: local Ollama + bge-m3 (1,024 dims, ~50 ms per query on CPU), endpoint http://<ollama-host>:11434/v1.

Where it is stored

/app/state/llm_providers.yml in the state volume, API keys encrypted. The LLM_* variables in .env only seed the first start.

On this page