yeeef commited on
Commit
d9ef54c
1 Parent(s): 0eae436

propagate change from https://github.com/epfl-dlab/flows/pull/91

Browse files
CF_Code.py CHANGED
@@ -1,11 +1,7 @@
1
  import importlib
2
  import os
3
 
4
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
5
-
6
- # flow_module = importlib.import_module(os.getenv("OpenAIChatAtomicFlow_module"))
7
- # OpenAIChatAtomicFlow = getattr(flow_module, "OpenAIChatAtomicFlow")
8
-
9
 
10
  class CF_Code(OpenAIChatAtomicFlow):
11
  def __init__(self, **kwargs):
 
1
  import importlib
2
  import os
3
 
4
+ from flows.application_flows import OpenAIChatAtomicFlow
 
 
 
 
5
 
6
  class CF_Code(OpenAIChatAtomicFlow):
7
  def __init__(self, **kwargs):
CF_Code.yaml CHANGED
@@ -35,7 +35,7 @@ human_message_prompt_template:
35
  - "query"
36
  template_format: jinja2
37
 
38
- query_message_prompt_template:
39
  _target_: langchain.PromptTemplate
40
  template: |2-
41
  # Problem statement
@@ -65,7 +65,7 @@ query_message_prompt_template:
65
  template_format: jinja2
66
 
67
  input_data_transformations: []
68
- input_keys:
69
  - "problem_description"
70
  - "input_description"
71
  - "output_description"
 
35
  - "query"
36
  template_format: jinja2
37
 
38
+ init_human_message_prompt_template:
39
  _target_: langchain.PromptTemplate
40
  template: |2-
41
  # Problem statement
 
65
  template_format: jinja2
66
 
67
  input_data_transformations: []
68
+ init_input_keys:
69
  - "problem_description"
70
  - "input_description"
71
  - "output_description"
CF_CodeCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDO: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -40,7 +38,7 @@ subflows_config:
40
  partial_variables:
41
  code_placeholder: "{{python_code}}"
42
  template_format: jinja2
43
- default_human_input_keys:
44
  - "code_feedback"
45
  output_data_transformations:
46
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
@@ -66,3 +64,7 @@ subflows_config:
66
  - _target_: flows.data_transformations.KeyRename
67
  old_key2new_key:
68
  api_output: "code_feedback"
 
 
 
 
 
1
  name: "CodeCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDO: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
38
  partial_variables:
39
  code_placeholder: "{{python_code}}"
40
  template_format: jinja2
41
+ input_keys:
42
  - "code_feedback"
43
  output_data_transformations:
44
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
 
64
  - _target_: flows.data_transformations.KeyRename
65
  old_key2new_key:
66
  api_output: "code_feedback"
67
+
68
+ reset_every_round:
69
+ CodeGenerator: False # this is the name of the subflow, may be different for each config, needs to check !
70
+ CodeCritic: True
CF_CodeCritic.py CHANGED
@@ -1,7 +1,4 @@
1
- import os
2
- import importlib
3
-
4
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
5
 
6
 
7
  class CF_CodeCritic(OpenAIChatAtomicFlow):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
 
 
2
 
3
 
4
  class CF_CodeCritic(OpenAIChatAtomicFlow):
CF_CodeCritic.yaml CHANGED
@@ -37,7 +37,7 @@ human_message_prompt_template:
37
  - "query"
38
  template_format: jinja2
39
 
40
- query_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
@@ -66,7 +66,7 @@ query_message_prompt_template:
66
  - "code"
67
  template_format: jinja2
68
 
69
- input_keys:
70
  - "problem_description"
71
  - "input_description"
72
  - "output_description"
 
37
  - "query"
38
  template_format: jinja2
39
 
40
+ init_human_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
 
66
  - "code"
67
  template_format: jinja2
68
 
69
+ init_input_keys:
70
  - "problem_description"
71
  - "input_description"
