| name: "OpenAIChatInteractiveFlow" |
| description: "Flow for chatting with an OpenAI Flow and a user providing the input." |
|
|
| max_rounds: null |
|
|
| input_keys: null |
|
|
| output_keys: null |
|
|
| subflows_config: |
| Assistant: |
| _target_: aiflows.OpenAIChatFlowModule.OpenAIChatAtomicFlow.instantiate_from_default_config |
| model_name: "gpt-4" |
| User: |
| _target_: aiflows.HumanStandardInputFlowModule.HumanStandardInputFlow.instantiate_from_default_config |
|
|
| topology: |
| - goal: "Query the assistant" |
|
|
| |
| input_interface: |
| _target_: flows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: flows.data_transformations.KeyMatchInput |
|
|
| |
| flow: Assistant |
| reset_every_round: false |
|
|
| |
| output_interface: |
| _target_: flows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: flows.data_transformations.PrintPreviousMessages |
|
|
| - goal: "Ask the user for input" |
|
|
| |
| input_interface: |
| _target_: flows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: flows.data_transformations.KeyMatchInput |
|
|
| |
| flow: User |
| reset_every_round: true |
|
|
| |
| output_interface: |
| _target_: flows.interfaces.KeyInterface |
| additional_transformations: |
| - _target_: flows.data_transformations.RegexFirstOccurrenceExtractor |
| regex: '(?<=```answer)([\s\S]*?)(?=```)' |
| input_key: "human_input" |
| output_key: "answer" |
| strip: True |
| assert_unique: True |
| - _target_: flows.data_transformations.EndOfInteraction |
| end_of_interaction_string: "<END>" |
| input_key: "human_input" |
| output_key: "end_of_interaction" |
|
|
| early_exit_key: "end_of_interaction" |
|
|