feat(ai): LlmConfig loaded from llm.toml with legacy env overrides
Adds ai::config: one serde struct for every LLM setting (backend, llama.cpp, Ollama, OpenRouter, embedding, TTS, agentic caps), resolved as defaults -> llm.toml (LLM_CONFIG_PATH, default ./llm.toml) -> the old env vars. Env overrides are kept for one release and listed in a single startup deprecation warning; LLAMA_SWAP_ALLOWED_MODELS maps to picker.include so current deploys keep their picker. Unknown keys, zero timeouts and backend=llamacpp without a URL fail startup. OPENROUTER_API_KEY stays env-only. llm.example.toml documents the schema and is parsed by a test. main loads the config right after tracing init; readers switch over next. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3e3276b8a3
commit
5b8a99a2b2
6 files changed
+719
No files matched your search
@@ -25,6 +25,7 @@ futures = "0.3.5"
|
||||
jsonwebtoken = "9.3.0"
|
||||
serde = "1"
|
||||
serde_json = "1"
|
||||
toml = "0.9"
|
||||
diesel = { version = "2.2.10", features = ["sqlite", "64-column-tables"] }
|
||||
libsqlite3-sys = "0.35"
|
||||
diesel_migrations = "2.2.0"
|
||||
|
||||
Reference in new issue
Block a user