If you know the functions in advance, having a simple if elif set of statements may be better. Or a match statement if you're using 3.10
You can also do the import in the statement so you only load the function required.
It also allows you to use a custom call signature per function, instead of requiring a common interface
Also, if you log your parameters to something like mlflow you might find this approach cleaner