| name: "CodeReflect_Flow" | |
| description: "ToDO: add description" | |
| max_rounds: 2 # ToDo: To increase to 4 | |
| early_exit_key: "end_of_interaction" | |
| input_data_transformations: [] | |
| input_keys: | |
| - "problem_description" | |
| - "input_description" | |
| - "output_description" | |
| - "io_examples_and_explanation" | |
| output_data_transformations: | |
| - _target_: flows.data_transformations.KeyRename | |
| old_key2new_key: | |
| code: "code" | |
| output_keys: | |
| - "code" | |
| subflows_config: | |
| - _target_: martinjosifoski.CC_flows.CF_Code.instantiate_from_default_config | |
| overrides: | |
| name: "CodeGenerator" | |
| model_name: "gpt-4" | |
| input_data_transformations: | |
| - _target_: flows.data_transformations.KeyRename | |
| old_key2new_key: | |
| code_reflect_message: "query" | |
| output_data_transformations: | |
| - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor | |
| regex: '(?<=```python)([\s\S]*?)(?=```)' | |
| regex_fallback: '(?<=```)([\s\S]*?)(?=```)' | |
| input_key: "api_output" | |
| output_key: "code" | |
| strip: True | |
| assert_unique: True | |
| - _target_: flows.data_transformations.EndOfInteraction | |
| end_of_interaction_string: "Final answer" | |
| input_key: "api_output" | |
| output_key: "end_of_interaction" | |
| output_keys: | |
| - "code" | |
| - "end_of_interaction" | |
| - _target_: martinjosifoski.CC_flows.FixedReply_CodeReflect.instantiate_from_default_config | |
| reset_every_round: | |
| CodeGenerator: False # this is the name of the subflow, may be different for each config, needs to check ! | |
| CodeReflectCritic: True | |