Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -674,6 +674,8 @@ def _retrieve_simple(
)
logger.info(f"[SIMPLESEARCH] Items count: {len(items)}")
documents = [getattr(item, "memory", "") for item in items]
if not documents:
return []
documents_embeddings = self.embedder.embed(documents)
similarity_matrix = cosine_similarity_matrix(documents_embeddings)
selected_indices, _ = find_best_unrelated_subgroup(documents, similarity_matrix)
Expand Down
5 changes: 3 additions & 2 deletions src/memos/multi_mem_cube/composite_cube.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from __future__ import annotations

from concurrent.futures import ThreadPoolExecutor, as_completed
from concurrent.futures import as_completed
from dataclasses import dataclass
from typing import TYPE_CHECKING, Any

from memos.context.context import ContextThreadPoolExecutor
from memos.multi_mem_cube.views import MemCubeView


Expand Down Expand Up @@ -52,7 +53,7 @@ def _search_single_cube(view: SingleCubeView) -> dict[str, Any]:
return view.search_memories(search_req)

# parallel search for each cube
with ThreadPoolExecutor(max_workers=2) as executor:
with ContextThreadPoolExecutor(max_workers=2) as executor:
future_to_view = {
executor.submit(_search_single_cube, view): view for view in self.cube_views
}
Expand Down