| # Table of Contents | |
| * [Structure of InteractivePlanGenFlow](#structure-of-interactiveplangenflow) | |
| * [run](#run) | |
| * [InteractivePlanGenFlow](#InteractivePlanGenFlow) | |
| * [InteractivePlanGenFlow](#InteractivePlanGenFlow.InteractivePlanGenFlow) | |
| * [\_\_init\_\_](#InteractivePlanGenFlow.InteractivePlanGenFlow.__init__) | |
| * [instantiate\_from\_config](#InteractivePlanGenFlow.InteractivePlanGenFlow.instantiate_from_config) | |
| * [run](#InteractivePlanGenFlow.InteractivePlanGenFlow.run) | |
| * [\_\_init\_\_](#__init__) | |
| # Structure of InteractivePlanGenFlow | |
| ``` | |
| goal | |
| | | |
| | | |
| | | |
| v | |
| +------------------+ | |
| | PlanGenerator | Generates plan given goal. (https://huggingface.co/aiflows/PlanGeneratorFlowModule) | |
| +------------------+ | |
| | | |
| | (plan) | |
| | | |
| v | |
| +-------------------+ | |
| | PlanFileEdit | Edit a temp file with the plan generated. (https://huggingface.co/aiflows/PlanFileEditFlowModule) | |
| +-------------------+ | |
| | | |
| | (temp_plan_file_location) | |
| | | |
| v | |
| +------------------+ | |
| | ParseFeedback | Opens up the temp file until user closes the file, parse for user feedback. (https://huggingface.co/aiflows/ParseFeedbackFlowModule) | |
| +------------------+ | |
| | | |
| | (plan, feedback) | |
| | | |
| v | |
| plan, feedback | |
| ``` | |
| <a id="run"></a> | |
| # run | |
| <a id="InteractivePlanGenFlow"></a> | |
| # InteractivePlanGenFlow | |
| <a id="InteractivePlanGenFlow.InteractivePlanGenFlow"></a> | |
| ## InteractivePlanGenFlow Objects | |
| ```python | |
| class InteractivePlanGenFlow(SequentialFlow) | |
| ``` | |
| This flow writes code in an interactive manner. It is a sequential flow composed of: | |
| 1. PlanGenerator: generates plan based on the goal. | |
| 2. PlanFileEditor: writes the generated plan to a temp file for the user to see, edit and provide feedback. | |
| 3. ParseFeedback: opens up the temp file with vscode and parses the feedback from the user. | |
| *Input Interface*: | |
| - `goal` | |
| - `plan_file_location` | |
| *Output Interface*: | |
| - `plan` | |
| - `feedback` | |
| - `temp_plan_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="InteractivePlanGenFlow.InteractivePlanGenFlow.__init__"></a> | |
| #### \_\_init\_\_ | |
| ```python | |
| def __init__(**kwargs) | |
| ``` | |
| This function initializes the flow. | |
| **Arguments**: | |
| - `kwargs` (`Dict[str, Any]`): the configuration of the flow. | |
| <a id="InteractivePlanGenFlow.InteractivePlanGenFlow.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**: | |
| `InteractivePlanGenFlow`: the instantiated flow. | |
| <a id="InteractivePlanGenFlow.InteractivePlanGenFlow.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 of the flow. | |
| **Returns**: | |
| `Dict[str, Any]`: the output data of the flow. | |
| <a id="__init__"></a> | |
| # \_\_init\_\_ | |