feat:统一replyer在是否多模态下的表现,提高一致性和通用性,新增模型visual参数

This commit is contained in:
SengokuCola
2026-04-11 16:41:00 +08:00
parent 3ea2bf1059
commit c0230fc313
20 changed files with 323 additions and 1802 deletions

View File

@@ -0,0 +1,18 @@
from src.llm_models.payload_content.message import MessageBuilder, RoleType
from src.plugin_runtime.hook_payloads import deserialize_prompt_messages, serialize_prompt_messages
def test_prompt_messages_roundtrip_preserves_image_parts() -> None:
messages = [
MessageBuilder().set_role(RoleType.User).add_text_content("你好").add_image_content("png", "ZmFrZQ==").build(),
]
serialized_messages = serialize_prompt_messages(messages)
restored_messages = deserialize_prompt_messages(serialized_messages)
assert len(restored_messages) == 1
assert restored_messages[0].role == RoleType.User
assert restored_messages[0].get_text_content() == "你好"
assert len(restored_messages[0].parts) == 2
assert restored_messages[0].parts[1].image_format == "png"
assert restored_messages[0].parts[1].image_base64 == "ZmFrZQ=="