Coverage for src/lilbee/providers/model_defaults.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-08-14 11:46 +0000

1"""Per-model default generation settings. 

2 

3A frozen snapshot of a model's default generation parameters, applied to config 

4via ``cfg.apply_model_defaults`` and read back through ``cfg.model_defaults`` 

5(e.g. the reasoning layer's per-model ``max_reasoning_chars`` override). 

6""" 

7 

8from __future__ import annotations 

9 

10from dataclasses import dataclass 

11 

12 

13@dataclass(frozen=True) 

14class ModelDefaults: 

15 """Frozen snapshot of a model's default generation parameters.""" 

16 

17 temperature: float | None = None 

18 top_p: float | None = None 

19 top_k: int | None = None 

20 repeat_penalty: float | None = None 

21 num_ctx: int | None = None 

22 max_tokens: int | None = None 

23 max_reasoning_chars: int | None = None