diff --git a/benchmark/halumem/eval_reme.py b/benchmark/halumem/eval_reme.py index 9b3ab7e7..a68ac3b2 100644 --- a/benchmark/halumem/eval_reme.py +++ b/benchmark/halumem/eval_reme.py @@ -105,7 +105,7 @@ class FileManager: def __init__(self, base_dir: str): self.base_dir = Path(base_dir) - self.tmp_dir = self.base_dir / "tmp" + self.tmp_dir = self.base_dir self.tmp_dir.mkdir(parents=True, exist_ok=True) def get_user_dir(self, user_name: str) -> Path: @@ -829,8 +829,8 @@ if __name__ == "__main__": parser.add_argument( "--eval_model_name", type=str, - # default="qwen3-max", - default="qwen3-235b-a22b-instruct-2507", + default="qwen3-max", + # default="qwen3-235b-a22b-instruct-2507", help="Model name for evaluation (default: qwen3-max)" ) diff --git a/reme/agent/memory/default/personal_retriever.py b/reme/agent/memory/default/personal_retriever.py index 895a7d26..5b2fa88c 100644 --- a/reme/agent/memory/default/personal_retriever.py +++ b/reme/agent/memory/default/personal_retriever.py @@ -79,7 +79,7 @@ class PersonalRetriever(BaseMemoryAgent): ref_memory_id_key="", ) for n in self.retrieved_nodes - ] + ], ) result["retrieved_nodes"] = self.retrieved_nodes diff --git a/reme/agent/memory/default/personal_summarizer.yaml b/reme/agent/memory/default/personal_summarizer.yaml index 45708fbf..f30dabf6 100644 --- a/reme/agent/memory/default/personal_summarizer.yaml +++ b/reme/agent/memory/default/personal_summarizer.yaml @@ -6,19 +6,28 @@ system_prompt_s1: | {context} ## Task - ### Step 1 + ### Step 1: Create Memory Draft Create a memory draft in `add_draft_and_retrieve_similar_memory` based on the latest conversation. - Use actual names from the conversation (e.g., "Bob likes apples") instead of generic references (e.g., "user likes apples"). Always record memories with real names. - The tool will retrieve similar historical memories via vector search to help you consolidate the memory store in Step 2. + - Use actual names from the conversation (e.g., "Bob likes apples") instead of generic references (e.g., "user likes apples") + - Always record memories with real names + - The tool will retrieve similar historical memories via vector search to help you consolidate in Step 2 - ### Step 2 - Update the vector store using `update_memory`. - Remove redundant memories via `memory_ids_to_delete` and add new ones via `memories_to_add` with their message_time and memory_content. - Requirements: - - Extract only what's explicitly stated in the conversation—no inferences, assumptions, or fabrications. - - Preserve all relevant historical and new memories, capturing how things change over time within the same topic. - - Keep the memory store well-organized: group related memories together and eliminate redundancy. - - **CAUTION on memory_ids_to_delete**: Only delete memories that are truly redundant or completely superseded by new memories. + ### Step 2: Update Memory Store + Update the vector store using `update_memory` to keep it well-organized and consolidated: + + **What to Delete** (via `memory_ids_to_delete`): + - Duplicate memories with identical or highly similar content + - Memories that should be merged into a single consolidated entry + + **What to Add** (via `memories_to_add` with message_time and memory_content): + - For each topic with changes: add ONE consolidated memory that merges related information + - New distinct memories that don't overlap with existing ones + - Updated memories that capture the latest state while preserving temporal evolution + + ## Requirements + - Extract only what's explicitly stated—no inferences, assumptions, or fabrications + - Preserve temporal evolution: capture how things change over time within the same topic + - Maintain organization: group related memories by topic and eliminate all redundancy user_message_s1: | Complete the task by following Step 1 and Step 2 in order @@ -31,17 +40,26 @@ system_prompt_s2: | {context} ## Task - ### Step 1 + ### Step 1: Create Profile Draft Create a profile draft in `add_draft_and_read_all_profiles` based on the latest conversation. - The tool will return all existing profiles to help you maintain the profile store in Step 2. + - The tool will return all existing profiles to help you maintain the profile store in Step 2 - ### Step 2 - Update the profile store using `update_profile`. - Remove conflicting or redundant entries profiles via `profile_ids_to_delete` and add new ones via `profiles_to_add` with their message_time, profile_key, and profile_value. - Requirements: - - Extract only what's explicitly stated in the conversation—no inferences, assumptions, or fabrications. - - Keep the profile store well-organized: group related profiles together and eliminate duplicates. - - **CAUTION on profile_ids_to_delete**: Only delete profiles that are explicitly contradicted. + ### Step 2: Update Profile Store + Update the profile store using `update_profile` to keep it well-organized and consolidated: + + **What to Delete** (via `profile_ids_to_delete`): + - Duplicate profiles with identical keys or values + - Conflicting profiles that contradict the new information + - Profiles that should be merged into a single consolidated entry + + **What to Add** (via `profiles_to_add` with message_time, profile_key, and profile_value): + - For each profile key with changes: add ONE consolidated profile that merges related information + - New distinct profiles that don't overlap with existing ones + - Updated profiles that capture the latest state + + ## Requirements + - Extract only what's explicitly stated—no inferences, assumptions, or fabrications + - Maintain organization: group related profiles by key and eliminate all redundancy user_message_s2: | Complete the task by following Step 1 and Step 2 in order