increase xiaoniu prompt context window to 30 messages
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user