diff --git a/evalharness/cli.py b/evalharness/cli.py index 0bc253a..d1f9f61 100644 --- a/evalharness/cli.py +++ b/evalharness/cli.py @@ -546,6 +546,10 @@ def _compose_judge_spec(args): url = getattr(args, 'judge_api_url', '') or '' provider = getattr(args, 'judge_provider', 'openai-chat') or 'openai-chat' internal = {'openai-chat': 'openai', 'openai-pool': 'openai-pool'}.get(provider, provider) + if judge and not url and '/' not in judge: + raise SystemExit( + f'--judge-model {judge!r} needs --judge-api-url (or pass a full ' + f'spec like openai/http://host:8000/v1?{judge})') if url and judge and '/' not in judge: judge = f'{internal}/{url.rstrip("/")}?{judge}' return judge or None @@ -640,6 +644,10 @@ def _compose_judge_spec(args): url = getattr(args, 'judge_api_url', '') or '' provider = getattr(args, 'judge_provider', 'openai-chat') or 'openai-chat' internal = {'openai-chat': 'openai', 'openai-pool': 'openai-pool'}.get(provider, provider) + if judge and not url and '/' not in judge: + raise SystemExit( + f'--judge-model {judge!r} needs --judge-api-url (or pass a full ' + f'spec like openai/http://host:8000/v1?{judge})') if url and judge and '/' not in judge: judge = f'{internal}/{url.rstrip("/")}?{judge}' return judge or None