Skip to content

Commit ef01772

Browse files
authored
FIX: CLI display underlying model (#2215)
1 parent 27d20ee commit ef01772

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

pyrit/output/scenario_result/pretty.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,11 @@ async def render_async(self, result: ScenarioResult) -> str:
170170
lines.append(self._format_colored(f"{self._indent}🎯 Target Information", Style.BRIGHT))
171171
target_id = result.objective_target_identifier
172172
target_type = target_id.class_name if target_id else "Unknown"
173-
target_model = target_id.params.get("model_name", "Unknown") if target_id else "Unknown"
173+
target_model = (
174+
(target_id.params.get("underlying_model_name") or target_id.params.get("model_name") or "Unknown")
175+
if target_id
176+
else "Unknown"
177+
)
174178
target_endpoint = target_id.params.get("endpoint", "Unknown") if target_id else "Unknown"
175179

176180
lines.append(self._format_colored(f"{self._indent * 2}• Target Type: {target_type}", Fore.CYAN))

tests/unit/output/scenario_result/test_pretty.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,25 @@ async def test_write_async_with_unknown_target_when_no_params(printer, capsys):
9696
assert "Target Endpoint: Unknown" in out
9797

9898

99+
async def test_write_async_prefers_underlying_model_over_deployment_name(printer, capsys):
100+
result = _scenario_result(
101+
target_params={"model_name": "pyrit-github-gpt4", "underlying_model_name": "gpt-4o"},
102+
)
103+
await printer.write_async(result)
104+
out = capsys.readouterr().out
105+
assert "Target Model: gpt-4o" in out
106+
assert "pyrit-github-gpt4" not in out
107+
108+
109+
async def test_write_async_falls_back_to_model_name_without_underlying_model(printer, capsys):
110+
result = _scenario_result(
111+
target_params={"model_name": "pyrit-github-gpt4"},
112+
)
113+
await printer.write_async(result)
114+
out = capsys.readouterr().out
115+
assert "Target Model: pyrit-github-gpt4" in out
116+
117+
99118
async def test_write_async_renders_scorer_section_when_scorer_identifier_present(printer, monkeypatch, capsys):
100119
# Stub the scorer printer's render_async so we don't depend on real evaluation data.
101120
async def fake_render_async(*, scorer_identifier, harm_category=None):

0 commit comments

Comments
 (0)