| | name: "CodeDebug_Flow" |
| | description: |2- |
| | Given a problem description, generate code, test and refine it until all tests pass or a maximum number of rounds is reached. |
| | |
| | |
| | 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: |
| | template: |2- |
| | {{testing_results_summary}} |
| | |
| |
|
| | Consider the problem statement, the last proposed solution, and its issue. Provide 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: |
| | - testing_results_summary |
| | partial_variables: |
| | code_placeholder: "{{python_code}}" |
| | input_interface_initialized: |
| | - "testing_results_summary" |
| | CodeTestingCritic: |
| | _target_: .CF_CodeTesting.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 |
| | - _target_: aiflows.data_transformations.PrintPreviousMessages |
| | keys_to_select: |
| | - "code" |
| |
|
| | |
| | reset: false |
| |
|
| | |
| | - goal: "Test the code on the public tests and provide a results summary." |
| |
|
| | |
| | input_interface: |
| | _target_: aiflows.interfaces.KeyInterface |
| | additional_transformations: |
| | - _target_: aiflows.data_transformations.KeyMatchInput |
| |
|
| | |
| | flow: CodeTestingCritic |
| |
|
| | |
| | output_interface: |
| | _target_: aiflows.interfaces.KeyInterface |
| | additional_transformations: |
| | - _target_: .src.data_transformations.CorrectnessFlag |
| | input_key: "public_tests_results" |
| | output_key: "all_tests_passed" |
| | - _target_: .src.data_transformations.TestingResultsSummaryGeneration |
| | output_key: "testing_results_summary" |
| |
|
| | single_test_error_message: True |
| |
|
| | no_error_template: |2- |
| | ${.issue_title} |
| | All of the executed tests passed. |
| | |
| | compilation_error_template: |2- |
| | ${.issue_title} |
| | The execution resulted in a compilation error. |
| | ## Compilation error message: |
| | {{error_message}} |
| | timeout_error_template: |2- |
| | ${.issue_title} |
| | The execution timed out, the solution is not efficient enough. |
| | runtime_error_template: |2- |
| | ${.issue_title} |
| | The execution resulted in a runtime error on the following test. |
| | ## [Failed test] Input |
| | ``` |
| | {{test_input}} |
| | ``` |
| | ## [Failed test] Runtime error message |
| | {{error_message}} |
| | single_test_error_template: |2- |
| | ${.issue_title} |
| | The Python code does not solve the problem in the problem description due to logical errors. It fails the following test: |
| | ## [Failed test] Input |
| | ``` |
| | {{test_input}} |
| | ``` |
| | ## [Failed test] Expected output |
| | ``` |
| | {{expected_output}} |
| | ``` |
| | ## [Failed test] Generated output |
| | ``` |
| | {{generated_output}} |
| | ``` |
| | all_tests_header: |2- |
| | ${.issue_title} |
| | The Python code does not solve the problem in the problem description due to logical errors. It fails on the following tests. |
| | test_error_template: |2- |
| | ## [Failed test {{idx}}] |
| | ### [Failed test {{idx}}] Input |
| | ``` |
| | {{test_input}} |
| | ``` |
| | ### [Failed test {{idx}}] Expected output |
| | ``` |
| | {{expected_output}} |
| | ``` |
| | ### [Failed test {{idx}}] Generated output |
| | ``` |
| | {{generated_output}} |
| | ``` |
| | tests_separator: "\n\n" |
| |
|
| | issue_title: "# Issue with the last proposed solution" |
| |
|
| | |
| | reset: true |