use latest group image for xiaoniu image followups

This commit is contained in:
liuwei
2026-04-07 14:00:08 +08:00
parent 7c12738967
commit acf3177571
4 changed files with 91 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ class ContextBuilder:
reply_mode: str,
vector_memories: List[Dict],
quote_context: Dict | None = None,
image_context: Dict | None = None,
) -> Dict:
recent_lines = []
for item in recent_messages[-self.recent_context_size:]:
@@ -45,6 +46,7 @@ class ContextBuilder:
"vector_memory_prompt": self._build_vector_memory_prompt(vector_memories),
"group_profile_prompt": self._build_group_profile_prompt(group_profile or {}),
"quote_prompt": self._build_quote_prompt(quote_context or {}),
"image_prompt": self._build_image_prompt(image_context or {}),
"current_message": f"{sender_name}: {content}",
}
@@ -136,3 +138,14 @@ class ContextBuilder:
f"被引用内容:{quote_body}" if quote_body else "",
]
return "\n".join([line for line in lines if line])
@staticmethod
def _build_image_prompt(image_context: Dict) -> str:
if not image_context:
return ""
lines = [
"已附带最近一张群图片作为上下文。",
f"图片发送者:{image_context.get('sender_name', '未知成员')}",
f"图片说明:{image_context.get('hint', '')}" if image_context.get("hint") else "",
]
return "\n".join([line for line in lines if line])