CC_flows / CF_CodeCollab.yaml
martinjosifoski's picture
partially propagate changes (#7)
ca366eb
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"