martinjosifoski
commited on
Commit
•
91b62cb
1
Parent(s):
df98f2b
Remove dep. on application_flows & misc updates.
Browse files- CF_Code.py +1 -1
- CF_Code.yaml +1 -1
- CF_CodeCollab.py +2 -2
- CF_CodeCollab.yaml +1 -3
- CF_CodeCritic.py +1 -1
- CF_CodeCritic.yaml +0 -2
- CF_CodeCriticWrongAttempt.py +1 -1
- CF_CodeDebug.py +2 -2
- CF_CodeDebugCollab.py +2 -2
- CF_CodeDebugCritic.yaml +2 -3
- CF_CodeReflect.py +2 -2
- CF_CodeReflect.yaml +3 -3
- CF_CodeTesting.py +4 -4
- FixedReply_CodeReflect.py +1 -1
- FixedReply_CodeReflect.yaml +2 -1
CF_Code.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from
|
2 |
|
3 |
|
4 |
class CF_Code(OpenAIChatAtomicFlow):
|
|
|
1 |
+
from flow_modules.aiflows.OpenAIChatFlowModule import OpenAIChatAtomicFlow
|
2 |
|
3 |
|
4 |
class CF_Code(OpenAIChatAtomicFlow):
|
CF_Code.yaml
CHANGED
@@ -21,7 +21,7 @@ model_name: "gpt-4"
|
|
21 |
|
22 |
generation_parameters:
|
23 |
n: 1
|
24 |
-
max_tokens:
|
25 |
temperature: 0.3
|
26 |
|
27 |
model_kwargs:
|
|
|
21 |
|
22 |
generation_parameters:
|
23 |
n: 1
|
24 |
+
max_tokens: 3000
|
25 |
temperature: 0.3
|
26 |
|
27 |
model_kwargs:
|
CF_CodeCollab.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
from flows.
|
2 |
|
3 |
|
4 |
-
class CF_CodeCollab(
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
|
|
1 |
+
from flows.base_flows import CircularFlow
|
2 |
|
3 |
|
4 |
+
class CF_CodeCollab(CircularFlow):
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
CF_CodeCollab.yaml
CHANGED
@@ -2,8 +2,8 @@ name: "CodeCollab_Flow"
|
|
2 |
description: |2-
|
3 |
Given a problem description, alternate between a step in which code is generated, and a step in which the produced code is evaluated and useful feedback is provided.
|
4 |
|
5 |
-
|
6 |
max_rounds: 4
|
|
|
7 |
|
8 |
input_interface:
|
9 |
- "problem_description"
|
@@ -89,5 +89,3 @@ topology:
|
|
89 |
api_output: "code_feedback"
|
90 |
|
91 |
reset: true
|
92 |
-
|
93 |
-
early_exit_key: "end_of_interaction"
|
|
|
2 |
description: |2-
|
3 |
Given a problem description, alternate between a step in which code is generated, and a step in which the produced code is evaluated and useful feedback is provided.
|
4 |
|
|
|
5 |
max_rounds: 4
|
6 |
+
early_exit_key: "end_of_interaction"
|
7 |
|
8 |
input_interface:
|
9 |
- "problem_description"
|
|
|
89 |
api_output: "code_feedback"
|
90 |
|
91 |
reset: true
|
|
|
|
CF_CodeCritic.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from
|
2 |
|
3 |
|
4 |
class CF_CodeCritic(OpenAIChatAtomicFlow):
|
|
|
1 |
+
from flow_modules.aiflows.OpenAIChatFlowModule import OpenAIChatAtomicFlow
|
2 |
|
3 |
|
4 |
class CF_CodeCritic(OpenAIChatAtomicFlow):
|
CF_CodeCritic.yaml
CHANGED
@@ -83,5 +83,3 @@ init_human_message_prompt_template:
|
|
83 |
- "io_examples_and_explanation"
|
84 |
- "code"
|
85 |
template_format: jinja2
|
86 |
-
|
87 |
-
|
|
|
83 |
- "io_examples_and_explanation"
|
84 |
- "code"
|
85 |
template_format: jinja2
|
|
|
|
CF_CodeCriticWrongAttempt.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from
|
2 |
|
3 |
|
4 |
class CF_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
|
|
|
1 |
+
from flow_modules.aiflows.OpenAIChatFlowModule import OpenAIChatAtomicFlow
|
2 |
|
3 |
|
4 |
class CF_CodeCriticWrongAttempt(OpenAIChatAtomicFlow):
|
CF_CodeDebug.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
from flows.
|
2 |
|
3 |
|
4 |
-
class CF_CodeDebug(
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
7 |
|
|
|
1 |
+
from flows.base_flows import CircularFlow
|
2 |
|
3 |
|
4 |
+
class CF_CodeDebug(CircularFlow):
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
7 |
|
CF_CodeDebugCollab.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
from flows.
|
2 |
|
3 |
|
4 |
-
class CF_CodeDebugCollab(
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
7 |
|
|
|
1 |
+
from flows.base_flows import CircularFlow
|
2 |
|
3 |
|
4 |
+
class CF_CodeDebugCollab(CircularFlow):
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
7 |
|
CF_CodeDebugCritic.yaml
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
name: "CodeDebugCritic_Flow"
|
2 |
-
description:
|
|
|
3 |
|
4 |
# ~~~ Input interface specification ~~~
|
5 |
input_interface:
|
@@ -17,8 +18,6 @@ output_interface:
|
|
17 |
- "code_feedback"
|
18 |
|
19 |
# ~~~ Flow specification ~~~
|
20 |
-
public_tests_key: "public_tests_individual_io"
|
21 |
-
|
22 |
subflows_config:
|
23 |
CodeTestingCritic:
|
24 |
_target_: .CF_CodeTesting.instantiate_from_default_config
|
|
|
1 |
name: "CodeDebugCritic_Flow"
|
2 |
+
description: |-2
|
3 |
+
Given a problem description and a candidate solution, test the code and provide useful feedback concerning the correctness of the solution and the potential mistakes.
|
4 |
|
5 |
# ~~~ Input interface specification ~~~
|
6 |
input_interface:
|
|
|
18 |
- "code_feedback"
|
19 |
|
20 |
# ~~~ Flow specification ~~~
|
|
|
|
|
21 |
subflows_config:
|
22 |
CodeTestingCritic:
|
23 |
_target_: .CF_CodeTesting.instantiate_from_default_config
|
CF_CodeReflect.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
from flows.
|
2 |
|
3 |
|
4 |
-
class CF_CodeReflect(
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
|
|
1 |
+
from flows.base_flows import CircularFlow
|
2 |
|
3 |
|
4 |
+
class CF_CodeReflect(CircularFlow):
|
5 |
def __init__(self, **kwargs):
|
6 |
super().__init__(**kwargs)
|
CF_CodeReflect.yaml
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
name: "CodeReflect_Flow"
|
2 |
-
description:
|
|
|
3 |
|
4 |
# ~~~ Input interface specification ~~~
|
5 |
input_interface:
|
@@ -14,6 +15,7 @@ output_interface:
|
|
14 |
|
15 |
# ~~~ Flow specification ~~~
|
16 |
max_rounds: 4
|
|
|
17 |
|
18 |
### Subflows specification
|
19 |
subflows_config:
|
@@ -81,5 +83,3 @@ topology:
|
|
81 |
|
82 |
### Reset flag
|
83 |
reset: true
|
84 |
-
|
85 |
-
early_exit_key: "end_of_interaction"
|
|
|
1 |
name: "CodeReflect_Flow"
|
2 |
+
description: |-2
|
3 |
+
Given a problem description, generate code, reflect on it and improve it until a message suggesting that the code seems correct or a maximum number of rounds is reached.
|
4 |
|
5 |
# ~~~ Input interface specification ~~~
|
6 |
input_interface:
|
|
|
15 |
|
16 |
# ~~~ Flow specification ~~~
|
17 |
max_rounds: 4
|
18 |
+
early_exit_key: "end_of_interaction"
|
19 |
|
20 |
### Subflows specification
|
21 |
subflows_config:
|
|
|
83 |
|
84 |
### Reset flag
|
85 |
reset: true
|
|
|
|
CF_CodeTesting.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
from typing import Any, Dict
|
2 |
|
3 |
from flows import logging
|
4 |
-
from flows.utils.general_helpers import
|
5 |
from .src.evaluation import testing_utils_codeforces
|
6 |
from .CodeTesting import CodeTesting
|
7 |
|
@@ -16,10 +16,10 @@ class CF_CodeTesting(CodeTesting):
|
|
16 |
super().__init__(**kwargs)
|
17 |
|
18 |
@classmethod
|
19 |
-
def
|
20 |
-
|
21 |
|
22 |
-
if "public_tests_key" not in kwargs
|
23 |
raise ValueError("At least one of 'public_tests_key' "
|
24 |
"and 'hidden_tests_key' must be specified in the config.")
|
25 |
|
|
|
1 |
from typing import Any, Dict
|
2 |
|
3 |
from flows import logging
|
4 |
+
from flows.utils.general_helpers import validate_flow_config
|
5 |
from .src.evaluation import testing_utils_codeforces
|
6 |
from .CodeTesting import CodeTesting
|
7 |
|
|
|
16 |
super().__init__(**kwargs)
|
17 |
|
18 |
@classmethod
|
19 |
+
def _validate_flow_config(cls, kwargs):
|
20 |
+
validate_flow_config(cls, kwargs)
|
21 |
|
22 |
+
if "public_tests_key" not in kwargs and "hidden_tests_key" not in kwargs:
|
23 |
raise ValueError("At least one of 'public_tests_key' "
|
24 |
"and 'hidden_tests_key' must be specified in the config.")
|
25 |
|
FixedReply_CodeReflect.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from
|
2 |
|
3 |
|
4 |
class FixedReply_CodeReflect(FixedReplyFlow):
|
|
|
1 |
+
from flow_modules.aiflows.FixedReplyFlowModule import FixedReplyFlow
|
2 |
|
3 |
|
4 |
class FixedReply_CodeReflect(FixedReplyFlow):
|
FixedReply_CodeReflect.yaml
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
name: "CodeReflectCritic"
|
2 |
-
description:
|
|
|
3 |
|
4 |
input_interface: []
|
5 |
output_interface:
|
|
|
1 |
name: "CodeReflectCritic"
|
2 |
+
description: |-2
|
3 |
+
A flow that prompts the caller to reflect on the generated code and provide a corrected version if necessary.
|
4 |
|
5 |
input_interface: []
|
6 |
output_interface:
|