Przeglądaj źródła

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

tags/1.0.1
Novice 8 miesięcy temu
rodzic
commit
778861f461
No account linked to committer's email address

+ 1
- 0
api/core/app/apps/workflow_app_runner.py Wyświetl plik

status=event.status, status=event.status,
data=event.data, data=event.data,
metadata=event.metadata, metadata=event.metadata,
node_id=event.node_id,
) )
) )
elif isinstance(event, ParallelBranchRunStartedEvent): elif isinstance(event, ParallelBranchRunStartedEvent):

+ 1
- 0
api/core/app/entities/queue_entities.py Wyświetl plik

status: str status: str
data: Mapping[str, Any] data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None metadata: Optional[Mapping[str, Any]] = None
node_id: str




class QueueNodeRetryEvent(QueueNodeStartedEvent): class QueueNodeRetryEvent(QueueNodeStartedEvent):

+ 1
- 0
api/core/app/entities/task_entities.py Wyświetl plik

status: str status: str
data: Mapping[str, Any] data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None metadata: Optional[Mapping[str, Any]] = None
node_id: str


event: StreamEvent = StreamEvent.AGENT_LOG event: StreamEvent = StreamEvent.AGENT_LOG
data: Data data: Data

+ 1
- 0
api/core/app/task_pipeline/workflow_cycle_manage.py Wyświetl plik

status=event.status, status=event.status,
data=event.data, data=event.data,
metadata=event.metadata, metadata=event.metadata,
node_id=event.node_id,
), ),
) )

+ 1
- 0
api/core/workflow/graph_engine/entities/event.py Wyświetl plik

status: str = Field(..., description="status") status: str = Field(..., description="status")
data: Mapping[str, Any] = Field(..., description="data") data: Mapping[str, Any] = Field(..., description="data")
metadata: Optional[Mapping[str, Any]] = Field(default=None, description="metadata") metadata: Optional[Mapping[str, Any]] = Field(default=None, description="metadata")
node_id: str = Field(..., description="agent node id")




InNodeEvent = BaseNodeEvent | BaseParallelBranchEvent | BaseIterationEvent | BaseAgentEvent | BaseLoopEvent InNodeEvent = BaseNodeEvent | BaseParallelBranchEvent | BaseIterationEvent | BaseAgentEvent | BaseLoopEvent

+ 2
- 1
api/core/workflow/graph_engine/graph_engine.py Wyświetl plik

from core.workflow.entities.variable_pool import VariablePool, VariableValue 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.condition_handlers.condition_manager import ConditionManager
from core.workflow.graph_engine.entities.event import ( from core.workflow.graph_engine.entities.event import (
BaseAgentEvent,
BaseIterationEvent, BaseIterationEvent,
BaseLoopEvent, BaseLoopEvent,
GraphEngineEvent, GraphEngineEvent,
break break


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

+ 1
- 0
api/core/workflow/nodes/tool/tool_node.py Wyświetl plik

data=message.message.data, data=message.message.data,
label=message.message.label, label=message.message.label,
metadata=message.message.metadata, metadata=message.message.metadata,
node_id=self.node_id,
) )


# check if the agent log is already in the list # check if the agent log is already in the list

Ładowanie…
Anuluj
Zapisz