72
  - "output_description"
CF_CodeCriticWrongAttempt.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class CF_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class CF_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
CF_CodeCriticWrongAttempt.yaml CHANGED
@@ -38,7 +38,7 @@ human_message_prompt_template:
38
  - "query"
39
  template_format: jinja2
40
 
41
- query_message_prompt_template:
42
  _target_: langchain.PromptTemplate
43
  template: |2-
44
  # Problem statement
@@ -71,7 +71,7 @@ query_message_prompt_template:
71
  template_format: jinja2
72
 
73
  input_data_transformations: []
74
- input_keys:
75
  - "problem_description"
76
  - "input_description"
77
  - "output_description"
 
38
  - "query"
39
  template_format: jinja2
40
 
41
+ init_human_message_prompt_template:
42
  _target_: langchain.PromptTemplate
43
  template: |2-
44
  # Problem statement
 
71
  template_format: jinja2
72
 
73
  input_data_transformations: []
74
+ init_input_keys:
75
  - "problem_description"
76
  - "input_description"
77
  - "output_description"
CF_CodeCriticWrongAttemptWithPlan.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
 
5
  class CF_CodeCriticWrongAttemptWithPlan(OpenAIChatAtomicFlow):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
 
4
  class CF_CodeCriticWrongAttemptWithPlan(OpenAIChatAtomicFlow):
CF_CodeCriticWrongAttemptWithPlan.yaml CHANGED
@@ -40,7 +40,7 @@ human_message_prompt_template:
40
  - "query"
41
  template_format: jinja2
42
 
43
- query_message_prompt_template:
44
  _target_: langchain.PromptTemplate
45
  template: |2-
46
  # Problem statement
@@ -77,7 +77,7 @@ query_message_prompt_template:
77
  template_format: jinja2
78
 
79
  input_data_transformations: []
80
- input_keys:
81
  - "problem_description"
82
  - "input_description"
83
  - "output_description"
 
40
  - "query"
41
  template_format: jinja2
42
 
43
+ init_human_message_prompt_template:
44
  _target_: langchain.PromptTemplate
45
  template: |2-
46
  # Problem statement
 
77
  template_format: jinja2
78
 
79
  input_data_transformations: []
80
+ init_input_keys:
81
  - "problem_description"
82
  - "input_description"
83
  - "output_description"
CF_CodeDebug.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeDebug_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -39,7 +37,7 @@ subflows_config:
39
  - testing_results_summary
40
  partial_variables:
41
  code_placeholder: "{{python_code}}"
42
- default_human_input_keys:
43
  - "testing_results_summary"
44
  - "all_tests_passed"
45
  output_data_transformations:
@@ -62,3 +60,7 @@ subflows_config:
62
  - _target_: martinjosifoski.CC_flows.CF_CodeTesting.instantiate_from_default_config
63
  overrides:
64
  name: "CodeTestingCritic"
 
 
 
 
 
1
  name: "CodeDebug_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
37
  - testing_results_summary
38
  partial_variables:
39
  code_placeholder: "{{python_code}}"
40
+ input_keys:
41
  - "testing_results_summary"
42
  - "all_tests_passed"
43
  output_data_transformations:
 
60
  - _target_: martinjosifoski.CC_flows.CF_CodeTesting.instantiate_from_default_config
61
  overrides:
62
  name: "CodeTestingCritic"
63
+
64
+ reset_every_round:
65
+ CodeGenerator: False # this is the name of the subflow, may be different for each config, needs to check !
66
+ CodeTestingCritic: True
CF_CodeDebugCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeDebugCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -44,7 +42,7 @@ subflows_config:
44
  partial_variables:
45
  code_placeholder: "{{python_code}}"
46
  template_format: jinja2
47
- default_human_input_keys:
48
  - "code_feedback"
49
  - "testing_results_summary"
50
  output_data_transformations:
