mirror of
https://github.com/usestrix/strix.git
synced 2026-08-22 02:58:39 +02:00
- Replace fragile prefix matching with explicit STRIX_MODEL_MAP - Add resolve_strix_model() returning (api_model, canonical_model) - api_model (openai/ prefix) for API calls to OpenAI-compatible Strix API - canonical_model (actual provider name) for litellm capability lookups - Centralize resolution in LLMConfig instead of scattered call sites
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from strix.config import Config
|
|
from strix.config.config import resolve_llm_config
|
|
from strix.llm.utils import resolve_strix_model
|
|
|
|
|
|
class LLMConfig:
|
|
def __init__(
|
|
self,
|
|
model_name: str | None = None,
|
|
enable_prompt_caching: bool = True,
|
|
skills: list[str] | None = None,
|
|
timeout: int | None = None,
|
|
scan_mode: str = "deep",
|
|
):
|
|
resolved_model, self.api_key, self.api_base = resolve_llm_config()
|
|
self.model_name = model_name or resolved_model
|
|
|
|
if not self.model_name:
|
|
raise ValueError("STRIX_LLM environment variable must be set and not empty")
|
|
|
|
api_model, canonical = resolve_strix_model(self.model_name)
|
|
self.litellm_model: str = api_model or self.model_name
|
|
self.canonical_model: str = canonical or self.model_name
|
|
|
|
self.enable_prompt_caching = enable_prompt_caching
|
|
self.skills = skills or []
|
|
|
|
self.timeout = timeout or int(Config.get("llm_timeout") or "300")
|
|
|
|
self.scan_mode = scan_mode if scan_mode in ["quick", "standard", "deep"] else "deep"
|