nbaldwin commited on
Commit
ffbfec9
1 Parent(s): c7d37c0

Proper Doc

Browse files
Files changed (1) hide show
  1. README.md +87 -27
README.md CHANGED
@@ -1,9 +1,9 @@
1
  ---
2
  license: mit
3
  ---
4
-
5
  # Table of Contents
6
 
 
7
  * [ControllerAtomicFlow](#ControllerAtomicFlow)
8
  * [Command](#ControllerAtomicFlow.Command)
9
  * [ControllerAtomicFlow](#ControllerAtomicFlow.ControllerAtomicFlow)
@@ -20,7 +20,19 @@ license: mit
20
  * [search\_page\_titles](#wikipediaAPI.WikipediaAPIWrapper.search_page_titles)
21
  * [ControllerExecutorFlow](#ControllerExecutorFlow)
22
  * [ControllerExecutorFlow](#ControllerExecutorFlow.ControllerExecutorFlow)
23
- * [detect\_finish\_or\_continue](#ControllerExecutorFlow.ControllerExecutorFlow.detect_finish_or_continue)
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  <a id="ControllerAtomicFlow"></a>
26
 
@@ -119,18 +131,14 @@ This method instantiates the flow from a configuration file.
119
  #### run
120
 
121
  ```python
122
- def run(input_data: Dict[str, Any]) -> Dict[str, Any]
123
  ```
124
 
125
  This method runs the flow. Note that the response of the LLM is in the JSON format, but it's not a hard constraint (it can hallucinate and return an invalid JSON)
126
 
127
  **Arguments**:
128
 
129
- - `input_data` (`Dict[str, Any]`): The input data of the flow.
130
-
131
- **Returns**:
132
-
133
- `Dict[str, Any]`: The output data of the flow (thought, reasoning, criticism, command, command_args)
134
 
135
  <a id="__init__"></a>
136
 
@@ -177,18 +185,14 @@ Default: "A Flow that queries the wikipedia API for a page content."
177
  #### run
178
 
179
  ```python
180
- def run(input_data: Dict[str, Any]) -> Dict[str, Any]
181
  ```
182
 
183
  Runs the WikiSearch Atomic Flow. It's used to execute a Wikipedia search and get page summaries.
184
 
185
  **Arguments**:
186
 
187
- - `input_data` (`Dict[str, Any]`): The input data dictionary
188
-
189
- **Returns**:
190
-
191
- `Dict[str, Any]`: The output data dictionary
192
 
193
  <a id="wikipediaAPI"></a>
194
 
@@ -223,7 +227,7 @@ It limits the Document content by doc_content_chars_max.
223
  #### validate\_environment
224
 
225
  ```python
226
- @root_validator()
227
  def validate_environment(cls, values: Dict) -> Dict
228
  ```
229
 
@@ -286,7 +290,7 @@ Run Wikipedia search and get page summaries.
286
  ## ControllerExecutorFlow Objects
287
 
288
  ```python
289
- class ControllerExecutorFlow(CircularFlow)
290
  ```
291
 
292
  This class implements a ControllerExecutorFlow. It's composed of a ControllerAtomicFlow and an ExecutorFlow.
@@ -346,25 +350,81 @@ By default, the topology is the one shown in the illustration above
346
  - `flow_config`: The configuration of the flow (see Configuration Parameters).
347
  - `subflows`: A list of subflows. Required when instantiating the subflow programmatically (it replaces subflows_config from flow_config).
348
 
349
- <a id="ControllerExecutorFlow.ControllerExecutorFlow.detect_finish_or_continue"></a>
 
 
 
 
 
 
 
 
350
 
351
- #### detect\_finish\_or\_continue
 
 
352
 
353
  ```python
354
- @CircularFlow.output_msg_payload_processor
355
- def detect_finish_or_continue(
356
- output_payload: Dict[str, Any],
357
- src_flow: ControllerAtomicFlow) -> Dict[str, Any]
358
  ```
359
 
360
- This method is called when the ExecutorAtomicFlow receives a message from the ControllerAtomicFlow. It checks if the flow should finish or continue.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
 
362
  **Arguments**:
363
 
364
- - `output_payload` (`Dict[str, Any]`): The output payload of the ControllerAtomicFlow.
365
- - `src_flow` (`ControllerAtomicFlow`): The ControllerAtomicFlow.
366
 
367
- **Returns**:
 
 
 
 
 
 
 
 
 
 
368
 
369
- The output payload of the ControllerAtomicFlow.
370
 
 
1
  ---
2
  license: mit
3
  ---
 
4
  # Table of Contents
5
 
6
+ * [run](#run)
7
  * [ControllerAtomicFlow](#ControllerAtomicFlow)
8
  * [Command](#ControllerAtomicFlow.Command)
9
  * [ControllerAtomicFlow](#ControllerAtomicFlow.ControllerAtomicFlow)
 
20
  * [search\_page\_titles](#wikipediaAPI.WikipediaAPIWrapper.search_page_titles)
21
  * [ControllerExecutorFlow](#ControllerExecutorFlow)
22
  * [ControllerExecutorFlow](#ControllerExecutorFlow.ControllerExecutorFlow)
23
+ * [generate\_reply](#ControllerExecutorFlow.ControllerExecutorFlow.generate_reply)
24
+ * [get\_next\_state](#ControllerExecutorFlow.ControllerExecutorFlow.get_next_state)
25
+ * [set\_up\_flow\_state](#ControllerExecutorFlow.ControllerExecutorFlow.set_up_flow_state)
26
+ * [call\_controller](#ControllerExecutorFlow.ControllerExecutorFlow.call_controller)
27
+ * [call\_executor](#ControllerExecutorFlow.ControllerExecutorFlow.call_executor)
28
+ * [register\_data\_to\_state](#ControllerExecutorFlow.ControllerExecutorFlow.register_data_to_state)
29
+ * [run](#ControllerExecutorFlow.ControllerExecutorFlow.run)
30
+
31
+ <a id="run"></a>
32
+
33
+ # run
34
+
35
+ A simple script to run a Flow that can be used for development and debugging.
36
 
37
  <a id="ControllerAtomicFlow"></a>
38
 
 
131
  #### run
132
 
133
  ```python
134
+ def run(input_message: FlowMessage)
135
  ```
136
 
137
  This method runs the flow. Note that the response of the LLM is in the JSON format, but it's not a hard constraint (it can hallucinate and return an invalid JSON)
138
 
139
  **Arguments**:
140
 
141
+ - `input_message` (`FlowMessage`): The input data of the flow.
 
 
 
 
142
 
143
  <a id="__init__"></a>
144
 
 
185
  #### run
186
 
187
  ```python
188
+ def run(input_message: FlowMessage)
189
  ```
190
 
191
  Runs the WikiSearch Atomic Flow. It's used to execute a Wikipedia search and get page summaries.
192
 
193
  **Arguments**:
194
 
195
+ - `input_message` (`FlowMessage`): The input message
 
 
 
 
196
 
197
  <a id="wikipediaAPI"></a>
198
 
 
227
  #### validate\_environment
228
 
229
  ```python
230
+ @root_validator(pre=True)
231
  def validate_environment(cls, values: Dict) -> Dict
232
  ```
233
 
 
290
  ## ControllerExecutorFlow Objects
291
 
292
  ```python
293
+ class ControllerExecutorFlow(CompositeFlow)
294
  ```
295
 
296
  This class implements a ControllerExecutorFlow. It's composed of a ControllerAtomicFlow and an ExecutorFlow.
 
350
  - `flow_config`: The configuration of the flow (see Configuration Parameters).
351
  - `subflows`: A list of subflows. Required when instantiating the subflow programmatically (it replaces subflows_config from flow_config).
352
 
353
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.generate_reply"></a>
354
+
355
+ #### generate\_reply
356
+
357
+ ```python
358
+ def generate_reply()
359
+ ```
360
+
361
+ This method generates the reply of the flow. It's called when the flow is finished.
362
 
363
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.get_next_state"></a>
364
+
365
+ #### get\_next\_state
366
 
367
  ```python
368
+ def get_next_state()
 
 
 
369
  ```
370
 
371
+
372
+
373
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.set_up_flow_state"></a>
374
+
375
+ #### set\_up\_flow\_state
376
+
377
+ ```python
378
+ def set_up_flow_state()
379
+ ```
380
+
381
+ Sets up the flow state.
382
+
383
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.call_controller"></a>
384
+
385
+ #### call\_controller
386
+
387
+ ```python
388
+ def call_controller()
389
+ ```
390
+
391
+ Calls the controller: the flow that decides which command to call next.
392
+
393
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.call_executor"></a>
394
+
395
+ #### call\_executor
396
+
397
+ ```python
398
+ def call_executor()
399
+ ```
400
+
401
+ Calls the flow that executes the command instructed by the ControllerAtomicFlow.
402
+
403
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.register_data_to_state"></a>
404
+
405
+ #### register\_data\_to\_state
406
+
407
+ ```python
408
+ def register_data_to_state(input_message)
409
+ ```
410
+
411
+ This method registers the input message data to the flow state. It's everytime a new input message is received.
412
 
413
  **Arguments**:
414
 
415
+ - `input_message` (`FlowMessage`): The input message
 
416
 
417
+ <a id="ControllerExecutorFlow.ControllerExecutorFlow.run"></a>
418
+
419
+ #### run
420
+
421
+ ```python
422
+ def run(input_message: FlowMessage)
423
+ ```
424
+
425
+ Runs the WikiSearch Atomic Flow. It's used to execute a Wikipedia search and get page summaries.
426
+
427
+ **Arguments**:
428
 
429
+ - `input_message` (`FlowMessage`): The input message
430