File size: 2,423 Bytes
9741e89
 
 
 
f748a3e
 
 
 
 
 
e54a1f1
9741e89
 
 
 
 
f748a3e
 
 
 
e54a1f1
9741e89
 
 
 
4961d67
9741e89
 
2195577
9741e89
 
 
 
6fffc74
9741e89
 
 
 
 
 
 
 
6fffc74
9741e89
 
 
68afe75
 
6fffc74
 
 
 
 
 
 
 
 
 
 
 
9741e89
e54a1f1
9741e89
 
 
4961d67
9741e89
 
 
6fffc74
 
4961d67
6fffc74
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
62
63
64
65
66
67
68
69
70
71
72
73
74
name: "PlanCollab_Flow"
verbose: True
description: "ToDO: add description"

reset_generator_every_round: False
reset_critic_every_round: True
max_rounds: 2 # ToDo: To increase to 4
early_exit_key: "end_of_interaction"

input_data_transformations: []
input_keys:
  - "problem_description"
  - "input_description"
  - "output_description"
  - "io_examples_and_explanation"

output_data_transformations:
  - _target_: flows.data_transformations.KeyRename
    old_key2new_key:
      raw_response.plan: "plan"
output_keys:
  - "plan"

subflows_config:
  - _target_: flows.flow_verse.instantiate_flow
    repository_id: ${oc.env:CC_FLOWS}
    class_name: CF_Plan
    overrides:
      name: "PlanGenerator"
      human_message_prompt_template:
        _target_: langchain.PromptTemplate
        template: |2-
          # Feedback on the last proposed conceptual solution
          {{plan_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 conceptual solution in the following format:
          # Conceptual solution
          {{plan_placeholder}}
          otherwise, reply:
          "Final answer."
        input_variables:
          - plan_feedback
        partial_variables:
          plan_placeholder: "{{conceptual_solution}}"
        template_format: jinja2
      default_human_input_keys:
        - "plan_feedback"
      output_data_transformations:
        - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
          regex: '(?<=Conceptual solution)([\s\S]*?)(?=\n\n# [A-Z]|\Z)'
          regex_fallback:
            - '(?<=Conceptual solution:)([\s\S]*?)(?=\n\n# [A-Z]|\Z)'
          output_key: "plan"
          strip: True
          assert_unique: True
          verbose: True
        - _target_: flows.data_transformations.EndOfInteraction
          end_of_interaction_string: "Final answer"
          output_key: "end_of_interaction"
          verbose: True
      output_keys:
        - "plan"
        - "end_of_interaction"
  - _target_: flows.flow_verse.instantiate_flow
    repository_id: ${oc.env:CC_FLOWS}
    class_name: CF_PlanCritic
    overrides:
      name: PlanCritic
      output_data_transformations:
        - _target_: flows.data_transformations.KeyRename
          old_key2new_key:
            raw_response: "plan_feedback"