For the needs of a prototype, I had to chain actions (and so functions).
Currently, SequentialPlanner is able to chain functions, but output of a function is directly linked to the parameter of a following function.
Considering users, of the Copilot ChatApp for example, that can ask for any kind of request with supported functions/skills, we don't know how functions will be chained.
A common issue could be that one function return a whole text with, let's say the properties of an email, and the final function/action will be to send an email based on the properties. The last function/action will ask for an email as parameter but we only return a whole text/set of properties from the initial function.
Allowing SequentialPlanner to use LLM to prepare properties before the execution of a function if it contains variables from a previous step will allow an easier chaining of function and more use cases/action plan to be handled without any customization and less complexity in skills implementation.
I have made this implementation for my prototype, if it make sense, I can submit a PR with my changes.
For the needs of a prototype, I had to chain actions (and so functions).
Currently, SequentialPlanner is able to chain functions, but output of a function is directly linked to the parameter of a following function.
Considering users, of the Copilot ChatApp for example, that can ask for any kind of request with supported functions/skills, we don't know how functions will be chained.
A common issue could be that one function return a whole text with, let's say the properties of an email, and the final function/action will be to send an email based on the properties. The last function/action will ask for an email as parameter but we only return a whole text/set of properties from the initial function.
Allowing SequentialPlanner to use LLM to prepare properties before the execution of a function if it contains variables from a previous step will allow an easier chaining of function and more use cases/action plan to be handled without any customization and less complexity in skills implementation.
I have made this implementation for my prototype, if it make sense, I can submit a PR with my changes.