@@ -65,3 +63,8 @@ subflows_config:
65
  - "code"
66
  - "end_of_interaction"
67
  - _target_: martinjosifoski.CC_flows.CF_CodeDebugCritic.instantiate_from_default_config
 
 
 
 
 
 
1
  name: "CodeDebugCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
42
  partial_variables:
43
  code_placeholder: "{{python_code}}"
44
  template_format: jinja2
45
+ input_keys:
46
  - "code_feedback"
47
  - "testing_results_summary"
48
  output_data_transformations:
 
63
  - "code"
64
  - "end_of_interaction"
65
  - _target_: martinjosifoski.CC_flows.CF_CodeDebugCritic.instantiate_from_default_config
66
+
67
+
68
+ reset_every_round:
69
+ CodeGenerator: False # this is the name of the subflow, may be different for each config, needs to check !
70
+ CodeDebugCritic_Flow: True
CF_CodeDebugCollabWithPlan.yaml CHANGED
@@ -1,8 +1,7 @@
1
  name: "CodeDebugCollabWithPlan_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -45,7 +44,7 @@ subflows_config:
45
  partial_variables:
46
  code_placeholder: "{{python_code}}"
47
  template_format: jinja2
48
- default_human_input_keys:
49
  - "code_feedback"
50
  - "testing_results_summary"
51
  output_data_transformations:
@@ -66,3 +65,7 @@ subflows_config:
66
  - "code"
67
  - "end_of_interaction"
68
  - _target_: martinjosifoski.CC_flows.CF_CodeDebugCriticWithPlan.instantiate_from_default_config
 
 
 
 
 
1
  name: "CodeDebugCollabWithPlan_Flow"
2
  description: "ToDO: add description"
3
 
4
+
 
5
  max_rounds: 2 # ToDo: To increase to 4
6
  early_exit_key: "end_of_interaction"
7
 
 
44
  partial_variables:
45
  code_placeholder: "{{python_code}}"
46
  template_format: jinja2
47
+ input_keys:
48
  - "code_feedback"
49
  - "testing_results_summary"
50
  output_data_transformations:
 
65
  - "code"
66
  - "end_of_interaction"
67
  - _target_: martinjosifoski.CC_flows.CF_CodeDebugCriticWithPlan.instantiate_from_default_config
68
+
69
+ reset_every_round:
70
+ CodeGenerator: False
71
+ CodeDebugCriticWithPlan_Flow: True
CF_CodeReflect.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeReflect_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -48,3 +46,8 @@ subflows_config:
48
  - "end_of_interaction"
49
 
50
  - _target_: martinjosifoski.CC_flows.FixedReply_CodeReflect.instantiate_from_default_config
 
 
 
 
 
 
1
  name: "CodeReflect_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
46
  - "end_of_interaction"
47
 
48
  - _target_: martinjosifoski.CC_flows.FixedReply_CodeReflect.instantiate_from_default_config
49
+
50
+
51
+ reset_every_round:
52
+ CodeGenerator: False # this is the name of the subflow, may be different for each config, needs to check !
53
+ CodeReflectCritic: True
CF_CodeWithPlan.py CHANGED
@@ -1,6 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
-
4
 
5
  class CF_CodeWithPlan(OpenAIChatAtomicFlow):
6
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
 
2
 
3
  class CF_CodeWithPlan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
CF_CodeWithPlan.yaml CHANGED
@@ -37,7 +37,7 @@ human_message_prompt_template:
37
  - "query"
38
  template_format: jinja2
39
 
40
- query_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
@@ -71,7 +71,7 @@ query_message_prompt_template:
71
  template_format: jinja2
72
 
73
  input_data_transformations: []
74
- input_keys:
75
  - "problem_description"
76
  - "input_description"
77
  - "output_description"
 
37
  - "query"
38
  template_format: jinja2
39
 
40
+ init_human_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
 
71
  template_format: jinja2
72
 
