| | 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 |
| |
|