File size: 1,675 Bytes
c21b758
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ca366eb
 
c21b758
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ca366eb
 
c21b758
 
ca366eb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6128d20
ca366eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: "CodeDebugCollab_Flow"
description: "ToDO: add description"

max_rounds: 2 # ToDo: To increase to 4

input_keys:
  - "problem_description"
  - "input_description"
  - "output_description"
  - "io_examples_and_explanation"
  - "public_tests_individual_io"

output_keys:
  - "code"

subflows_config:
  CodeGenerator:
    _target_: .CF_Code.instantiate_from_default_config
    overrides:
      name: "CodeGenerator"
      model_name: "gpt-4"
      human_message_prompt_template:
        _target_: langchain.PromptTemplate
        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}}"
        template_format: jinja2

      input_keys:
        - "code_feedback"
        - "testing_results_summary"
    
  CodeDebugCritic:
    _target_: .CF_CodeDebugCritic.instantiate_from_default_config

topology:
  - flow: CodeGenerator
    reset_every_round: false
    output_transformations:
      - _target_: flows.data_transformations.EndOfInteraction
        end_of_interaction_string: "Final answer"
        input_key: "api_output"
        output_key: "end_of_interaction"

  - flow: CodeDebugCritic
    reset_every_round: true

early_exit_key: "end_of_interaction"