|
### Structure of ContentWriterFlow |
|
|
|
``` |
|
goal |
|
| |
|
v |
|
+---------------+ |
|
| Controller | --------<<<<-----------+ |
|
+---------------+ | |
|
| | |
|
| (command, command args) | |
|
| | |
|
v | |
|
+------------------+ | |
|
| Executor | Each branch is an | |
|
| (Tree Structure) | executor | |
|
+------------------+ | |
|
| ^ |
|
| (summary) | |
|
| | |
|
v | |
|
| | |
|
+-> goes back to the Controller>-+ |
|
|
|
``` |
|
|
|
This is an abstract class. It is inherited by [CodeWriterFlow](https://huggingface.co/Tachi67/CodeWriterFlowModule) and [PlanWriterFlow](https://huggingface.co/Tachi67/PlanWriterFlowModule) |
|
|
|
# Table of Contents |
|
|
|
* [ContentWritrerFlow](#ContentWritrerFlow) |
|
* [ContentWriterFlow](#ContentWritrerFlow.ContentWriterFlow) |
|
* [detect\_finish\_or\_continue](#ContentWritrerFlow.ContentWriterFlow.detect_finish_or_continue) |
|
* [\_\_init\_\_](#__init__) |
|
|
|
<a id="ContentWritrerFlow"></a> |
|
|
|
# ContentWritrerFlow |
|
|
|
<a id="ContentWritrerFlow.ContentWriterFlow"></a> |
|
|
|
## ContentWriterFlow Objects |
|
|
|
```python |
|
class ContentWriterFlow(CircularFlow, ABC) |
|
``` |
|
|
|
This is an abstract class for writing content (plan, code) |
|
The ContentWriterFlow is made of a controller and a branching executor. |
|
Each time the controller is called, the controller decides whether to write content |
|
or to finish. If the content writer executor is called, the executor will write content |
|
in an interactive way, finally, the user is able to give feedback to the content, so that |
|
the controller can decide whether to write content again or to finish. |
|
|
|
*Configuration Parameters*: |
|
- `name` |
|
- `description` |
|
- `max_round` |
|
- `subflows_config`: |
|
- `Controller` (dict): The controller that decides whether to write content or to finish. |
|
- `Executor` (dict): A branching flow, we configure the specific executor in the subflows of the executor. |
|
- `early_exit_key`: The key of the early exit variable in the output payload of the executor. |
|
- `topology`: The topology of the subflows, this describes the I/O interface instances. |
|
|
|
*Input Interface*: |
|
- `goal` |
|
|
|
*Output Interface*: |
|
- `answer` |
|
- `status` |
|
|
|
<a id="ContentWritrerFlow.ContentWriterFlow.detect_finish_or_continue"></a> |
|
|
|
#### detect\_finish\_or\_continue |
|
|
|
```python |
|
@abstractmethod |
|
@CircularFlow.output_msg_payload_processor |
|
def detect_finish_or_continue(output_payload: Dict[str, Any], |
|
src_flow) -> Dict[str, Any] |
|
``` |
|
|
|
1. Writing content to file; |
|
2. Finish and early exit. |
|
|
|
<a id="__init__"></a> |
|
|
|
# \_\_init\_\_ |
|
|
|
|