73
  input_data_transformations: []
74
+ init_input_keys:
75
  - "problem_description"
76
  - "input_description"
77
  - "output_description"
CF_Plan.py CHANGED
@@ -1,4 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
 
3
  class CF_Plan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
2
 
3
  class CF_Plan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
CF_Plan.yaml CHANGED
@@ -13,7 +13,7 @@ generation_parameters:
13
  presence_penalty: 0
14
 
15
  input_data_transformations: []
16
- input_keys:
17
  - "problem_description"
18
  - "input_description"
19
  - "output_description"
@@ -57,7 +57,7 @@ human_message_prompt_template:
57
  - "query"
58
  template_format: jinja2
59
 
60
- query_message_prompt_template:
61
  _target_: langchain.PromptTemplate
62
  template: |2-
63
  # Problem statement
 
13
  presence_penalty: 0
14
 
15
  input_data_transformations: []
16
+ init_input_keys:
17
  - "problem_description"
18
  - "input_description"
19
  - "output_description"
 
57
  - "query"
58
  template_format: jinja2
59
 
60
+ init_human_message_prompt_template:
61
  _target_: langchain.PromptTemplate
62
  template: |2-
63
  # Problem statement
CF_PlanCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "PlanCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -41,7 +39,7 @@ subflows_config:
41
  partial_variables:
42
  plan_placeholder: "{{conceptual_solution}}"
43
  template_format: jinja2
44
- default_human_input_keys:
45
  - "plan_feedback"
46
  output_data_transformations:
47
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
@@ -68,3 +66,7 @@ subflows_config:
68
  - _target_: flows.data_transformations.KeyRename
69
  old_key2new_key:
70
  api_output: "plan_feedback"
 
 
 
 
 
1
  name: "PlanCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
39
  partial_variables:
40
  plan_placeholder: "{{conceptual_solution}}"
41
  template_format: jinja2
42
+ input_keys:
43
  - "plan_feedback"
44
  output_data_transformations:
45
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
 
66
  - _target_: flows.data_transformations.KeyRename
67
  old_key2new_key:
68
  api_output: "plan_feedback"
69
+
70
+ reset_every_round:
71
+ PlanGenerator: false
72
+ PlanCritic: true
CF_PlanCritic.py CHANGED
@@ -1,4 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
 
3
 
4
  class CF_PlanCritic(OpenAIChatAtomicFlow):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
2
 
3
 
4
  class CF_PlanCritic(OpenAIChatAtomicFlow):
CF_PlanCritic.yaml CHANGED
@@ -38,7 +38,7 @@ human_message_prompt_template:
38
  - "query"
39
  template_format: jinja2
40
 
41
- query_message_prompt_template:
42
  _target_: langchain.PromptTemplate
43
  template: |2-
44
  # Problem statement
@@ -65,7 +65,7 @@ query_message_prompt_template:
65
  - "plan"
66
  template_format: jinja2
67
 
68
- input_keys:
69
  - "problem_description"
70
  - "input_description"
71
  - "output_description"
 
38
  - "query"
39
  template_format: jinja2
40
 
41
+ init_human_message_prompt_template:
42
  _target_: langchain.PromptTemplate
43
  template: |2-
44
  # Problem statement
 
65
  - "plan"
66
  template_format: jinja2
67
 
68
+ init_input_keys:
69
  - "problem_description"
70
  - "input_description"
71
  - "output_description"
CF_PlanReflect.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "PlanReflect_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -50,3 +48,7 @@ subflows_config:
50
 
51
  - _target_: martinjosifoski.CC_flows.FixedReply_PlanReflect.instantiate_from_default_config
52
 
 
 
 
 
 
1
  name: "PlanReflect_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
48
 
49
  - _target_: martinjosifoski.CC_flows.FixedReply_PlanReflect.instantiate_from_default_config
50
 
