Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrating Stepwise planner #121

Merged
merged 10 commits into from
Aug 8, 2023

Conversation

teresaqhoang
Copy link
Contributor

@teresaqhoang teresaqhoang commented Aug 7, 2023

Motivation and Context

This PR adds support for Stepwise Planner to enable MRKL style planning in Chat Copilot.
See microsoft/semantic-kernel#1468 for details on how Stepwise Planner works.

  • Stepwise Planner will only be called if a plugin has been enabled. This follows the same logic as Action/Sequential Planner.
  • Added StepwiseStepView and StepwiseThoughtProcess components to render friendly view of Stepwise thought process in prompt dialog.

Description

If Planner returns with thought process:
image

image
image

If Planner returns with suggested response or information
image

Specific Changes:

  • CopilotChatPlanner class:
    • The planner now includes support for the new Stepwise Planner and StepwiseStep model.
    • The planner now includes bailout functionality, which allows the planner to request additional user input if needed.
  • ProposedPlan model:
    • Updated to include a new PlanType called Stepwise.
  • PlannerOptions:
    • Updated to include a new StepwisePlannerConfig property.
  • ChatMemoryController:
    • Updated to sanitize log input by removing new line characters.
  • ExternalInformationSkill class:
    • Updated to use the Stepwise Planner if the PlannerOptions.Type is set to Stepwise.
  • appsettings.json file:
    • Updated to include a new configuration section, StepwisePlannerConfig, which includes settings for the Stepwise Planner feature.
  • TextUtils file:
    • Added utility function to format text containing \n line breaks into paragraphs.

Contribution Checklist

@github-actions github-actions bot added webapp Pull requests that update Typescript code webapi Pull requests that update .net code PR: ready for review labels Aug 7, 2023
@teresaqhoang teresaqhoang linked an issue Aug 7, 2023 that may be closed by this pull request
@teresaqhoang teresaqhoang self-assigned this Aug 7, 2023
@teresaqhoang teresaqhoang requested a review from a team August 7, 2023 23:17
@teresaqhoang teresaqhoang added this pull request to the merge queue Aug 8, 2023
Merged via the queue into microsoft:main with commit 49b8d3a Aug 8, 2023
7 checks passed
@teresaqhoang teresaqhoang deleted the stepwise-planner-1 branch August 8, 2023 23:01
@teresaqhoang teresaqhoang linked an issue Aug 24, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
webapi Pull requests that update .net code webapp Pull requests that update Typescript code
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Complete enhancement for chat copilot for customer demos Planner Enhancements
3 participants