feat(product-suite): improve multi-image AI writing

This commit is contained in:
chengma
2026-07-17 10:15:34 +08:00
parent fa97fa6d3c
commit 335c4b6206
7 changed files with 29 additions and 10 deletions
+8
View File
@@ -494,6 +494,7 @@ class AITests(TempDirMixin, unittest.TestCase):
self.assertEqual(231, result["metadata"]["points_balance"])
self.assertNotIn("image_base64", result)
self.assertEqual("POST", calls[0][0])
self.assertEqual(1, len(calls))
self.assertEqual(
"https://cmhub.example.com/api/v1/analyze/images",
calls[0][1],
@@ -504,6 +505,13 @@ class AITests(TempDirMixin, unittest.TestCase):
self.assertTrue(payload["images"][0]["image_base64"].startswith("data:image/png;base64,"))
self.assertTrue(payload["images"][1]["image_base64"].startswith("data:image/jpeg;base64,"))
self.assertEqual({"temperature": 0.2}, payload["parameters"])
prompt = payload["prompt"]
self.assertIn("同一个商品项目", prompt)
self.assertIn("一组证据", prompt)
self.assertIn("禁止输出“图1/图2/第N张”", prompt)
self.assertIn("商品概述、可确认卖点、适用人群与场景、套图画面要求", prompt)
self.assertIn("待确认或避免编造的信息", prompt)
self.assertIn("可见差异", prompt)
self.assertEqual((3, ai.CMHUB_VISION_READ_TIMEOUT_SECONDS), calls[0][2]["timeout"])
self.assert_removed(temp_dir)
+2 -1
View File
@@ -933,7 +933,7 @@ class ProductSuiteGuiTests(TempDirMixin, unittest.TestCase):
self.assert_removed(temp_dir)
def test_ai_write_uses_first_eight_originals_in_source_order(self):
def test_ai_write_uses_first_eight_originals_in_source_order_regardless_of_checks(self):
with self.make_temp_dir() as temp_dir:
config = self._config(temp_dir)
project, assets = self._create_project_with_assets(temp_dir, config, 9)
@@ -945,6 +945,7 @@ class ProductSuiteGuiTests(TempDirMixin, unittest.TestCase):
state.project_id = project.id
state.project_binding_state = project.binding_state
tab._load_state(state)
tab.original_list.set_checked_asset_ids([assets[-1].id])
captured = {}
class _Signal: