Views
No views yet
goal, memory_files (dict)
|
v
+-------------------+
| MemoryReading | Reads in the content of the memory files
| Flow |
+-------------------+
|
| (memory_content)
|
v
+-------------------+
| PlanWriter | Writes a step-by-step plan to achieve the goal
+-------------------+
|
| (plan)
|
v
+-------------------+
| CtrlExMemFlow | Illustrated below. Carries out the plan in an controller-executor fashion,
| | with memory management mechanisms.
+-------------------+
|
(summary, result)
CtrlExMemFlow: plan, memory_files, memory_content, goal
|
v
+---------------+
| Controller | --------<<<<-----------+
+---------------+ |
| |
| (command, command args) |
| |
v |
+------------------+ |
| Executor | Each branch is an |
| (Tree Structure) | executor |
+------------------+ |
| ^
| (execution results) ^
| ^
v ^
+---------------+ ^
| MemWriteFlow | Updates memory files ^
+---------------+ ^
| ^
| (summary) |
| |
v |
+---------------+ |
| MemReadFlow | Reads updated memory |
+---------------+ |
| |
| (updated memory content) |
| |
+-> goes back to the Controller>-+
+-------------------+
| Branching |
| Executor |
+-------------------+
/ | | | \
/ | | | \
/ | | | \
/ | | | \
Extend_library ask_user re_plan update_plan run_code
class CtrlExMem_CoderFlow(CtrlExMemFlow)planlogscode_library: the signatures and docstring of the functions in the code library.memory_filesgoalresult (str): The result of the flow, the result will be returned to the caller.summary (str): The summary of the flow, the summary will be logged into the logs of the caller flow.class Planner_CoderFlow(PlanWriterFlow)class Controller_CoderFlow(ChatAtomicFlow)class UpdatePlanAtomicFlow(AtomicFlow)updated_plan: the updated plan in string formatresult: the result of the update plan operationclass CoderFlow(AbstractBossFlow)goal (str): The goal from the caller (source flow, i.e. JarvisFlow)result (str): The result of the flow, the result will be returned to the caller (i.e. JarvisFlow).summary (str): The summary of the flow, the summary will be logged into the logs of the caller flow (i.e. JarvisFlow).def run(input_data: Dict[str, Any]) -> Dict[str, Any]input_data (Dict[str, Any]): The input data of the flow.Dict[str, Any]: The output data of the flow.