Settings¶
/settings is the profile-management surface in Studio. It mirrors the
CLI's /add-…-profile wizards in a five-tab tabbed interface.
Database¶
Lists every configured DB profile. Each row shows the profile name, backend, host, and the database / catalog the profile pins.
Per-profile actions:
- Edit — re-open the wizard pre-filled with current values
- Delete — remove the profile (after confirmation)
- Test connection — round-trips a small probe and renders a green check or red error message in a modal
The Add new profile wizard is a multi-step dialog:
- Backend dropdown — PostgreSQL, MySQL, Snowflake, Databricks, BigQuery, Oracle, SQL Server, Redshift, ClickHouse, DuckDB
- Dynamic form fields per backend (host / port / username / password / database / catalog / schema / SSL settings / proxy / timeout / …)
- Inline help text per field
- Test connection before save
LLM¶
Lists every configured LLM profile with provider, model, and the live per-1M-token price (auto-detected from the LiteLLM + OpenRouter pricing cache, surfaced in Pricing).
The Add new profile wizard:
- Provider dropdown — OpenAI, Anthropic, Gemini, Databricks Serving, OpenRouter, DeepSeek, Ollama, local-via-LiteLLM, Kimi (see LLM Providers)
- Model dropdown — populated from the provider's offerings, or a free-text field
- API-key / base-URL fields appropriate for the provider
- Alternatives per column slider (1–5) — how many candidate descriptions the LLM emits per column.
- Alternatives diversity mode segmented control — choose whether
those candidates are paraphrases (
semantic) or shared-vocabulary candidate meanings (lexical). Disabled when alternatives per column is 1. See Alternatives mode for the full reference and worked examples. - Confidence signal dropdown — which per-alternative scorer
drives the HIGH / MED / LOW pill on each row:
self_consistency(default),logprob,self_decl,judge,none. See Confidence signals for what each one measures, score ranges, and how to tune the bands. - Optional per-model price override — pre-filled with the auto-detected public rate, so an override is a deliberate tweak rather than a re-keying chore
Docs¶
Lists configured doc profiles. Each row shows the profile name, source paths, and the DB profiles it's linked to.
The wizard exposes:
- Name field
- File path picker (filesystem or pasted)
- Linked DB profiles multi-select (optional — empty = global)
On save, AMX kicks off async indexing in the background. The status badge on the row updates as the work progresses: Indexing → Ready → Failed. Indexing status can also be inspected from System → Catalog.
Code¶
Same shape as Docs, scoped to source-code paths. One path per profile
(filesystem or Git URL — cloned on first scan into
~/.amx/code_cache/<slug>/).
Linked DB profiles control which /ask scopes consult this code profile.
Embeddings¶
Docs RAG and code RAG carry independent embedding providers
(cfg.embedding_docs and cfg.embedding_code), so a code-specialised
encoder can drive code retrieval while a prose-tuned model drives the
documentation side. The tab renders two panels — one per side — sharing
the same form shape:
- Provider radio — MiniLM (Chroma bundled, offline default),
OpenAI-compatible (OpenAI, OpenRouter, Together, Mistral, DeepInfra,
Azure, vLLM / LM Studio / llama.cpp via
base_url), or local sentence-transformers. The local option is auto-disabled with a hint when the host lacks thesentence-transformersextra. - Preset dropdown (OpenAI-compatible only) — fills
base_urlwith the matching endpoint. - Model, Base URL, API key — rendered conditionally on the
chosen kind. Keys are masked on read (
********); leaving the placeholder in the save body preserves the existing secret. - Test connection — embeds a one-token sentinel with the merged- but-not-yet-saved settings and reports a green pill with the vector dimension, or a red pill with the provider's error verbatim.
- Save — persists to
cfg.embedding_{docs,code}and re-installs the process-wide embedding factory so subsequent/searchand code-RAG queries pick up the new provider without restarting the server.
When the active provider drifts from what an existing collection was embedded with, a yellow banner appears with the concrete collection and chunk counts and a Rebuild button. The rebuild clears the affected vector store so the next ingest or query re-embeds with the active provider; document and code data themselves are untouched.
Profile linking¶
Both Docs and Code wizards expose a linked-DB-profiles multi-select.
This controls which /ask invocations see the profile's contents — a
doc profile linked to prod-pg is silent when /ask is running against
dev-snowflake, unless the link list is empty (= global).
CLI equivalents¶
| Studio | CLI |
|---|---|
| DB tab | /add-db-profile, /edit-db-profile, /remove-db-profile, /connect |
| LLM tab | /add-llm-profile, /use-llm, /temperature, /max-tokens, /n-alternatives, /cost |
| Docs tab | /add-doc-profile, /doc-link, /scan, /ingest |
| Code tab | /add-code-profile, /code-link, /code-scan |
| Embeddings tab | /embeddings docs, /embeddings code |