Skip to content

Python: Rough implementation of the planner in python #232#476

Closed
Sruinard wants to merge 3 commits into
microsoft:mainfrom
Sruinard:feature/implement-planner-232
Closed

Python: Rough implementation of the planner in python #232#476
Sruinard wants to merge 3 commits into
microsoft:mainfrom
Sruinard:feature/implement-planner-232

Conversation

@Sruinard

Copy link
Copy Markdown

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: #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

@adrianwyatt adrianwyatt added the python Pull requests for the Python Semantic Kernel label Apr 17, 2023
@dluc dluc self-assigned this Apr 19, 2023
@lemillermicrosoft

Copy link
Copy Markdown
Member

Please see updated planning now that PR is in. #523

I'll mark this as draft for now if that's okay.

@lemillermicrosoft lemillermicrosoft added the PR: in progress Under development and/or addressing feedback label Apr 21, 2023
@lemillermicrosoft lemillermicrosoft marked this pull request as draft April 21, 2023 19:49
@dluc

dluc commented Apr 21, 2023

Copy link
Copy Markdown
Contributor

@Sruinard thanks for the draft, we're about done with an important refactoring in the C# code base and soon we'll check in a basic planner, setting the fundamental POM (plan object model) that we can also reuse for this more advanced one. For now we're closing this PR, please feel free to reach out for more details in case you want to port this or work on some other planner related features.

@dluc dluc closed this Apr 21, 2023
golden-aries pushed a commit to golden-aries/semantic-kernel that referenced this pull request Oct 24, 2023
### Motivation and Context

<!-- Thank you for your contribution to the chat-copilot repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Muliple instances of VolatileMemory do not share state.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Gil LaHaye <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: in progress Under development and/or addressing feedback python Pull requests for the Python Semantic Kernel

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants