Python: Rough implementation of the planner in python #232
NOTE: this is work in progress. There are some bugs I need to fix/cleanup (e.g. the plane creation always uses all registered functions), but I'd be eager to get some initial feedback as I'm aware of the refactoring/active development currently ongoing in the C# SK implementation.
Motivation and Context Many Python developers want to start building more powerful intent based AI applications. One of the key components is still missing: The Planner (see issue: https://github.com/microsoft/semantic-kernel/issues/232). This is a (not complete) reimplementation of the C# Planner implementation with deviations where needed (e.g. Python doesn't have a notion of extensions).
Description I have tried to follow the C# Planner implementation as much as possible. I have added two tests which demonstrate how to create a plan and execute a plan. Note (again) that these tests are not properly implemented (yet) and act as a way to demonstrate it's working.
Contribution Checklist
- [x] The code builds clean without any errors or warnings
- [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