Skip to content

Integrating Stepwise planner #121

Merged
teresaqhoang merged 10 commits intomicrosoft:mainfrom
teresaqhoang:stepwise-planner-1
Aug 8, 2023
Merged

Integrating Stepwise planner #121
teresaqhoang merged 10 commits intomicrosoft:mainfrom
teresaqhoang:stepwise-planner-1

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 requested a review from glahaye August 8, 2023 22:58
@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
@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
teamleader-dev pushed a commit to vlink-group/chat-copilot that referenced this pull request Oct 7, 2024
### Motivation and Context

<!-- Thank you for your contribution to the copilot-chat 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.
-->

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

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

If Planner returns with thought process:

![image](https://github.com/microsoft/chat-copilot/assets/125500434/ef8b2dee-4bfb-44f8-a363-b8469196ebce)


![image](https://github.com/microsoft/chat-copilot/assets/125500434/88cdc5a9-ba9f-4341-bd13-80d3f1532951)

![image](https://github.com/microsoft/chat-copilot/assets/125500434/72027814-7085-4346-944d-999284e84a12)

If Planner returns with suggested response or information 

![image](https://github.com/microsoft/chat-copilot/assets/125500434/31a2b011-7590-4d82-86a3-a1e5799e019b)

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

<!-- 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/copilot-chat/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
~~- [ ] All unit tests pass, and I have added new tests where possible~~
- [x] I didn't break anyone 😄
kb0039 pushed a commit to aaronba/chat-copilot that referenced this pull request Jan 8, 2025
### Motivation and Context

<!-- Thank you for your contribution to the copilot-chat 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.
-->

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

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

If Planner returns with thought process:

![image](https://github.com/microsoft/chat-copilot/assets/125500434/ef8b2dee-4bfb-44f8-a363-b8469196ebce)


![image](https://github.com/microsoft/chat-copilot/assets/125500434/88cdc5a9-ba9f-4341-bd13-80d3f1532951)

![image](https://github.com/microsoft/chat-copilot/assets/125500434/72027814-7085-4346-944d-999284e84a12)

If Planner returns with suggested response or information 

![image](https://github.com/microsoft/chat-copilot/assets/125500434/31a2b011-7590-4d82-86a3-a1e5799e019b)

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

<!-- 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/copilot-chat/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
~~- [ ] All unit tests pass, and I have added new tests where possible~~
- [x] I didn't break anyone 😄
jdtoombs pushed a commit to jdtoombs/chat-copilot that referenced this pull request Apr 10, 2025
…n/webapp/fluentui/react-components-9.58.1

build(deps): bump @fluentui/react-components from 9.58.0 to 9.58.1 in /webapp
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