Skip to content

Commit d76d56c

Browse files
fridayLCaralHsi
andauthored
feat: add bs params (#679)
* feat: update memos headers * feat: headers add * feat: update search agent * feat: upadte mem story * feat: update mem scehduler * feat: update deepsearch mem code * feat: update deepsearch agent * feat: update test code * fix: remove dup config * feat: dock search pipeline * fix: code test * feat: add test scripts * feat: add test * feat: update need_raw process * fix: add initter * fix: change agent search func name * feat: update logs and defined * feat: update full text mem search * feat: cp plugin to dev * feat: add one recall for fulltext retrieval * fix: set default for fulltext search * feat: add langchain chunk * feat: fix playground for query * feat: update file content memory extract * feat: update code * feat: update import * code: reformat suffix * feat: update file_id * remove langchain-text-splitters==1.0.0 * feat: add reqiuement * feat: make test * feat: fix markdown * feat: fix simple chunker * feat: add file sources * feat: add concat doc source * add: file_info * remove:macos-13 * feat: fix ffideids * fix: fix filed ids data * feat: add set batch insert memory * feat: add bs for memory --------- Co-authored-by: CaralHsi <[email protected]>
1 parent 2e6c0aa commit d76d56c

File tree

1 file changed

+23
-12
lines changed
  • src/memos/memories/textual/tree_text_memory/organize

1 file changed

+23
-12
lines changed

src/memos/memories/textual/tree_text_memory/organize/manager.py

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,18 @@ def _add_memories_parallel(
134134
return added_ids
135135

136136
def _add_memories_batch(
137-
self, memories: list[TextualMemoryItem], user_name: str | None = None
137+
self, memories: list[TextualMemoryItem], user_name: str | None = None, batch_size: int = 10
138138
) -> list[str]:
139139
"""
140140
Add memories using batch database operations (more efficient for large batches).
141+
142+
Args:
143+
memories: List of memory items to add.
144+
user_name: Optional user name for the memories.
145+
batch_size: Number of nodes to insert per batch.
146+
147+
Returns:
148+
List of added graph memory node IDs.
141149
"""
142150
if not memories:
143151
return []
@@ -150,7 +158,6 @@ def _add_memories_batch(
150158
for memory in memories:
151159
working_id = str(uuid.uuid4())
152160

153-
# Prepare WorkingMemory node (skip for ToolSchemaMemory and ToolTrajectoryMemory)
154161
if memory.metadata.memory_type not in ("ToolSchemaMemory", "ToolTrajectoryMemory"):
155162
working_metadata = memory.metadata.model_copy(
156163
update={"memory_type": "WorkingMemory"}
@@ -163,8 +170,6 @@ def _add_memories_batch(
163170
"metadata": working_metadata,
164171
}
165172
)
166-
167-
# Prepare graph memory node (LongTermMemory/UserMemory/ToolSchemaMemory/ToolTrajectoryMemory)
168173
if memory.metadata.memory_type in (
169174
"LongTermMemory",
170175
"UserMemory",
@@ -194,20 +199,26 @@ def _add_memories_batch(
194199
graph_node_ids.append(graph_node_id)
195200
added_ids.append(graph_node_id)
196201

197-
# Batch insert nodes
198-
if working_nodes:
202+
for i in range(0, len(working_nodes), batch_size):
203+
batch = working_nodes[i : i + batch_size]
199204
try:
200-
self.graph_store.add_nodes_batch(working_nodes, user_name=user_name)
205+
self.graph_store.add_nodes_batch(batch, user_name=user_name)
201206
except Exception as e:
202-
logger.exception("Batch add WorkingMemory nodes error: ", exc_info=e)
207+
logger.exception(
208+
f"Batch add WorkingMemory nodes error (batch {i // batch_size + 1}): ",
209+
exc_info=e,
210+
)
203211

204-
if graph_nodes:
212+
for i in range(0, len(graph_nodes), batch_size):
213+
batch = graph_nodes[i : i + batch_size]
205214
try:
206-
self.graph_store.add_nodes_batch(graph_nodes, user_name=user_name)
215+
self.graph_store.add_nodes_batch(batch, user_name=user_name)
207216
except Exception as e:
208-
logger.exception("Batch add graph memory nodes error: ", exc_info=e)
217+
logger.exception(
218+
f"Batch add graph memory nodes error (batch {i // batch_size + 1}): ",
219+
exc_info=e,
220+
)
209221

210-
# Notify reorganizer (only if enabled)
211222
if graph_node_ids and self.is_reorganize:
212223
self.reorganizer.add_message(QueueMessage(op="add", after_node=graph_node_ids))
213224

0 commit comments

Comments
 (0)