Update JarvisFlow.py
Browse files- JarvisFlow.py +25 -0
JarvisFlow.py
CHANGED
@@ -1,4 +1,29 @@
|
|
1 |
from flow_modules.Tachi67.AbstractBossFlowModule import AbstractBossFlow
|
2 |
|
3 |
class JarvisFlow(AbstractBossFlow):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
pass
|
|
|
1 |
from flow_modules.Tachi67.AbstractBossFlowModule import AbstractBossFlow
|
2 |
|
3 |
class JarvisFlow(AbstractBossFlow):
|
4 |
+
"""JarvisFlow is a flow module for the boss Jarvis. It inherits from AbstractBossFlow. (
|
5 |
+
https://huggingface.co/Tachi67/AbstractBossFlowModule/tree/main). Jarvis is a general purpose agent empowered by
|
6 |
+
multiple large language models and tools including a code interpreter, to take task commands in natural language,
|
7 |
+
and make plans, write and run code in an interactive fashion to finish the task.
|
8 |
+
|
9 |
+
The highlight of Jarvis is that it integrates 17 large language models, each of them prompted differently to achieve
|
10 |
+
seamless inter-model communication and model-user interaction. The structure of Jarvis ensures that it is much more
|
11 |
+
robust, flexible and memory-efficient than previous agents empowered by one single model.
|
12 |
+
What's more, Jarvis integrates modules to allow for llm's memory management, ensuring persisted mid-long term memory
|
13 |
+
and efficient short-term memory management, making its life duration much longer than single-modeled agents,
|
14 |
+
and more powerful, in that it is able to accumulate important knowledge e.g. code library. Jarvis can also take
|
15 |
+
response from the user and the environment (e.g. code execution result), and spontaneously re-plan and re-execute
|
16 |
+
to make the execution more robust and reliable.
|
17 |
+
|
18 |
+
*Configuration Parameters*:
|
19 |
+
- `memory_files` (dict): mem_name-memfile_path pairs. mem_name is the name of the memory (plan, logs, code_library),
|
20 |
+
and memfile_path is the path to the corresponding memory file. Configure this either in the .yaml file, or override
|
21 |
+
the `memory_files` entry when running the flow.
|
22 |
+
- `subflows_config` (dict): configs for subflows.
|
23 |
+
- `MemoryReading`: Module used to read in memory (https://huggingface.co/Tachi67/MemoryReadingFlowModule), output interface
|
24 |
+
configured so that it outputs the neeed memory.
|
25 |
+
- `Planner`: Module used to interactively write plans for Jarvis, the planner is implemented in the JarvisFlow.
|
26 |
+
- `CtrlExMem`: Module used to execute the plan in a controller-executor manner, and update the memory. It is implemented
|
27 |
+
in the JarvisFlow.
|
28 |
+
"""
|
29 |
pass
|