--- description: Help configure the Teamlandkarte matching system — weights, thresholds, similarity strategy, caching, and Azure OpenAI settings. --- $ARGUMENTS ## Configuration Guide All runtime configuration lives in `config.toml`. See `config.toml.example` for the full schema. ### Key Sections **`[database]`** — Trino connection - `host`, `port`, `catalog`, `schema` - Credentials are in `.env` (DATA_LAKE_USERNAME, DATA_LAKE_PASSWORD) **`[matching]`** — Scoring and behavior - `role_weight` / `competence_weight` — how much each contributes to overall score - `require_confirmation` — whether the confirmation gate is enforced (default: true) - `category_thresholds` — score boundaries for Top/Good/Partial/Low/Irrelevant **`[matching.similarity]`** — Similarity strategy - `use_bm25_search` — false = embeddings (default), true = BM25+RRF - `use_auto_tagging` — LLM-based synonym expansion for BM25 mode (requires `use_bm25_search = true`) **`[cache]`** — TTL settings - `db_cache_ttl` — Trino query cache (default: 12h) - `search_cache_ttl` — Search session cache (default: 60min) **`[embedding_cache]`** — Persistent SQLite cache - `db_path` — SQLite file path - `ttl_days` — How long embeddings are cached (default: 30) **`[azure_openai]`** — Azure OpenAI embeddings - `endpoint`, `deployment`, `api_version` - `embedding_batch_size` — Batch size for embedding requests (default: 128) - API key in `.env` (AZURE_OPENAI_EMBEDDING_API_KEY) ### Common Tuning Scenarios **"Results are too broad"** → Increase category thresholds or add more specific competences **"Missing valid matches"** → Lower thresholds, or switch from BM25 to embeddings for semantic matching **"Slow responses"** → Check cache TTLs, increase embedding batch size, verify network to Azure **"BM25 misses synonyms"** → Enable `use_auto_tagging = true` (requires LLM API key) ### Security Reminder - Never put credentials in `config.toml` - All secrets go in `.env` only - `config.toml` is not in version control (see `.gitignore`)