# Abstract class, should provide more config in subclasses _target_: flow_modules.aiflows.ContentWriterFlowModule.ContentWriterFlow.instantiate_from_default_config name: "ContentWriter" description: "Generated content, writes content to file and update content with user interaction" max_rounds: 30 input_interface: - "goal" output_interface: - "answer" - "status" ### Subflows specification subflows_config: Controller: _target_: ??? # Should be a subclass of aiflows.ChatAtomicFlow or something similar backend: api_infos: ??? model_name: openai: gpt-4 azure: azure/gpt-4 # In subclasses, should provide specific command and command args. # E.g., # commands: # wiki_search: # description: "Performs a search on Wikipedia." # input_args: ["search_term"] Executor: _target_: aiflows.base_flows.BranchingFlow.instantiate_from_default_config # In subclasses, should provide what are the branches of executors # E.g., # subflows_config: # wiki_search: # _target_: .WikiSearchAtomicFlow.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_: aiflows.interfaces.KeyInterface additional_transformations: - _target_: aiflows.data_transformations.KeyMatchInput flow: Controller output_interface: # In subclasses, should provide name of function name of output processor #_target_: ControllerExecutorFlow.detect_finish_or_continue reset: false - goal: "Execute the action specified by the Controller." input_interface: _target_: aiflows.interfaces.KeyInterface keys_to_rename: command: branch command_args: branch_input_data keys_to_select: ["branch", "branch_input_data"] flow: Executor output_interface: _target_: aiflows.interfaces.KeyInterface # in subclasses, should provide corresponding output name of the branching subflows keys_to_rename: branch_output_data.code: code branch_output_data.feedback: feedback branch_output_data.temp_code_file_location: temp_code_file_location keys_to_delete: ["branch_output_data"] reset: false