increase xiaoniu prompt context window to 30 messages

This commit is contained in:
liuwei
2026-04-07 12:21:51 +08:00
parent 1996df7b99
commit faa5d68eb0
2 changed files with 6 additions and 3 deletions

View File

@@ -4,6 +4,9 @@ from typing import Dict, List
class ContextBuilder:
def __init__(self, recent_context_size: int = 30):
self.recent_context_size = max(int(recent_context_size or 30), 1)
def build(
self,
*,
@@ -20,7 +23,7 @@ class ContextBuilder:
vector_memories: List[Dict],
) -> Dict:
recent_lines = []
for item in recent_messages[-8:]:
for item in recent_messages[-self.recent_context_size:]:
msg_sender = item.get("sender_name") or item.get("sender") or "未知成员"
msg_content = item.get("content") or item.get("message") or ""
if msg_content:

View File

@@ -87,7 +87,7 @@ class AIAutoResponsePlugin(MessagePluginInterface):
merged_memory_config.update(self._config.get("memory", {}) or {})
self.memory_store = MemoryStore(self.db_manager, merged_memory_config)
self.vector_memory = VectorMemoryStore(self._config.get("memory", {}) or {})
self.context_builder = ContextBuilder()
self.context_builder = ContextBuilder(int((self._config.get("mode", {}) or {}).get("recent_context_size", 30)))
self.response_planner = ResponsePlanner()
self.llm_client = LLMClient(self._config.get("api", {}) or {})
self.filters = self._config.get("filters", {}) or {}
@@ -344,7 +344,7 @@ class AIAutoResponsePlugin(MessagePluginInterface):
return (current_ts - last_room_reply) >= room_cd
def _build_user_prompt(self, context: Dict, memory_hints: Dict) -> str:
recent_text = "\n".join(context.get("recent_messages", [])[-8:]) or "暂无"
recent_text = "\n".join(context.get("recent_messages", [])) or "暂无"
reply_mode = context.get("reply_mode", "social_short")
length_rule = self._build_length_rule(reply_mode)
return (