From 9fb7aa4e7820c643c0335e134024aeab909d4289 Mon Sep 17 00:00:00 2001 From: "jinli.yl" Date: Wed, 27 Aug 2025 11:37:14 +0800 Subject: [PATCH] feat(agent): add agent module and update related components - Add agent module to reme_ai package - Update retrieve module to include agent-related functionality - Modify summary module to use new agent features - Update configuration to support agent operations --- reme_ai/__init__.py | 1 + reme_ai/agent/__init__.py | 0 reme_ai/{ => agent}/react/__init__.py | 0 reme_ai/{ => agent}/react/react_v1_op.py | 0 reme_ai/{ => agent}/react/react_v1_prompt.yaml | 0 reme_ai/config/default.yaml | 18 +++++++++--------- reme_ai/retrieve/task/build_query_prompt.yaml | 2 +- reme_ai/summary/task/simple_summary_op.py | 2 +- reme_ai/summary/task/success_extraction_op.py | 2 +- 9 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 reme_ai/agent/__init__.py rename reme_ai/{ => agent}/react/__init__.py (100%) rename reme_ai/{ => agent}/react/react_v1_op.py (100%) rename reme_ai/{ => agent}/react/react_v1_prompt.yaml (100%) diff --git a/reme_ai/__init__.py b/reme_ai/__init__.py index 39d39f5c..89b437b5 100644 --- a/reme_ai/__init__.py +++ b/reme_ai/__init__.py @@ -1,5 +1,6 @@ from reme_ai import retrieve from reme_ai import summary +from reme_ai import agent from reme_ai import vector_store __version__ = "0.1.0" diff --git a/reme_ai/agent/__init__.py b/reme_ai/agent/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/reme_ai/react/__init__.py b/reme_ai/agent/react/__init__.py similarity index 100% rename from reme_ai/react/__init__.py rename to reme_ai/agent/react/__init__.py diff --git a/reme_ai/react/react_v1_op.py b/reme_ai/agent/react/react_v1_op.py similarity index 100% rename from reme_ai/react/react_v1_op.py rename to reme_ai/agent/react/react_v1_op.py diff --git a/reme_ai/react/react_v1_prompt.yaml b/reme_ai/agent/react/react_v1_prompt.yaml similarity index 100% rename from reme_ai/react/react_v1_prompt.yaml rename to reme_ai/agent/react/react_v1_prompt.yaml diff --git a/reme_ai/config/default.yaml b/reme_ai/config/default.yaml index 5dd72acf..8e50c277 100644 --- a/reme_ai/config/default.yaml +++ b/reme_ai/config/default.yaml @@ -62,15 +62,15 @@ flow: description: "current query" required: true - vector_store: - flow_content: vector_store_action_op - description: "directly operate the vector store." - input_schema: - action: - type: "str" - description: "vector store operations" - required: true - enum: [ copy, delete, delete_ids, dump, load ] + vector_store: + flow_content: vector_store_action_op + description: "directly operate the vector store." + input_schema: + action: + type: "str" + description: "vector store operations" + required: true + enum: [ copy, delete, delete_ids, dump, load ] llm: default: diff --git a/reme_ai/retrieve/task/build_query_prompt.yaml b/reme_ai/retrieve/task/build_query_prompt.yaml index 3af908af..8b45b63d 100644 --- a/reme_ai/retrieve/task/build_query_prompt.yaml +++ b/reme_ai/retrieve/task/build_query_prompt.yaml @@ -3,4 +3,4 @@ query_build: | {execution_process} Read through the entire execution process to understand which part is currently being executed. - Generate a `query` that reflects the current state, which will later be used to search for similar problems in the database and help resolve the issue at hand. \ No newline at end of file + Generate a `query` that reflects the current state, which will later be used to search for similar problems in the database and help resolve the issue at hand. diff --git a/reme_ai/summary/task/simple_summary_op.py b/reme_ai/summary/task/simple_summary_op.py index bc07463a..2613a528 100644 --- a/reme_ai/summary/task/simple_summary_op.py +++ b/reme_ai/summary/task/simple_summary_op.py @@ -52,7 +52,7 @@ class SimpleSummaryOp(BaseLLMOp): return self.llm.chat(messages=[Message(content=summary_prompt)], callback_fn=parse_content) def execute(self): - trajectories: list = self.context.get("trajectories", []) + trajectories: list = self.context.trajectories trajectories: List[Trajectory] = [Trajectory(**x) if isinstance(x, dict) else x for x in trajectories] memory_list: List[BaseMemory] = [] diff --git a/reme_ai/summary/task/success_extraction_op.py b/reme_ai/summary/task/success_extraction_op.py index 5c73a436..7b72a335 100644 --- a/reme_ai/summary/task/success_extraction_op.py +++ b/reme_ai/summary/task/success_extraction_op.py @@ -14,7 +14,7 @@ class SuccessExtractionOp(BaseLLMOp): def execute(self): """Extract task memories from successful trajectories""" - success_trajectories: List[Trajectory] = self.context.get("success_trajectories", []) + success_trajectories: List[Trajectory] = self.context.success_trajectories if not success_trajectories: logger.info("No success trajectories found for extraction")