Tachi67 commited on
Commit
e3637f5
1 Parent(s): 0723ccd

Update JarvisFlow.py

Browse files
Files changed (1) hide show
  1. 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