Skip to content

Commit b6834d3

Browse files
committed
change the consume interval from 3 to 0.5 seconds, and refactor the code structure of temporal locomo.
1 parent 4cca56a commit b6834d3

File tree

10 files changed

+33
-31
lines changed

10 files changed

+33
-31
lines changed

evaluation/__init__.py

Whitespace-only changes.

evaluation/scripts/__init__.py

Whitespace-only changes.

evaluation/scripts/temporal_locomo/models/__init__.py

Whitespace-only changes.

evaluation/scripts/temporal_locomo/locomo_eval.py renamed to evaluation/scripts/temporal_locomo/models/locomo_eval.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
from bert_score import score as bert_score
1111
from dotenv import load_dotenv
12-
from modules.locomo_eval_module import LocomoEvalModelModules
1312
from nltk.translate.bleu_score import SmoothingFunction, sentence_bleu
1413
from nltk.translate.meteor_score import meteor_score
1514
from openai import AsyncOpenAI
@@ -19,6 +18,7 @@
1918
from sentence_transformers import SentenceTransformer
2019
from tqdm import tqdm
2120

21+
from evaluation.scripts.temporal_locomo.modules.locomo_eval_module import LocomoEvalModelModules
2222
from memos.log import get_logger
2323

2424

evaluation/scripts/temporal_locomo/locomo_ingestion.py renamed to evaluation/scripts/temporal_locomo/models/locomo_ingestion.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
from datetime import datetime, timezone
77
from pathlib import Path
88

