feat(provider): support custom prompts for model tests (#242)

This commit is contained in:
RWDai
2026-03-19 13:11:54 +08:00
committed by GitHub
parent b570aaac48
commit ddd6adbcf7
8 changed files with 164 additions and 46 deletions

View File

@@ -5,11 +5,13 @@ from pydantic import ValidationError
from src.api.admin.provider_query import TestModelFailoverRequest as FailoverRequestModel
from src.api.admin.provider_query import (
DEFAULT_MODEL_TEST_MESSAGE,
_build_direct_test_candidates,
_build_test_attempts_from_candidate_keys,
_filter_test_candidates_by_endpoint,
_flatten_test_candidates_for_concurrency,
_require_test_endpoint_base_url,
_resolve_test_message,
_resolve_test_effective_model,
)
from src.services.scheduling.schemas import PoolCandidate
@@ -151,6 +153,16 @@ def test_test_model_failover_request_validates_concurrency_range() -> None:
)
def test_resolve_test_message_uses_default_for_blank_input() -> None:
assert _resolve_test_message(None) == DEFAULT_MODEL_TEST_MESSAGE
assert _resolve_test_message("") == DEFAULT_MODEL_TEST_MESSAGE
assert _resolve_test_message(" ") == DEFAULT_MODEL_TEST_MESSAGE
def test_resolve_test_message_preserves_custom_input() -> None:
assert _resolve_test_message(" custom prompt ") == "custom prompt"
def test_require_test_endpoint_base_url_rejects_non_string() -> None:
endpoint = SimpleNamespace(id="ep-bad", api_format="claude:chat", base_url={"url": "https://x"})