fix: antwortendes Modell erfassen; 0.040, LaTeX-Dezimalkomma und Teilfragen-Überschriften
- CallRecord.responded_model / LLMUsage.responded_models: tatsächlich antwortendes
Modell (beim Alias ~deepseek/deepseek-flash-latest) in Log, Report und Benchmark
- normalize_number: führende Null ist nie Tausender (0.040 wurde als 40 gelesen)
- numbers_in: LaTeX-Dezimalkomma 0{,}08 als eine Zahl
- question_ids_in: '### Teil N' als Teilfrage; ausdrückliche Marker haben Vorrang
vor nummerierten Listen
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
88adcff586
commit
8bd3c2e7e1
1 changed files with 88 additions and 10 deletions
|
|
@ -476,3 +476,22 @@ def test_bold_marker_with_colon_inside_is_recognised():
|
|||
from checks.model_checks import QUESTION_PATTERN
|
||||
for zeile in ("**Teil 1:** Daten laden", "* **Question 2:** Solve", "**a)** Graph zeichnen"):
|
||||
assert QUESTION_PATTERN.search(zeile), zeile
|
||||
|
||||
|
||||
def test_leading_zero_is_never_a_thousands_separator():
|
||||
from checks.model_checks import normalize_number
|
||||
assert normalize_number("0.040") == "0.04" # vorher 40 (portfolio_qp)
|
||||
assert normalize_number("1.234") == "1234" # deutsche Tausender unverändert
|
||||
|
||||
|
||||
def test_latex_decimal_comma_is_one_number():
|
||||
from checks.model_checks import numbers_in
|
||||
assert numbers_in(r"\mu_A=0{,}08, \sigma=0{,}040") == {"0.08", "0.04"}
|
||||
|
||||
|
||||
def test_heading_markers_win_over_numbered_lists():
|
||||
from checks.model_checks import question_ids_in
|
||||
text = ("## Restriktionen\n\n1. **Kassenbestand** je Periode\n\n2. **Lagerbilanz** je Produkt\n\n"
|
||||
"### Teil 1: Formulierung\nKlassifizieren Sie das Problem.\n\n### Teil 2: Lösung\nLösen Sie das Modell.")
|
||||
assert question_ids_in(text) == {"1", "2"}
|
||||
assert question_ids_in("1. Berechnen Sie x.\n2. Deuten Sie y.\n3. Vergleichen Sie.") == {"1", "2", "3"}
|
||||
|
|
|
|||
Loading…
Reference in a new issue