mirror of
https://github.com/headroomlabs-ai/headroom.git
synced 2026-08-27 14:17:10 -04:00
59 lines
2.1 KiB
Python
59 lines
2.1 KiB
Python
|
|
"""Tests for pure output effort policy decisions."""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from headroom.proxy.output_effort_policy import (
|
||
|
|
LEGACY_THINKING_FLOOR,
|
||
|
|
can_create_openai_text_verbosity,
|
||
|
|
clamp_legacy_thinking_budget,
|
||
|
|
lower_effort_value,
|
||
|
|
lower_text_verbosity_value,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def test_lower_effort_value_lowers_known_higher_effort_to_target() -> None:
|
||
|
|
assert lower_effort_value("xhigh", "low") == "low"
|
||
|
|
assert lower_effort_value("max", "medium") == "medium"
|
||
|
|
|
||
|
|
|
||
|
|
def test_lower_effort_value_keeps_lower_equal_unknown_or_non_string_values() -> None:
|
||
|
|
assert lower_effort_value("low", "medium") is None
|
||
|
|
assert lower_effort_value("medium", "medium") is None
|
||
|
|
assert lower_effort_value("turbo", "low") is None
|
||
|
|
assert lower_effort_value("high", "turbo") is None
|
||
|
|
assert lower_effort_value(None, "low") is None
|
||
|
|
|
||
|
|
|
||
|
|
def test_clamp_legacy_thinking_budget_only_clamps_enabled_over_floor() -> None:
|
||
|
|
assert (
|
||
|
|
clamp_legacy_thinking_budget(
|
||
|
|
thinking_type="enabled",
|
||
|
|
budget_tokens=32_000,
|
||
|
|
)
|
||
|
|
== LEGACY_THINKING_FLOOR
|
||
|
|
)
|
||
|
|
assert (
|
||
|
|
clamp_legacy_thinking_budget(
|
||
|
|
thinking_type="enabled",
|
||
|
|
budget_tokens=LEGACY_THINKING_FLOOR,
|
||
|
|
)
|
||
|
|
is None
|
||
|
|
)
|
||
|
|
assert clamp_legacy_thinking_budget(thinking_type="adaptive", budget_tokens=32_000) is None
|
||
|
|
assert clamp_legacy_thinking_budget(thinking_type="enabled", budget_tokens="32000") is None
|
||
|
|
|
||
|
|
|
||
|
|
def test_can_create_openai_text_verbosity_only_for_gpt5_family() -> None:
|
||
|
|
assert can_create_openai_text_verbosity("gpt-5")
|
||
|
|
assert can_create_openai_text_verbosity("GPT-5.1")
|
||
|
|
assert not can_create_openai_text_verbosity("gpt-4o")
|
||
|
|
assert not can_create_openai_text_verbosity(None)
|
||
|
|
|
||
|
|
|
||
|
|
def test_lower_text_verbosity_value_lowers_existing_verbose_values() -> None:
|
||
|
|
assert lower_text_verbosity_value("medium") == "low"
|
||
|
|
assert lower_text_verbosity_value("high") == "low"
|
||
|
|
assert lower_text_verbosity_value("low") is None
|
||
|
|
assert lower_text_verbosity_value("chatty") is None
|
||
|
|
assert lower_text_verbosity_value(None) is None
|