Skip to content

Commit 30cfdbf

Browse files
authored
fix: bug in internet pydantic error (#304)
* fix: add safe guard when parsing node memory * feat: add filter as a parameter in tree-text searcher * feat: add filter for user and long-term memory * feat: add filter in working memory * add filter in task-parser * feat: only mix-retrieve for vector-recall; TODO: mix reranker * feat: add 'session_id' as an optional parameter for product api * feat: api 1.0 finish * maintain: update gitignore * maintain: update gitignore * feat: add 'type' in TextualMemory Sources * feat: add annotation to item * fix: add session_id to product add * fix: test * feat: [WIP] add filter in reranker * fix: bug in recall * feat: finish search filter in reranker * fix: product router pydantic errir * fix: internet search memory pydantic bug * fix: internet search pydantic bug * fix: internet search pydantic bug
1 parent 778c3b4 commit 30cfdbf

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from memos.embedders.factory import OllamaEmbedder
1313
from memos.log import get_logger
1414
from memos.mem_reader.base import BaseMemReader
15-
from memos.memories.textual.item import TextualMemoryItem
15+
from memos.memories.textual.item import SourceMessage, TextualMemoryItem
1616

1717

1818
logger = get_logger(__name__)
@@ -227,7 +227,7 @@ def _process_result(
227227
)
228228
read_item_i.metadata.source = "web"
229229
read_item_i.metadata.memory_type = "OuterMemory"
230-
read_item_i.metadata.sources = [url] if url else []
230+
read_item_i.metadata.sources = [SourceMessage(type="web", url=url)] if url else []
231231
read_item_i.metadata.visibility = "public"
232232
memory_items.append(read_item_i)
233233
return memory_items

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import requests
88

99
from memos.embedders.factory import OllamaEmbedder
10-
from memos.memories.textual.item import TextualMemoryItem, TreeNodeTextualMemoryMetadata
10+
from memos.memories.textual.item import (
11+
SourceMessage,
12+
TextualMemoryItem,
13+
TreeNodeTextualMemoryMetadata,
14+
)
1115

1216

1317
class GoogleCustomSearchAPI:
@@ -172,7 +176,7 @@ def retrieve_from_internet(
172176
visibility="public",
173177
memory_type="LongTermMemory", # Internet search results as working memory
174178
key=title,
175-
sources=[link] if link else [],
179+
sources=[SourceMessage(type="web", url=link)] if link else [],
176180
embedding=self.embedder.embed([memory_content])[0], # Can add embedding later
177181
created_at=datetime.now().isoformat(),
178182
usage=[],

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from memos.embedders.factory import OllamaEmbedder
1313
from memos.log import get_logger
1414
from memos.mem_reader.base import BaseMemReader
15-
from memos.memories.textual.item import TextualMemoryItem
15+
from memos.memories.textual.item import SourceMessage, TextualMemoryItem
1616

1717

1818
logger = get_logger(__name__)
@@ -333,7 +333,7 @@ def _process_result(
333333
)
334334
read_item_i.metadata.source = "web"
335335
read_item_i.metadata.memory_type = "OuterMemory"
336-
read_item_i.metadata.sources = [url] if url else []
336+
read_item_i.metadata.sources = [SourceMessage(type="web", url=url)] if url else []
337337
read_item_i.metadata.visibility = "public"
338338

339339
memory_items.append(read_item_i)

src/memos/reranker/http_bge.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def rerank(
213213
for item, raw_score in zip(graph_results, score_list, strict=False):
214214
score = self._apply_boost_generic(item, raw_score, search_filter)
215215
scored_items.append((item, score))
216+
216217
scored_items.sort(key=lambda x: x[1], reverse=True)
217218
return scored_items[: min(top_k, len(scored_items))]
218219

0 commit comments

Comments
 (0)