|
# Table of Contents |
|
|
|
* [InteractiveCodeGenFlow](#InteractiveCodeGenFlow) |
|
* [InteractiveCodeGenFlow](#InteractiveCodeGenFlow.InteractiveCodeGenFlow) |
|
* [\_\_init\_\_](#InteractiveCodeGenFlow.InteractiveCodeGenFlow.__init__) |
|
* [instantiate\_from\_config](#InteractiveCodeGenFlow.InteractiveCodeGenFlow.instantiate_from_config) |
|
* [run](#InteractiveCodeGenFlow.InteractiveCodeGenFlow.run) |
|
* [run](#run) |
|
* [\_\_init\_\_](#__init__) |
|
|
|
<a id="InteractiveCodeGenFlow"></a> |
|
|
|
# InteractiveCodeGenFlow |
|
|
|
<a id="InteractiveCodeGenFlow.InteractiveCodeGenFlow"></a> |
|
|
|
## InteractiveCodeGenFlow Objects |
|
|
|
```python |
|
class InteractiveCodeGenFlow(SequentialFlow) |
|
``` |
|
|
|
This flow writes code in an interactive manner. It is a sequential flow composed of: |
|
1. MemoryReading: reads in the code library. |
|
2. CodeGenerator: generates code based on the goal and functions in the code library. |
|
3. CodeFileEditor: writes the generated code to a temp file for the user to see, edit and provide feedback. |
|
4. ParseFeedback: opens up the temp file with vscode and parses the feedback from the user. |
|
|
|
*Input Interface*: |
|
- `goal` |
|
|
|
*Output Interface*: |
|
- `code` |
|
- `feedback` |
|
- `temp_code_file_location` |
|
|
|
|
|
*Configuration Parameters*: |
|
- `input_interface`: the input interface of the flow. |
|
- `output_interface`: the output interface of the flow. |
|
- `subflows_config`: the configuration of the subflows. |
|
- `early_exit_key`: the key in the state dict that indicates whether the flow should exit early. |
|
- `topology`: the topology of the subflows. |
|
|
|
<a id="InteractiveCodeGenFlow.InteractiveCodeGenFlow.__init__"></a> |
|
|
|
#### \_\_init\_\_ |
|
|
|
```python |
|
def __init__(memory_files: Dict[str, Any], **kwargs) |
|
``` |
|
|
|
This function initializes the flow. |
|
|
|
**Arguments**: |
|
|
|
- `memory_files` (`Dict[str, Any]`): the memory files that are used in the flow. |
|
- `kwargs` (`Any`): the keyword arguments. |
|
|
|
<a id="InteractiveCodeGenFlow.InteractiveCodeGenFlow.instantiate_from_config"></a> |
|
|
|
#### instantiate\_from\_config |
|
|
|
```python |
|
@classmethod |
|
def instantiate_from_config(cls, config) |
|
``` |
|
|
|
This function instantiates the flow from a configuration. |
|
|
|
**Arguments**: |
|
|
|
- `config` (`Dict[str, Any]`): the configuration of the flow. |
|
|
|
**Returns**: |
|
|
|
`Flow`: the instantiated flow. |
|
|
|
<a id="InteractiveCodeGenFlow.InteractiveCodeGenFlow.run"></a> |
|
|
|
#### run |
|
|
|
```python |
|
def run(input_data: Dict[str, Any]) -> Dict[str, Any] |
|
``` |
|
|
|
This function runs the flow. |
|
|
|
**Arguments**: |
|
|
|
- `input_data` (`Dict[str, Any]`): the input data to the flow. |
|
|
|
**Returns**: |
|
|
|
`Dict[str, Any]`: the output data from the flow. |
|
|
|
<a id="run"></a> |
|
|
|
# run |
|
|
|
<a id="__init__"></a> |
|
|
|
# \_\_init\_\_ |
|
|
|
|