add: workflow/procedural_memory

This commit is contained in:
caozouying.czy 2026-01-23 17:30:32 +08:00
parent a2099202a0
commit a19c8a546b
3 changed files with 19 additions and 12 deletions

View file

@ -1,12 +1,15 @@
"""Summarizer operators for procedural memory workflow.
This package exposes and registers summarization-related operators such as
`TrajectoryPreprocess` and `SuccessExtraction` to the global operator registry.
"""
from ....core import R
from .trajectory_preprocess import TrajectoryPreprocess
from .success_extraction import SuccessExtraction
__all__ = [
"TrajectoryPreprocess",
"SuccessExtraction",
]
__all__ = ["TrajectoryPreprocess", "SuccessExtraction"]
for name in __all__:
tool_class = globals()[name]
R.op.register()(tool_class)
R.op.register()(tool_class)

View file

@ -6,14 +6,17 @@ trajectories, identifying patterns and strategies that lead to success.
from typing import List
from loguru import logger
from ....core.enumeration import Role
from ....core.enumeration import MemoryType, Role
from ....core.op import BaseOp
from ....core.enumeration import MemoryType
from ....core.schema.memory_node import MemoryNode
from ....core.schema.message import Message, Trajectory
from ....core.utils.llm_utils import merge_messages_content, parse_json_experience_response, get_trajectory_context
from loguru import logger
from ....core.utils.llm_utils import (
get_trajectory_context,
merge_messages_content,
parse_json_experience_response,
)
class SuccessExtraction(BaseOp):
@ -71,7 +74,7 @@ class SuccessExtraction(BaseOp):
)
def parse_task_memories(message: Message) -> list[MemoryNode]:
task_memories_data = parse_json_experience_response(message.content) # extract content
task_memories_data = parse_json_experience_response(message.content) # extract content
task_memories = []
for tm_data in task_memories_data:

View file

@ -4,11 +4,12 @@ This module provides operations to preprocess and classify trajectories
into success and failure categories based on score thresholds.
"""
from typing import List, Dict
from typing import Dict, List
from loguru import logger
from ....core.op import BaseOp
from ....core.schema.message import Trajectory
from loguru import logger
class TrajectoryPreprocess(BaseOp):