| name: "CodeReflect_Flow" |
| description: |-2 |
| Given a problem description, generate code, reflect on it and improve it until a message suggesting that the code seems correct or a maximum number of rounds is reached. |
|
|
| |
| input_interface: |
| - "problem_description" |
| - "input_description" |
| - "output_description" |
| - "io_examples_and_explanation" |
|
|
| |
| output_interface: |
| - "code" |
|
|
| |
| max_rounds: 4 |
| early_exit_key: "end_of_interaction" |
|
|
| |
| subflows_config: |
| CodeGenerator: |
| _target_: .CF_Code.instantiate_from_default_config |
| CodeReflectCritic: |
| _target_: .FixedReply_CodeReflect.instantiate_from_default_config |
|
|
| |
| topology: |
| |
| - goal: "Generate/refine a solution." |
|
|
| |
| input_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: aiflows.data_transformations.KeyMatchInput |
| keys_to_rename: |
| code_reflect_message: "query" |
|
|
| |
| flow: CodeGenerator |
|
|
| |
| output_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: aiflows.data_transformations.RegexFirstOccurrenceExtractor |
| regex: '(?<=```python)([\s\S]*?)(?=```)' |
| regex_fallback: '(?<=```)([\s\S]*?)(?=```)' |
| input_key: "api_output" |
| output_key: "code" |
| strip: True |
| assert_unique: True |
| - _target_: aiflows.data_transformations.EndOfInteraction |
| end_of_interaction_string: "Final answer" |
| input_key: "api_output" |
| output_key: "end_of_interaction" |
| - _target_: aiflows.data_transformations.PrintPreviousMessages |
| keys_to_select: |
| - "code" |
| - "end_of_interaction" |
|
|
| |
| reset: false |
|
|
| - goal: "Generate a message that encourages reflection." |
|
|
| |
| input_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: aiflows.data_transformations.KeyMatchInput |
|
|
|
|
| |
| flow: CodeReflectCritic |
|
|
| |
| output_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| keys_to_rename: |
| fixed_reply: "code_reflect_message" |
|
|
| |
| reset: true |
|
|