Skip to content

Commit e41d74c

Browse files
authored
Merge branch 'dev' into feat/fix_palyground_bug
2 parents f2217d3 + 2f10198 commit e41d74c

File tree

8 files changed

+49
-6
lines changed

8 files changed

+49
-6
lines changed

docker/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ click==8.2.1
1515
cobble==0.1.4
1616
colorama==0.4.6
1717
coloredlogs==15.0.1
18+
concurrent-log-handler==0.9.28
1819
cryptography==45.0.5
1920
cyclopts==3.22.2
2021
defusedxml==0.7.1

poetry.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
##############################################################################
55

66
name = "MemoryOS"
7-
version = "1.1.3"
7+
version = "2.0.0"
88
description = "Intelligence Begins with Memory"
99
license = {text = "Apache-2.0"}
1010
readme = "README.md"

src/memos/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "1.1.3"
1+
__version__ = "2.0.0"
22

33
from memos.configs.mem_cube import GeneralMemCubeConfig
44
from memos.configs.mem_os import MOSConfig

src/memos/api/handlers/component_init.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ def init_server() -> dict[str, Any]:
204204
)
205205

206206
logger.debug("Memory manager initialized")
207-
208207
tokenizer = FastTokenizer()
209208
# Initialize text memory
210209
text_mem = SimpleTreeTextMemory(

src/memos/memories/textual/tree_text_memory/retrieve/recall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ def _vector_recall(
318318
query_embedding: list[list[float]],
319319
memory_scope: str,
320320
top_k: int = 20,
321-
max_num: int = 5,
321+
max_num: int = 20,
322322
status: str = "activated",
323323
cube_name: str | None = None,
324324
search_filter: dict | None = None,

src/memos/memories/textual/tree_text_memory/retrieve/retrieve_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from pathlib import Path
55
from typing import Any
66

7+
78
import numpy as np
89

910
from memos.dependency import require_python_package

src/memos/memories/textual/tree_text_memory/retrieve/searcher.py

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,49 @@ def _parse_task(
284284

285285
return parsed_goal, query_embedding, context, query
286286

287+
@timed
288+
def _retrieve_simple(
289+
self,
290+
query: str,
291+
top_k: int,
292+
search_filter: dict | None = None,
293+
user_name: str | None = None,
294+
**kwargs,
295+
):
296+
"""Retrieve from by keywords and embedding"""
297+
query_words = []
298+
if self.tokenizer:
299+
query_words = self.tokenizer.tokenize_mixed(query)
300+
else:
301+
query_words = query.strip().split()
302+
query_words = [query, *query_words]
303+
logger.info(f"[SIMPLESEARCH] Query words: {query_words}")
304+
query_embeddings = self.embedder.embed(query_words)
305+
306+
items = self.graph_retriever.retrieve_from_mixed(
307+
top_k=top_k * 2,
308+
memory_scope=None,
309+
query_embedding=query_embeddings,
310+
search_filter=search_filter,
311+
user_name=user_name,
312+
use_fast_graph=self.use_fast_graph,
313+
)
314+
logger.info(f"[SIMPLESEARCH] Items count: {len(items)}")
315+
documents = [getattr(item, "memory", "") for item in items]
316+
documents_embeddings = self.embedder.embed(documents)
317+
similarity_matrix = cosine_similarity_matrix(documents_embeddings)
318+
selected_indices, _ = find_best_unrelated_subgroup(documents, similarity_matrix)
319+
selected_items = [items[i] for i in selected_indices]
320+
logger.info(
321+
f"[SIMPLESEARCH] after unrelated subgroup selection items count: {len(selected_items)}"
322+
)
323+
return self.reranker.rerank(
324+
query=query,
325+
query_embedding=query_embeddings[0],
326+
graph_results=selected_items,
327+
top_k=top_k,
328+
)
329+
287330
@timed
288331
def _retrieve_paths(
289332
self,
@@ -367,7 +410,6 @@ def _retrieve_paths(
367410
mode=mode,
368411
)
369412
)
370-
371413
results = []
372414
for t in tasks:
373415
results.extend(t.result())

0 commit comments

Comments
 (0)