51
+
52
+ reset_every_round:
53
+ PlanGenerator_Flow: False # this is the name of the subflow, may be different for each config, needs to check !
54
+ PlanReflectCritic: True
LC_Code.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_Code(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_Code(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_Code.yaml CHANGED
@@ -33,7 +33,7 @@ human_message_prompt_template:
33
  - "query"
34
  template_format: jinja2
35
 
36
- query_message_prompt_template:
37
  _target_: langchain.PromptTemplate
38
  template: |2-
39
  # Problem statement
@@ -64,7 +64,7 @@ query_message_prompt_template:
64
  template_format: jinja2
65
 
66
  input_data_transformations: []
67
- input_keys:
68
  - "problem_description"
69
  - "io_description"
70
  - "constraints"
 
33
  - "query"
34
  template_format: jinja2
35
 
36
+ init_human_message_prompt_template:
37
  _target_: langchain.PromptTemplate
38
  template: |2-
39
  # Problem statement
 
64
  template_format: jinja2
65
 
66
  input_data_transformations: []
67
+ init_input_keys:
68
  - "problem_description"
69
  - "io_description"
70
  - "constraints"
LC_CodeCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDO: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -43,7 +41,7 @@ subflows_config:
43
  partial_variables:
44
  code_placeholder: "{{python_code}}"
45
  template_format: jinja2
46
- default_human_input_keys:
47
  - "code_feedback"
48
  output_data_transformations:
49
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
@@ -69,3 +67,7 @@ subflows_config:
69
  - _target_: flows.data_transformations.KeyRename
70
  old_key2new_key:
71
  api_output: "code_feedback"
 
 
 
 
 
1
  name: "CodeCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDO: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
41
  partial_variables:
42
  code_placeholder: "{{python_code}}"
43
  template_format: jinja2
44
+ input_keys:
45
  - "code_feedback"
46
  output_data_transformations:
47
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
 
67
  - _target_: flows.data_transformations.KeyRename
68
  old_key2new_key:
69
  api_output: "code_feedback"
70
+
71
+ reset_every_round:
72
+ CodeGenerator: False
73
+ CodeCritic: True
LC_CodeCritic.py CHANGED
@@ -1,6 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
-
4
 
5
  class LC_CodeCritic(OpenAIChatAtomicFlow):
6
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
 
2
 
3
  class LC_CodeCritic(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_CodeCritic.yaml CHANGED
@@ -36,7 +36,7 @@ human_message_prompt_template:
36
  - "query"
37
  template_format: jinja2
38
 
39
- query_message_prompt_template:
40
  _target_: langchain.PromptTemplate
41
  template: |2-
42
  # Problem statement
@@ -67,7 +67,7 @@ query_message_prompt_template:
67
  - "code"
68
  template_format: jinja2
69
 
70
- input_keys:
71
  - "problem_description"
72
  - "io_description"
73
  - "constraints"
 
36
  - "query"
37
  template_format: jinja2
38
 
39
+ init_human_message_prompt_template:
40
  _target_: langchain.PromptTemplate
41
  template: |2-
42
  # Problem statement
 
67
  - "code"
68
  template_format: jinja2
69
 
70
+ init_input_keys:
71
  - "problem_description"
72
  - "io_description"
73
  - "constraints"
LC_CodeCriticWrongAttempt.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_CodeCriticWrongAttempt.yaml CHANGED
@@ -37,7 +37,7 @@ human_message_prompt_template:
37
  - "query"
38
  template_format: jinja2
39
 
40
- query_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
@@ -72,7 +72,7 @@ query_message_prompt_template:
72
  template_format: jinja2
73
 
74
  input_data_transformations: []
75
- input_keys:
76
  - "problem_description"
77
  - "io_description"
78
  - "constraints"
 
37
  - "query"
38
  template_format: jinja2
39
 
40
+ init_human_message_prompt_template:
41
  _target_: langchain.PromptTemplate
42
  template: |2-
43
  # Problem statement
 
72
  template_format: jinja2
73
 
74
  input_data_transformations: []
75
+ init_input_keys:
76
  - "problem_description"
77
  - "io_description"
78
  - "constraints"
LC_CodeCriticWrongAttemptWithPlan.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_CodeCriticWrongAttemptWithPlan(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_CodeCriticWrongAttemptWithPlan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_CodeCriticWrongAttemptWithPlan.yaml CHANGED
@@ -39,7 +39,7 @@ human_message_prompt_template:
39
  - "query"
40
  template_format: jinja2
41
 
42
- query_message_prompt_template:
43
  _target_: langchain.PromptTemplate
44
  template: |2-
45
  # Problem statement
@@ -79,7 +79,7 @@ query_message_prompt_template:
79
  template_format: jinja2
80
 
81
  input_data_transformations: []
82
- input_keys:
83
  - "problem_description"
84
  - "io_description"
85
  - "constraints"
 
39
  - "query"
40
  template_format: jinja2
41
 
42
+ init_human_message_prompt_template:
43
  _target_: langchain.PromptTemplate
44
  template: |2-
45
  # Problem statement
 
79
  template_format: jinja2
80
 
81
  input_data_transformations: []
82
+ init_input_keys:
83
  - "problem_description"
84
  - "io_description"
85
  - "constraints"
LC_CodeDebug.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeDebug_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -39,7 +37,7 @@ subflows_config:
39
  - testing_results_summary
40
  partial_variables:
41
  code_placeholder: "{{python_code}}"
42
- default_human_input_keys:
43
  - "testing_results_summary"
44
  - "all_tests_passed"
45
  output_data_transformations:
@@ -62,3 +60,7 @@ subflows_config:
62
  - _target_: martinjosifoski.CC_flows.LC_CodeTesting.instantiate_from_default_config
63
  overrides:
64
  name: "CodeTestingCritic"
 
 
 
 
 
1
  name: "CodeDebug_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
37
  - testing_results_summary
38
  partial_variables:
39
  code_placeholder: "{{python_code}}"
40
+ input_keys:
41
  - "testing_results_summary"
42
  - "all_tests_passed"
43
  output_data_transformations:
 
60
  - _target_: martinjosifoski.CC_flows.LC_CodeTesting.instantiate_from_default_config
61
  overrides:
62
  name: "CodeTestingCritic"
63
+
64
+ reset_every_round:
65
+ CodeGenerator: False
66
+ CodeTestingCritic: True
LC_CodeDebugCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeDebugCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -44,7 +42,7 @@ subflows_config:
44
  partial_variables:
45
  code_placeholder: "{{python_code}}"
46
  template_format: jinja2
47
- default_human_input_keys:
48
  - "code_feedback"
49
  - "testing_results_summary"
50
  output_data_transformations:
@@ -66,3 +64,7 @@ subflows_config:
66
  - "end_of_interaction"
67
  - _target_: martinjosifoski.CC_flows.LC_CodeDebugCritic.instantiate_from_default_config
68
 
 
 
 
 
 
1
  name: "CodeDebugCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
42
  partial_variables:
43
  code_placeholder: "{{python_code}}"
44
  template_format: jinja2
45
+ input_keys:
46
  - "code_feedback"
47
  - "testing_results_summary"
48
  output_data_transformations:
 
64
  - "end_of_interaction"
65
  - _target_: martinjosifoski.CC_flows.LC_CodeDebugCritic.instantiate_from_default_config
66
 
67
+
68
+ reset_every_round:
69
+ CodeGenerator: False
70
+ CodeDebugCritic_Flow: True
LC_CodeDebugCollabWithPlan.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeDebugCollabWithPlan_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -45,7 +43,7 @@ subflows_config:
45
  partial_variables:
46
  code_placeholder: "{{python_code}}"
47
  template_format: jinja2
48
- default_human_input_keys:
49
  - "code_feedback"
50
  - "testing_results_summary"
51
  output_data_transformations:
@@ -66,3 +64,8 @@ subflows_config:
66
  - "code"
67
  - "end_of_interaction"
68
  - _target_: martinjosifoski.CC_flows.LC_CodeDebugCriticWithPlan.instantiate_from_default_config
 
 
 
 
 
 
1
  name: "CodeDebugCollabWithPlan_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
43
  partial_variables:
44
  code_placeholder: "{{python_code}}"
45
  template_format: jinja2
46
+ input_keys:
47
  - "code_feedback"
48
  - "testing_results_summary"
49
  output_data_transformations:
 
64
  - "code"
65
  - "end_of_interaction"
66
  - _target_: martinjosifoski.CC_flows.LC_CodeDebugCriticWithPlan.instantiate_from_default_config
67
+
68
+
69
+ reset_every_round:
70
+ CodeGenerator: False
71
+ CodeDebugCriticWithPlan_Flow: True
LC_CodeReflect.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "CodeReflect_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -48,3 +46,7 @@ subflows_config:
48
  - "end_of_interaction"
49
 
50
  - _target_: martinjosifoski.CC_flows.FixedReply_CodeReflect.instantiate_from_default_config
 
 
 
 
 
1
  name: "CodeReflect_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
46
  - "end_of_interaction"
47
 
48
  - _target_: martinjosifoski.CC_flows.FixedReply_CodeReflect.instantiate_from_default_config
49
+
50
+ reset_every_round:
51
+ CodeGenerator: False
52
+ CodeReflectCritic: True
LC_CodeWithPlan.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_CodeWithPlan(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_CodeWithPlan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_CodeWithPlan.yaml CHANGED
@@ -35,7 +35,7 @@ human_message_prompt_template:
35
  - "query"
36
  template_format: jinja2
37
 
38
- query_message_prompt_template:
39
  _target_: langchain.PromptTemplate
40
  template: |2-
41
  # Problem statement
@@ -72,7 +72,7 @@ query_message_prompt_template:
72
  template_format: jinja2
73
 
74
  input_data_transformations: []
75
- input_keys:
76
  - "problem_description"
77
  - "io_description"
78
  - "constraints"
 
35
  - "query"
36
  template_format: jinja2
37
 
38
+ init_human_message_prompt_template:
39
  _target_: langchain.PromptTemplate
40
  template: |2-
41
  # Problem statement
 
72
  template_format: jinja2
73
 
74
  input_data_transformations: []
75
+ init_input_keys:
76
  - "problem_description"
77
  - "io_description"
78
  - "constraints"
LC_Plan.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_Plan(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_Plan(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_Plan.yaml CHANGED
@@ -13,7 +13,7 @@ generation_parameters:
13
  presence_penalty: 0
14
 
15
  input_data_transformations: []
16
- input_keys:
17
  - "problem_description"
18
  - "io_description"
19
  - "constraints"
@@ -54,7 +54,7 @@ human_message_prompt_template:
54
  - "query"
55
  template_format: jinja2
56
 
57
- query_message_prompt_template:
58
  _target_: langchain.PromptTemplate
59
  template: |2-
60
  # Problem statement
 
13
  presence_penalty: 0
14
 
15
  input_data_transformations: []
16
+ init_input_keys:
17
  - "problem_description"
18
  - "io_description"
19
  - "constraints"
 
54
  - "query"
55
  template_format: jinja2
56
 
57
+ init_human_message_prompt_template:
58
  _target_: langchain.PromptTemplate
59
  template: |2-
60
  # Problem statement
LC_PlanCollab.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "PlanCollab_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: To increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -41,7 +39,7 @@ subflows_config:
41
  partial_variables:
42
  plan_placeholder: "{{conceptual_solution}}"
43
  template_format: jinja2
44
- default_human_input_keys:
45
  - "plan_feedback"
46
  output_data_transformations:
47
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
@@ -68,3 +66,7 @@ subflows_config:
68
  - _target_: flows.data_transformations.KeyRename
69
  old_key2new_key:
70
  api_output: "plan_feedback"
 
 
 
 
 
1
  name: "PlanCollab_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: To increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
39
  partial_variables:
40
  plan_placeholder: "{{conceptual_solution}}"
41
  template_format: jinja2
42
+ input_keys:
43
  - "plan_feedback"
44
  output_data_transformations:
45
  - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor
 
66
  - _target_: flows.data_transformations.KeyRename
67
  old_key2new_key:
68
  api_output: "plan_feedback"
69
+
70
+ reset_every_round:
71
+ PlanGenerator: False
72
+ PlanCritic: True
LC_PlanCritic.py CHANGED
@@ -1,5 +1,4 @@
1
- from martinjosifoski.OpenAIChatAtomicFlow import OpenAIChatAtomicFlow
2
-
3
 
4
  class LC_PlanCritic(OpenAIChatAtomicFlow):
5
  def __init__(self, **kwargs):
 
1
+ from flows.application_flows import OpenAIChatAtomicFlow
 
2
 
3
  class LC_PlanCritic(OpenAIChatAtomicFlow):
4
  def __init__(self, **kwargs):
LC_PlanCritic.yaml CHANGED
@@ -36,7 +36,7 @@ human_message_prompt_template:
36
  - "query"
37
  template_format: jinja2
38
 
39
- query_message_prompt_template:
40
  _target_: langchain.PromptTemplate
41
  template: |2-
42
  # Problem statement
@@ -65,7 +65,7 @@ query_message_prompt_template:
65
  - "plan"
66
  template_format: jinja2
67
 
68
- input_keys:
69
  - "problem_description"
70
  - "io_description"
71
  - "constraints"
 
36
  - "query"
37
  template_format: jinja2
38
 
39
+ init_human_message_prompt_template:
40
  _target_: langchain.PromptTemplate
41
  template: |2-
42
  # Problem statement
 
65
  - "plan"
66
  template_format: jinja2
67
 
68
+ init_input_keys:
69
  - "problem_description"
70
  - "io_description"
71
  - "constraints"
LC_PlanReflect.yaml CHANGED
@@ -1,8 +1,6 @@
1
  name: "PlanReflect_Flow"
2
  description: "ToDO: add description"
3
 
4
- reset_generator_every_round: False
5
- reset_critic_every_round: True
6
  max_rounds: 2 # ToDo: increase to 4
7
  early_exit_key: "end_of_interaction"
8
 
@@ -62,3 +60,7 @@ subflows_config:
62
  {{conceptual_solution}}
63
  otherwise, reply:
64
  "Final answer."
 
 
 
 
 
1
  name: "PlanReflect_Flow"
2
  description: "ToDO: add description"
3
 
 
 
4
  max_rounds: 2 # ToDo: increase to 4
5
  early_exit_key: "end_of_interaction"
6
 
 
60
  {{conceptual_solution}}
61
  otherwise, reply:
62
  "Final answer."
63
+
64
+ reset_every_round:
65
+ PlanGenerator_Flow: False
66
+ PlanFixedReplyCritic: True
__init__.py CHANGED
@@ -1,11 +1,6 @@
1
  import os
2
  from flows import flow_verse
3
 
4
- dependencies = [
5
- {"url": "martinjosifoski/OpenAIChatAtomicFlow", "revision": "main"},
6
- ]
7
- flow_verse.sync_dependencies(dependencies)
8
-
9
  # cf-code
10
  from .CF_Code import CF_Code
11
  # lc-code
 
1
  import os
2
  from flows import flow_verse
3
 
 
 
 
 
 
4
  # cf-code
5
  from .CF_Code import CF_Code
6
  # lc-code