| ### Structure of PlanWriterFlow | |
| ``` | |
| goal | |
| | | |
| v | |
| +---------------+ | |
| | Controller | --------<<<<-----------+ | |
| +---------------+ | | |
| | | | |
| | (command, command args) | | |
| | | | |
| v | | |
| +------------------+ | | |
| | Executor | Each branch is an | | |
| | (Tree Structure) | executor | | |
| +------------------+ | | |
| | ^ | |
| | (summary) | | |
| | | | |
| v | | |
| | | | |
| +-> goes back to the Controller>-+ | |
| ``` | |
| Structure of the Executors: | |
| ``` | |
| +-------------------+ | |
| | Branching | | |
| | Executor | | |
| +-------------------+ | |
| / \ | |
| / \ | |
| / \ | |
| / \ | |
| write_plan ask_user | |
| ``` | |
| About the branches: | |
| - [ask_user](https://huggingface.co/Tachi67/PlanWriterFlowModule/blob/main/PlanWriterAskUserFlow.py): Ask user for info / confirmation, etc. | |
| - [write_plan](https://huggingface.co/Tachi67/InteractivePlanGenFlowModule): Generates plan (user edit is allowed) and fetches user feedback. | |
| How it works: | |
| Controller calls write_plan until user is satisfied in the feedback, finish. | |
| # Table of Contents | |
| * [run\_planwriter](#run_planwriter) | |
| * [PlanWriterAskUserFlow](#PlanWriterAskUserFlow) | |
| * [PlanWriterAskUserFlow](#PlanWriterAskUserFlow.PlanWriterAskUserFlow) | |
| * [PlanWriterFlow](#PlanWriterFlow) | |
| * [PlanWriterFlow](#PlanWriterFlow.PlanWriterFlow) | |
| * [\_\_init\_\_](#__init__) | |
| * [PlanWriterCtrlFlow](#PlanWriterCtrlFlow) | |
| * [PlanWriterCtrlFlow](#PlanWriterCtrlFlow.PlanWriterCtrlFlow) | |
| <a id="run_planwriter"></a> | |
| # run\_planwriter | |
| <a id="PlanWriterAskUserFlow"></a> | |
| # PlanWriterAskUserFlow | |
| <a id="PlanWriterAskUserFlow.PlanWriterAskUserFlow"></a> | |
| ## PlanWriterAskUserFlow Objects | |
| ```python | |
| class PlanWriterAskUserFlow(HumanStandardInputFlow) | |
| ``` | |
| Refer to: https://huggingface.co/Tachi67/ExtendLibraryFlowModule/blob/main/ExtLibAskUserFlow.py | |
| <a id="PlanWriterFlow"></a> | |
| # PlanWriterFlow | |
| <a id="PlanWriterFlow.PlanWriterFlow"></a> | |
| ## PlanWriterFlow Objects | |
| ```python | |
| class PlanWriterFlow(ContentWriterFlow) | |
| ``` | |
| This flow inherits from ContentWriterFlow. | |
| In the subflow of the executor, we specify the InteractivePlanGneFlow (https://huggingface.co/Tachi67/InteractivePlanGenFlowModule) | |
| *Input Interface*: | |
| - `goal` | |
| *Output Interface*: | |
| - `plan` | |
| - `result` | |
| - `summary` | |
| - `status` | |
| <a id="__init__"></a> | |
| # \_\_init\_\_ | |
| <a id="PlanWriterCtrlFlow"></a> | |
| # PlanWriterCtrlFlow | |
| <a id="PlanWriterCtrlFlow.PlanWriterCtrlFlow"></a> | |
| ## PlanWriterCtrlFlow Objects | |
| ```python | |
| class PlanWriterCtrlFlow(ChatAtomicFlow) | |
| ``` | |
| Refer to: https://huggingface.co/Tachi67/JarvisFlowModule/blob/main/Controller_JarvisFlow.py | |