9-
from modules.constants import (
9+
from tqdm import tqdm
10+
11+
from evaluation.scripts.temporal_locomo.modules.constants import (
1012
MEM0_GRAPH_MODEL,
1113
MEM0_MODEL,
1214
MEMOS_MODEL,
1315
MEMOS_SCHEDULER_MODEL,
1416
ZEP_MODEL,
1517
)
16-
from modules.locomo_eval_module import LocomoEvalModelModules
17-
from tqdm import tqdm
18-
18+
from evaluation.scripts.temporal_locomo.modules.locomo_eval_module import LocomoEvalModelModules
1919
from memos.log import get_logger
2020

2121

evaluation/scripts/temporal_locomo/locomo_metric.py renamed to evaluation/scripts/temporal_locomo/models/locomo_metric.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import numpy as np
55
import pandas as pd
66

7-
from modules.locomo_eval_module import LocomoEvalModelModules
7+
from evaluation.scripts.temporal_locomo.modules.locomo_eval_module import LocomoEvalModelModules
88

99

1010
# Category mapping as per your request

evaluation/scripts/temporal_locomo/locomo_processor.py renamed to evaluation/scripts/temporal_locomo/models/locomo_processor.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@
77
from time import time
88

99
from dotenv import load_dotenv
10-
from modules.constants import (
10+
11+
from evaluation.scripts.temporal_locomo.modules.constants import (
1112
MEMOS_SCHEDULER_MODEL,
1213
)
13-
from modules.locomo_eval_module import LocomoEvalModelModules
14-
from modules.prompts import (
14+
from evaluation.scripts.temporal_locomo.modules.locomo_eval_module import LocomoEvalModelModules
15+
from evaluation.scripts.temporal_locomo.modules.prompts import (
1516
SEARCH_PROMPT_MEM0,
1617
SEARCH_PROMPT_MEM0_GRAPH,
1718
SEARCH_PROMPT_MEMOS,
1819
SEARCH_PROMPT_ZEP,
1920
)
20-
from modules.schemas import ContextUpdateMethod, RecordingCase
21-
from modules.utils import save_evaluation_cases
22-
21+
from evaluation.scripts.temporal_locomo.modules.schemas import ContextUpdateMethod, RecordingCase
22+
from evaluation.scripts.temporal_locomo.modules.utils import save_evaluation_cases
2323
from memos.log import get_logger
2424

2525

evaluation/scripts/temporal_locomo/temporal_locomo_eval.py

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
from pathlib import Path
77

8-
from locomo_eval import LocomoEvaluator
9-
from locomo_ingestion import LocomoIngestor
10-
from locomo_metric import LocomoMetric
11-
from locomo_processor import LocomoProcessor
128
from modules.locomo_eval_module import LocomoEvalModelModules
139
from modules.schemas import ContextUpdateMethod
1410
from modules.utils import compute_can_answer_count_by_pre_evidences
1511

12+
from evaluation.scripts.temporal_locomo.models.locomo_eval import LocomoEvaluator
13+
from evaluation.scripts.temporal_locomo.models.locomo_ingestion import LocomoIngestor
14+
from evaluation.scripts.temporal_locomo.models.locomo_metric import LocomoMetric
15+
from evaluation.scripts.temporal_locomo.models.locomo_processor import LocomoProcessor
1616
from memos.log import get_logger
1717

1818

@@ -33,7 +33,7 @@ def __init__(self, args):
3333
self.locomo_evaluator = LocomoEvaluator(args=args)
3434
self.locomo_metric = LocomoMetric(args=args)
3535

36-
def run_eval_pipeline(self):
36+
def run_eval_pipeline(self, skip_ingestion=True, skip_processing=False):
3737
"""
3838
Run the complete evaluation pipeline including dataset conversion,
3939
data ingestion, and processing.
@@ -53,20 +53,22 @@ def run_eval_pipeline(self):
5353
print(f"Temporal locomo dataset found at {temporal_locomo_file}, skipping conversion.")
5454

5555
# Step 2: Data ingestion
56-
print("\n" + "=" * 50)
57-
print("Step 2: Data Ingestion")
58-
print("=" * 50)
59-
self.locomo_ingestor.run_ingestion()
56+
if not skip_ingestion:
57+
print("\n" + "=" * 50)
58+
print("Step 2: Data Ingestion")
59+
print("=" * 50)
60+
self.locomo_ingestor.run_ingestion()
6061

6162
# Step 3: Processing and evaluation
62-
print("\n" + "=" * 50)
63-
print("Step 3: Processing and Evaluation")
64-
print("=" * 50)
65-
print("Running locomo processing to search and answer...")
66-
67-
print("Starting locomo processing to generate search and response results...")
68-
self.locomo_processor.run_locomo_processing(num_users=self.num_of_users)
69-
print("Processing completed successfully.")
63+
if not skip_processing:
64+
print("\n" + "=" * 50)
65+
print("Step 3: Processing and Evaluation")
66+
print("=" * 50)
67+
print("Running locomo processing to search and answer...")
68+
69+
print("Starting locomo processing to generate search and response results...")
70+
self.locomo_processor.run_locomo_processing(num_users=self.num_of_users)
71+
print("Processing completed successfully.")
7072

7173
# Optional: run post-hoc evaluation over generated responses if available
7274
try:

src/memos/configs/mem_scheduler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class BaseSchedulerConfig(BaseConfig):
3030
lt=20,
3131
description=f"Maximum worker threads in pool (default: {DEFAULT_THREAD__POOL_MAX_WORKERS})",
3232
)
33-
consume_interval_seconds: int = Field(
33+
consume_interval_seconds: float = Field(
3434
default=DEFAULT_CONSUME_INTERVAL_SECONDS,
3535
gt=0,
3636
le=60,

src/memos/mem_scheduler/schemas/general_schemas.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
DEFAULT_ACTIVATION_MEM_MONITOR_SIZE_LIMIT = 20
1919
DEFAULT_ACT_MEM_DUMP_PATH = f"{BASE_DIR}/outputs/mem_scheduler/mem_cube_scheduler_test.kv_cache"
2020
DEFAULT_THREAD__POOL_MAX_WORKERS = 5
21-
DEFAULT_CONSUME_INTERVAL_SECONDS = 3
21+
DEFAULT_CONSUME_INTERVAL_SECONDS = 0.5
2222
NOT_INITIALIZED = -1
2323

2424

0 commit comments

Comments
 (0)