Skip to content

Commit a7f5b77

Browse files
authored
Merge branch 'dev' into dev
2 parents b35096f + 0b31448 commit a7f5b77

File tree

7 files changed

+48
-5
lines changed

7 files changed

+48
-5
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.

src/memos/api/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ def get_internet_config() -> dict[str, Any]:
471471
return {
472472
"backend": "bocha",
473473
"config": {
474-
"api_key": os.getenv("BOCHA_API_KEY"),
474+
"api_key": os.getenv("BOCHA_API_KEY", "bocha"),
475475
"max_results": 15,
476476
"num_per_request": 10,
477477
"reader": {

src/memos/api/handlers/component_init.py

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

202202
logger.debug("Memory manager initialized")
203-
204203
tokenizer = FastTokenizer()
205204
# Initialize text memory
206205
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)