File size: 1,665 Bytes
9741e89
 
 
f748a3e
 
4961d67
 
 
 
 
 
 
 
9741e89
 
28b05f5
 
9741e89
 
 
 
 
6fffc74
9741e89
 
 
 
 
 
 
 
 
6fffc74
9741e89
 
 
28b05f5
d9ef54c
68afe75
28b05f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6128d20
28b05f5
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
name: "CodeCollab_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"

output_keys:
  - "code"

subflows_config:
  CodeGenerator:
    _target_: .CF_Code.instantiate_from_default_config
    overrides:
      human_message_prompt_template:
        _target_: langchain.PromptTemplate
        template: |2-
          # Feedback on the last proposed solution
          {{code_feedback}}


          Consider the original problem statement, the last proposed solution and the provided feedback. Does the solution need to be updated? If so, provide the corrected version of the code in the following format:
          ```python
          {{code_placeholder}}
          ```
          otherwise, reply:
          "Final answer."
        input_variables:
          - code_feedback
        partial_variables:
          code_placeholder: "{{python_code}}"
        template_format: jinja2
      
      input_keys:
        - "code_feedback"
  CodeCritic:
    _target_: .CF_CodeCritic.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: CodeCritic
    reset_every_round: true
    output_transformations:
      - _target_: flows.data_transformations.KeyRename
        old_key2new_key:
          api_output: "code_feedback"

early_exit_key: "end_of_interaction"