| name: "CodeDebugCollab_Flow" |
| description: |2- |
| Given a problem description, alternate between a step in which code is generated, and a step in which the produced code is evaluated and useful feedback is provided. |
| |
| |
| input_interface: |
| - "problem_description" |
| - "input_description" |
| - "output_description" |
| - "io_examples_and_explanation" |
| - "public_tests_individual_io" |
|
|
| |
| output_interface: |
| - "code" |
|
|
| |
| max_rounds: 4 |
|
|
| subflows_config: |
| CodeGenerator: |
| _target_: .CF_Code.instantiate_from_default_config |
| name: "CodeGenerator" |
| backend: |
| _target_: aiflows.backends.llm_lite.LiteLLMBackend |
| model_name: |
| openai: "gpt-4" |
| azure: "azure/gpt-4" |
| human_message_prompt_template: |
| _target_: aiflows.prompt_template.JinjaPrompt |
| template: |2- |
| {{testing_results_summary}} |
| |
| {{code_feedback}} |
|
|
|
|
| Consider the problem statement, the last proposed solution, its issue and the provided feedback. Return a corrected version of the code that solves the original problem and resolves the issue, without any explanation, in the following format: |
| ```python |
| {{code_placeholder}} |
| ``` |
| input_variables: |
| - code_feedback |
| - testing_results_summary |
| partial_variables: |
| code_placeholder: "{{python_code}}" |
| input_interface_initialized: |
| - "code_feedback" |
| - "testing_results_summary" |
| CodeDebugCritic: |
| _target_: .CF_CodeDebugCritic.instantiate_from_default_config |
|
|
| topology: |
| |
| - goal: "Generate/refine a solution." |
|
|
| |
| input_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: aiflows.data_transformations.KeyMatchInput |
|
|
| |
| 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 |
| keys_to_select: |
| - "code" |
|
|
| reset: false |
|
|
| |
| - goal: "Provide feedback for the candidate solution that is grounded in test results." |
|
|
| |
| input_interface: |
| _target_: aiflows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: aiflows.data_transformations.KeyMatchInput |
|
|
| |
| flow: CodeDebugCritic |
|
|
| reset: true |
|
|