use latest group image for xiaoniu image followups
This commit is contained in:
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user