feat:精简表达选择,优化replyer表现,优化缓存命中率

This commit is contained in:
SengokuCola
2026-04-24 21:27:45 +08:00
parent 3b6d30cd5e
commit 7719353984
11 changed files with 188 additions and 142 deletions

View File

@@ -1,4 +1,9 @@
from src.common.data_models.message_component_data_model import ImageComponent, MessageSequence, TextComponent
from src.common.data_models.message_component_data_model import (
ImageComponent,
MessageSequence,
ReplyComponent,
TextComponent,
)
from src.llm_models.payload_content.message import RoleType
from src.maisaka.context_messages import _build_message_from_sequence
from src.maisaka.message_adapter import build_visible_text_from_sequence
@@ -53,3 +58,16 @@ def test_visible_text_uses_image_placeholder_for_whitespace_content() -> None:
)
assert visible_text == "看这个[图片]"
def test_visible_text_adds_body_marker_after_reply_component() -> None:
visible_text = build_visible_text_from_sequence(
MessageSequence(
[
ReplyComponent(target_message_id="75625487"),
TextComponent("你说是那就是"),
]
)
)
assert visible_text == "[引用]quote_id=75625487\n[发言内容]你说是那就是"

View File

@@ -118,11 +118,16 @@ def test_legacy_replyer_builds_message_sequence_like_multimodal() -> None:
assert len(request_messages) == 4
assert request_messages[0].role.value == "system"
assert request_messages[0].get_text_content() == "legacy prompt"
assert request_messages[1].role.value == "user"
assert request_messages[1].get_text_content() == "[Alice]你好"
assert request_messages[2].role.value == "user"
assert request_messages[2].get_text_content() == "[Bob]在吗"
assert request_messages[3].role.value == "user"
assert "当前时间:" in request_messages[3].get_text_content()
assert "【回复信息参考】" in request_messages[3].get_text_content()
assert "【最新推理】\n测试原因" in request_messages[3].get_text_content()
assert "请自然地回复。" in request_messages[3].get_text_content()
@pytest.mark.asyncio