| | name: "CtrlEx" |
| | description: "ControllerExecutor (i.e., MRKL, ReAct) interaction implementation with Flows that approaches the problem solving in two phases: one Flow chooses the next step and another Flow executes it. This is repeated until the controller Flow concludes on an answer." |
| | max_rounds: 30 |
| |
|
| | |
| | input_interface: |
| | - "goal" |
| | output_interface: |
| | - "answer" |
| | - "status" |
| |
|
| | |
| | subflows_config: |
| | Controller: |
| | _target_: aiflows.ControllerAtomicFlow.instantiate_from_default_config |
| | finish: |
| | description: "Signal that the objective has been satisfied, and returns the answer to the user." |
| | input_args: ["answer"] |
| | |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | Executor: |
| | _target_: flows.base_flows.BranchingFlow.instantiate_from_default_config |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | early_exit_key: "EARLY_EXIT" |
| |
|
| | topology: |
| | - goal: "Select the next action and prepare the input for the executor." |
| | input_interface: |
| | _target_: flows.interfaces.KeyInterface |
| | additional_transformations: |
| | - _target_: flows.data_transformations.KeyMatchInput |
| | flow: Controller |
| | output_interface: |
| | _target_: ControllerExecutorFlow.detect_finish_or_continue |
| | reset: false |
| |
|
| | - goal: "Execute the action specified by the Controller." |
| | input_interface: |
| | _target_: flows.interfaces.KeyInterface |
| | keys_to_rename: |
| | command: branch |
| | command_args: branch_input_data |
| | keys_to_select: ["branch", "branch_input_data"] |
| | flow: Executor |
| | output_interface: |
| | _target_: flows.interfaces.KeyInterface |
| | keys_to_rename: |
| | branch_output_data: observation |
| | keys_to_select: ["observation"] |
| | reset: false |
| |
|