---
license: mit
---
# Table of Contents
* [HumanStandardInputFlow](#HumanStandardInputFlow)
* [HumanStandardInputFlow](#HumanStandardInputFlow.HumanStandardInputFlow)
* [instantiate\_from\_config](#HumanStandardInputFlow.HumanStandardInputFlow.instantiate_from_config)
* [run](#HumanStandardInputFlow.HumanStandardInputFlow.run)
# HumanStandardInputFlow
## HumanStandardInputFlow Objects
```python
class HumanStandardInputFlow(AtomicFlow)
```
This class implements a HumanStandardInputFlow. It's used to read input from the user/human. Typically used to get feedback from the user/human.
*Configuration Parameters*:
- `name` (str): The name of the flow.
- `description` (str): A description of the flow. This description is used to generate the help message of the flow.
Default: "Reads input from the user's standard input."
- `request_multi_line_input_flag` (bool): If True, the user/human is requested to enter a multi-line input.
If False, the user/human is requested to enter a single-line input. Default: No defaul, this parameter is required.
- `end_of_input_string` (str): The string that the user/human should enter to indicate that the input is finished.
This parameter is only used if "request_multi_line_input_flag" is True. Default: "EOI"
- `query_message_prompt_template` (JinjaPrompt): The prompt template used to generate the query message. By default its of type aiflows.prompt_template.JinjaPrompt.
None of the parameters of the prompt are defined by default and therefore need to be defined if one wants to use the init_human_message_prompt_template. Default parameters are defined in
aiflows.prompt_template.jinja2_prompts.JinjaPrompt.
- The other parameters are inherited from the default configuration of AtomicFlow (see AtomicFlow)
*input_interface*:
- No Input Interface. By default, the input interface expects no input. But if inputs are expected from the query_message_prompt_template,then the input interface should contain the keys specified in the input_variables of the query_message_prompt_template.
*output_interface*:
- `human_input` (str): The message inputed from the user/human.
**Arguments**:
- `query_message_prompt_template` (`JinjaPrompt`): The prompt template used to generate the query message. Expected if the class is instantiated programmatically.
- `\**kwargs` (`Dict[str, Any]`): The keyword arguments passed to the AtomicFlow constructor. Use to create the flow_config. Includes request_multi_line_input_flag, end_of_input_string, input_keys, description of Configuration Parameters.
#### instantiate\_from\_config
```python
@classmethod
def instantiate_from_config(cls, config)
```
Instantiates the flow from a config file.
**Arguments**:
- `config` (`Dict[str, Any]`): The configuration of the flow.
#### run
```python
def run(input_data: Dict[str, Any]) -> Dict[str, Any]
```
Runs the HumanStandardInputFlow. It's used to read input from the user/human's standard input.
**Arguments**:
- `input_data` (`Dict[str, Any]`): The input data dictionary
**Returns**:
`Dict[str, Any]`: The output data dictionary