llmflows
                                
                                
                                
                                    llmflows copied to clipboard
                            
                            
                            
                        FunctionalFlowStep
Why not use **kwargs here?
https://github.com/stoyan-stoyanov/llmflows/blob/3c4ceb7964dd85d0ab59f7865aa37337201454fa/llmflows/flows/functional_flowstep.py#L42
Then you can name keyword args to the function (i.e., generate), and the remaining will be the arguments for flowstep_fn, so this will go away
https://github.com/stoyan-stoyanov/llmflows/blob/3c4ceb7964dd85d0ab59f7865aa37337201454fa/llmflows/flows/functional_flowstep.py#L58-L60
Rename flowstep_fn to inner_fn or step_fn; it's part of a flowstep class, so the context is already clear.
https://github.com/stoyan-stoyanov/llmflows/blob/3c4ceb7964dd85d0ab59f7865aa37337201454fa/llmflows/flows/functional_flowstep.py#L39
^ is not used.
Good point. Actually, the generate() method is supposed to be used only by the flow class so it might be also _generate() And looking at it the return type is too general.
Also, the flow class should be already taking care of passing the right inputs so I don't know why I added the filtered_inputs check.
required_keys is used in the flow class: https://github.com/stoyan-stoyanov/llmflows/blob/3c4ceb7964dd85d0ab59f7865aa37337201454fa/llmflows/flows/flow.py#L76
If the two are that tightly interlinked, then you should have a runtime check that you have a flowstep instance.