| ### 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 |
| |
| |