diff --git a/reme_ai/core/embedding/base_embedding_model.py b/reme_ai/core/embedding/base_embedding_model.py index 83246f7b..90e95978 100644 --- a/reme_ai/core/embedding/base_embedding_model.py +++ b/reme_ai/core/embedding/base_embedding_model.py @@ -42,7 +42,7 @@ class BaseEmbeddingModel(ABC): """Truncate text to max_input_length if it exceeds the limit.""" if len(text) > self.max_input_length: logger.warning( - f"Text length {len(text)} exceeds max_input_length {self.max_input_length}, truncating" + f"Text length {len(text)} exceeds max_input_length {self.max_input_length}, truncating", ) return text[: self.max_input_length] return text @@ -77,7 +77,7 @@ class BaseEmbeddingModel(ABC): """Async get embeddings with automatic batching and exponential backoff retries.""" # Truncate all input texts first truncated_texts = self._truncate_texts(input_text) - + # Split into batches and process sequentially to respect rate limits results = [] for i in range(0, len(truncated_texts), self.max_batch_size): @@ -118,7 +118,7 @@ class BaseEmbeddingModel(ABC): """Synchronous get embeddings with automatic batching and retry logic.""" # Truncate all input texts first truncated_texts = self._truncate_texts(input_text) - + results = [] for i in range(0, len(truncated_texts), self.max_batch_size): batch = truncated_texts[i : i + self.max_batch_size] diff --git a/reme_ai/mem_agent/base_memory_agent.py b/reme_ai/mem_agent/base_memory_agent.py index c7db4231..0a65834f 100644 --- a/reme_ai/mem_agent/base_memory_agent.py +++ b/reme_ai/mem_agent/base_memory_agent.py @@ -102,7 +102,10 @@ class BaseMemoryAgent(BaseOp, metaclass=ABCMeta): **kwargs, ) messages.append(assistant_message) - logger.info(f"[{self.__class__.__name__}] step{step + 1}.assistant={assistant_message.simple_dump(enable_json_dump=True)}") + logger.info( + f"[{self.__class__.__name__}] " + f"step{step + 1}.assistant={assistant_message.simple_dump(enable_json_dump=True)}", + ) should_act = bool(assistant_message.tool_calls) return assistant_message, should_act @@ -119,7 +122,10 @@ class BaseMemoryAgent(BaseOp, metaclass=ABCMeta): logger.warning(f"[{self.__class__.__name__}] unknown tool_call.name={tool_call.name}") continue - logger.info(f"[{self.__class__.__name__}] step{step + 1}.{j} submit tool_calls={tool_call.name} argument={tool_call.arguments}") + logger.info( + f"[{self.__class__.__name__}] step{step + 1}.{j} " + f"submit tool_calls={tool_call.name} argument={tool_call.arguments}", + ) tool_copy: BaseMemoryTool = tool_dict[tool_call.name].copy() tool_copy.tool_call.id = tool_call.id tool_list.append(tool_copy) @@ -162,10 +168,15 @@ class BaseMemoryAgent(BaseOp, metaclass=ABCMeta): async def execute(self): messages = await self.build_messages() for i, message in enumerate(messages): - logger.info(f"[{self.__class__.__name__}] step0.{i} {message.role} {message.name or ''} " - f"{message.simple_dump(enable_json_dump=True)}") + logger.info( + f"[{self.__class__.__name__}] step0.{i} {message.role} {message.name or ''} " + f"{message.simple_dump(enable_json_dump=True)}", + ) for i, tool in enumerate(self.tools): - logger.info(f"[{self.__class__.__name__}] step0.{i} tool_call={json.dumps(tool.tool_call.simple_input_dump(), ensure_ascii=False)}") + logger.info( + f"[{self.__class__.__name__}] step0.{i} " + f"tool_call={json.dumps(tool.tool_call.simple_input_dump(), ensure_ascii=False)}", + ) self.messages, self.success = await self.react(messages) if self.success and self.messages: diff --git a/reme_ai/mem_agent/summarizer/reme_summarizer.py b/reme_ai/mem_agent/summarizer/reme_summarizer.py index 02bd5b73..168b73ec 100644 --- a/reme_ai/mem_agent/summarizer/reme_summarizer.py +++ b/reme_ai/mem_agent/summarizer/reme_summarizer.py @@ -1,6 +1,5 @@ """Orchestrator for complete memory summarization workflow across all memory types.""" -import re from typing import List from loguru import logger diff --git a/reme_ai/mem_tool/base_memory_tool.py b/reme_ai/mem_tool/base_memory_tool.py index 72a94b2e..d0e6834e 100644 --- a/reme_ai/mem_tool/base_memory_tool.py +++ b/reme_ai/mem_tool/base_memory_tool.py @@ -104,5 +104,7 @@ class BaseMemoryTool(BaseOp, metaclass=ABCMeta): metadata=metadata or {}, ) - logger.opt(depth=1).info(f"[{self.__class__.__name__}] build node={node.model_dump_json(indent=2, exclude_none=True)}") - return node \ No newline at end of file + logger.opt(depth=1).info( + f"[{self.__class__.__name__}] build node={node.model_dump_json(indent=2, exclude_none=True)}", + ) + return node diff --git a/reme_ai/mem_tool/vector/add_summary_memory.py b/reme_ai/mem_tool/vector/add_summary_memory.py index f3667d84..a28a8956 100644 --- a/reme_ai/mem_tool/vector/add_summary_memory.py +++ b/reme_ai/mem_tool/vector/add_summary_memory.py @@ -64,14 +64,14 @@ class AddSummaryMemory(AddMemory): } def _build_memory_node( - self, - memory_content: str, - memory_type: MemoryType | None = None, - memory_target: str = "", - ref_memory_id: str = "", - when_to_use: str = "", - author: str = "", - metadata: dict | None = None, + self, + memory_content: str, + memory_type: MemoryType | None = None, + memory_target: str = "", + ref_memory_id: str = "", + when_to_use: str = "", + author: str = "", + metadata: dict | None = None, ) -> MemoryNode: """Build MemoryNode from content, when_to_use, and metadata.""" node = MemoryNode(