Преглед изворни кода

fix: agent node can't use in parallel (#15047)

tags/1.0.1
Novice пре 8 месеци
родитељ
комит
778861f461
No account linked to committer's email address

+ 1
- 0
api/core/app/apps/workflow_app_runner.py Прегледај датотеку

@@ -522,6 +522,7 @@ class WorkflowBasedAppRunner(AppRunner):
status=event.status,
data=event.data,
metadata=event.metadata,
node_id=event.node_id,
)
)
elif isinstance(event, ParallelBranchRunStartedEvent):

+ 1
- 0
api/core/app/entities/queue_entities.py Прегледај датотеку

@@ -427,6 +427,7 @@ class QueueAgentLogEvent(AppQueueEvent):
status: str
data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None
node_id: str


class QueueNodeRetryEvent(QueueNodeStartedEvent):

+ 1
- 0
api/core/app/entities/task_entities.py Прегледај датотеку

@@ -817,6 +817,7 @@ class AgentLogStreamResponse(StreamResponse):
status: str
data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None
node_id: str

event: StreamEvent = StreamEvent.AGENT_LOG
data: Data

+ 1
- 0
api/core/app/task_pipeline/workflow_cycle_manage.py Прегледај датотеку

@@ -959,5 +959,6 @@ class WorkflowCycleManage:
status=event.status,
data=event.data,
metadata=event.metadata,
node_id=event.node_id,
),
)

+ 1
- 0
api/core/workflow/graph_engine/entities/event.py Прегледај датотеку

@@ -268,6 +268,7 @@ class AgentLogEvent(BaseAgentEvent):
status: str = Field(..., description="status")
data: Mapping[str, Any] = Field(..., description="data")
metadata: Optional[Mapping[str, Any]] = Field(default=None, description="metadata")
node_id: str = Field(..., description="agent node id")


InNodeEvent = BaseNodeEvent | BaseParallelBranchEvent | BaseIterationEvent | BaseAgentEvent | BaseLoopEvent

+ 2
- 1
api/core/workflow/graph_engine/graph_engine.py Прегледај датотеку

@@ -18,6 +18,7 @@ from core.workflow.entities.node_entities import AgentNodeStrategyInit, NodeRunM
from core.workflow.entities.variable_pool import VariablePool, VariableValue
from core.workflow.graph_engine.condition_handlers.condition_manager import ConditionManager
from core.workflow.graph_engine.entities.event import (
BaseAgentEvent,
BaseIterationEvent,
BaseLoopEvent,
GraphEngineEvent,
@@ -502,7 +503,7 @@ class GraphEngine:
break

yield event
if event.parallel_id == parallel_id:
if not isinstance(event, BaseAgentEvent) and event.parallel_id == parallel_id:
if isinstance(event, ParallelBranchRunSucceededEvent):
succeeded_count += 1
if succeeded_count == len(futures):

+ 1
- 0
api/core/workflow/nodes/tool/tool_node.py Прегледај датотеку

@@ -338,6 +338,7 @@ class ToolNode(BaseNode[ToolNodeData]):
data=message.message.data,
label=message.message.label,
metadata=message.message.metadata,
node_id=self.node_id,
)

# check if the agent log is already in the list

Loading…
Откажи
Сачувај