feat: yaml_patcher and ProfileApplyRequest support metric_weights and doc_weights
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -32,9 +32,11 @@ def apply_profiles_to_scenario(
|
||||
judge_profile: LLMProfile | None,
|
||||
answer_profile: LLMProfile | None,
|
||||
dataset_profile: LLMProfile | None,
|
||||
metric_weights: dict[str, float] | None = None,
|
||||
doc_weights: dict[str, float] | None = None,
|
||||
_resolve_absolute: bool = False,
|
||||
) -> list[str]:
|
||||
"""Patch the YAML file at *scenario_path* with the supplied profiles.
|
||||
"""Patch the YAML file at *scenario_path* with the supplied profiles and weights.
|
||||
|
||||
Returns a list of dotted field names that were actually patched.
|
||||
Setting *_resolve_absolute=True* skips repo-root resolution (used in tests).
|
||||
@@ -67,6 +69,14 @@ def apply_profiles_to_scenario(
|
||||
generation["model"] = dataset_profile.model
|
||||
patched.append("generation.model")
|
||||
|
||||
if metric_weights is not None:
|
||||
data["metric_weights"] = dict(metric_weights)
|
||||
patched.append("metric_weights")
|
||||
|
||||
if doc_weights is not None:
|
||||
data["doc_weights"] = dict(doc_weights)
|
||||
patched.append("doc_weights")
|
||||
|
||||
resolved.write_text(
|
||||
yaml.dump(data, allow_unicode=True, default_flow_style=False, sort_keys=False),
|
||||
encoding="utf-8",
|
||||
|
||||
Reference in New Issue
Block a user