improve image gen prompt
Build and Push Container / build-and-push (push) Successful in 1m5s

This commit is contained in:
2026-08-17 12:54:31 -04:00
parent b740d00b5d
commit 7f0c5fbd80
2 changed files with 99 additions and 10 deletions
+46
View File
@@ -1018,6 +1018,52 @@ def test_parse_image_layout_defaults_to_square(response: str) -> None:
assert main_module.parse_image_layout(response) == "square"
def test_image_prompt_system_prompt_covers_key_details() -> None:
"""The prompt-rewrite system prompt forces explicit detail on all aspects."""
import vibe_bot.main as main_module
prompt = main_module.IMAGE_PROMPT_SYSTEM_PROMPT_TEMPLATE.format(layout="square")
lowered = prompt.lower()
assert "square" in prompt
assert "exact text" in lowered
assert "composition" in lowered
assert "style" in lowered
assert "canada goose" in lowered
assert "only the image generation prompt" in lowered
def test_doodlebob_prompt_rewrite_uses_detailed_system_prompt(
mock_ctx: MagicMock,
mock_llama_wrapper: MagicMock,
mock_base64: MagicMock,
mock_database: MagicMock,
) -> None:
"""The prompt rewrite call uses the detailed system prompt with the layout."""
import asyncio
import vibe_bot.main as main_module
mock_llama_wrapper.chat_completion_instruct.side_effect = [
"landscape", # layout selection
"a very detailed prompt", # prompt rewrite
]
mock_llama_wrapper.image_generation.return_value = "aW1hZ2U="
mock_database.get_image_generation_time_estimate.return_value = None
with patch.object(main_module, "LAYOUT_SIZES", LAYOUT_TEST_SIZES):
asyncio.run(main_module.doodlebob(mock_ctx, message="a scene"))
rewrite_call = mock_llama_wrapper.chat_completion_instruct.call_args_list[1]
expected = main_module.IMAGE_PROMPT_SYSTEM_PROMPT_TEMPLATE.format(
layout="landscape"
)
assert rewrite_call.kwargs["system_prompt"] == expected
assert rewrite_call.kwargs["user_prompt"] == "a scene"
assert mock_llama_wrapper.image_generation.call_args.kwargs["prompt"] == (
"a very detailed prompt"
)
def test_doodlebob_selects_portrait(
mock_ctx: MagicMock,
mock_llama_wrapper: MagicMock,