cai/tests/continuous_ops/test_rate_plan.py

33 lines
935 B
Python

"""Unit tests for continuous-ops rate / tick planning."""
from cai.continuous_ops.rate_plan import (
compute_base_tick_seconds,
get_rate_limits,
min_allowed_tick_seconds,
)
def test_get_rate_limits_pro_edu():
tpm, rpm = get_rate_limits("pro")
assert tpm == 500_000 and rpm == 60
tpm_e, rpm_e = get_rate_limits("edu")
assert tpm_e == 150_000 and rpm_e == 20
def test_min_tick_scales_with_estimated_tokens():
lo = min_allowed_tick_seconds(2_000, tier="pro")
hi = min_allowed_tick_seconds(100_000, tier="pro")
assert hi > lo
def test_edu_stricter_than_pro_for_same_tokens():
est = 50_000
assert min_allowed_tick_seconds(est, tier="edu") >= min_allowed_tick_seconds(est, tier="pro")
def test_min_is_175_times_base():
est = 10_000
tier = "pro"
base = compute_base_tick_seconds(est, tier=tier)
assert abs(min_allowed_tick_seconds(est, tier=tier) - 1.75 * base) < 1e-6