Python: Basic JSON-based Planner implementation
Motivation and Context
Many users and customers have expressed interest in having planning capabilities in Python. This PR seeks to provide a basic version of the planner so that people can learn and play around with the concepts and can be comfortable with implementing their own versions.
A Jupyter notebook is included.
Description
Most of the logic of the plan can be found under the PROMPT in basic_planner.py.
There is a known limitation that this currently doesn't explicit parse out arguments that are defined in the semantic function prompts, so when creating the [AVAILABLE FUNCTIONS] string, it just uses the name of the function and the description.
The execution of the plan also happens from start to finish. There is currently no support for piecewise execution.