| ### Structure of ReplanningFlow |
|
|
| ``` |
| goal (info on the old plan), plan (old plan), plan_file_location |
| | |
| 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. |
| - The PlanGenerator of write_plan is replaced with [NewPlanGenFlow](https://huggingface.co/Tachi67/ReplanningFlowModule/blob/main/NewPlanGenFlow.py) to re-plan instead of write plan. |
| |
| How it works: |
| Controller calls write_plan until user is satisfied in the feedback, finish. |
|
|
|
|
| # Table of Contents |
|
|
| * [run\_replanning](#run_replanning) |
| * [ReplanningAskUserFlow](#ReplanningAskUserFlow) |
| * [ReplanningAskUserFlow](#ReplanningAskUserFlow.ReplanningAskUserFlow) |
| * [NewPlanGenFlow](#NewPlanGenFlow) |
| * [ReplanningFlow](#ReplanningFlow) |
| * [ReplanningFlow](#ReplanningFlow.ReplanningFlow) |
| * [\_\_init\_\_](#__init__) |
|
|
| <a id="run_replanning"></a> |
|
|
| # run\_replanning |
| |
| <a id="ReplanningAskUserFlow"></a> |
| |
| # ReplanningAskUserFlow |
| |
| <a id="ReplanningAskUserFlow.ReplanningAskUserFlow"></a> |
| |
| ## ReplanningAskUserFlow Objects |
| |
| ```python |
| class ReplanningAskUserFlow(HumanStandardInputFlow) |
| ``` |
| |
| Refer to: https://huggingface.co/Tachi67/ExtendLibraryFlowModule/blob/main/ExtLibAskUserFlow.py |
| |
| <a id="NewPlanGenFlow"></a> |
| |
| # NewPlanGenFlow |
| |
| <a id="ReplanningFlow"></a> |
| |
| # ReplanningFlow |
| |
| <a id="ReplanningFlow.ReplanningFlow"></a> |
| |
| ## ReplanningFlow Objects |
| |
| ```python |
| class ReplanningFlow(PlanWriterFlow) |
| ``` |
| |
| This flow inherits from PlanWriterFlow. |
| By changing prompts and injecting proper information to the controller and the PlanGenerator, we are able to achieve the replanning. |
| |
| *Input Interface*: |
| - `goal` (str): information on the old plan (e.g. what is wrong) |
| - `plan` (str): the old plan |
| - `plan_file_location` (str): the location of the old plan file |
| |
| *Output Interface*: |
| - `plan` (str): the new plan |
| - `status`: "finished" or "unfinished" |
| - `summary` (str): summary of the flow, will be written to the log file of the caller flow. |
| - `result` (str): result of the flow, will be passed to the controller of the caller flow. |
| |
| <a id="__init__"></a> |
| |
| # \_\_init\_\_ |
|
|
|
|