Fixing issues in the Jupyter notebook for the planner
Motivation and Context
-
Why is this change required? This change fixes the issue in dotnet Jupyternotebooks, for the planner examples
-
What problem does it solve? It useses different classes for the planer, and in addition it fixes few smaller issues regarding configuration and presenting of the resultes
-
What scenario does it contribute to? Sample / Jupyter notbooks
-
If it fixes an open issue, please link to the issue here. -->
Description
- Changed the used nuget version
- Changed the old PlannerSkill class to SequentialPlanner
- local config files, for azure and open AI, both must have all the properties as otherwise Json deserializer throws an exception, as I used manually changed config files, had issue in configuring both of them, so I added missing json properties
- in the Planner originalPlan.Variables.ToPlan().PlanString has been removed so I created a new method in Utils and used that one
Contribution Checklist
- [] The code builds clean without any errors or warnings - this is my first time contributing in Juniper so I am not sure this is all great.
- [x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with
dotnet format - [ ] I didn't break anyone :smile:
@kaza please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]Options:
- (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
- (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"Contributor License Agreement
@microsoft-github-policy-service agree
Thank you so much for creating this! This notebook needed to get updated to reflect the latest planner refactor. One comment from my side, for this particular example, could you show the output of the cells in the Jupyter notebook? Since it's a popular notebook that a lot of people like to look at (even on the Github website), it would be good to see what a "plan" looks like.
Thanks again!
@lemillermicrosoft @RogerBarreto can you take a look?
@alexchaomander I included the plans. if you want I can create additonal paragraph for an additonal plan, and I can create this in another PR if you want.
@kaza thanks for the PR, I'll leave some comments
@kaza could you allow us to edit the PR of minor adjustments before merging?
also, could you "Clear All Outputs" ?
I'd be glad to do it but we cannot edit the PR
I cleared all the outputs hover previously I was asked to inoclude them "could you show the output of the cells in the Jupyter notebook?". If you want I can generate them and include them again :)
sorry for the churn @kaza -- yes we like showing the output but we cherry pick which cell, so rather than asking you which one and giving complex instructions I thought it would be easier to just drop the output, and we'll adjust it afterwards during the release process
I would remove the custom serialization logic before merging, and leverage .NET JSON serializer + the fact that the Plan data structure is serializable