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

.Net Agents - Agent History Propagation #7216

Merged
merged 37 commits into from
Jul 17, 2024
Merged

Conversation

crickman
Copy link
Contributor

@crickman crickman commented Jul 11, 2024

Motivation and Context

Desired behavior:

  • Yield function-result when IAutoFunctionInvocationFilter terminates processing.
  • Include all function related content in primary chat history
  • Broadcast all function related content to agent channels

Description

Adds ability for agent channel to signal which messages are:

  • Visible to the primary message loop
  • Or, silently added to chat history

Normally function related content exists only in the history, but when IAutoFunctionInvocationFilter terminates processing, the message with the FunctionResultContent is expected to visible in the primary message loop.

Also fixed where mutated chat-history is captured for streaming case.

Contribution Checklist

@crickman crickman added .NET Issue or Pull requests regarding .NET code experimental Associated with an experimental feature enhancement agents labels Jul 11, 2024
@crickman crickman self-assigned this Jul 11, 2024
@crickman crickman changed the title .Net Agents - Agent Chat Filters and History Propegation .Net Agents - Agent Chat Filters and History Propegation (DRAFT) Jul 11, 2024
@crickman crickman added the PR: in progress Under development and/or addressing feedback label Jul 11, 2024
@markwallace-microsoft markwallace-microsoft added the kernel Issues or pull requests impacting the core kernel label Jul 12, 2024
@crickman crickman changed the title .Net Agents - Agent Chat Filters and History Propegation (DRAFT) .Net Agents - Agent Chat Customization and History Propegation (DRAFT) Jul 12, 2024
@crickman crickman changed the title .Net Agents - Agent Chat Customization and History Propegation (DRAFT) .Net Agents - Agent History Propegation (DRAFT) Jul 15, 2024
@markwallace-microsoft markwallace-microsoft removed kernel Issues or pull requests impacting the core kernel kernel.core labels Jul 15, 2024
@crickman crickman changed the title .Net Agents - Agent History Propegation (DRAFT) .Net Agents - Agent History Propegation Jul 15, 2024
@crickman crickman marked this pull request as ready for review July 15, 2024 22:39
@crickman crickman requested a review from a team as a code owner July 15, 2024 22:39
@markwallace-microsoft markwallace-microsoft added the kernel Issues or pull requests impacting the core kernel label Jul 16, 2024
@crickman crickman requested a review from glahaye July 16, 2024 18:41
@glahaye glahaye changed the title .Net Agents - Agent History Propegation .Net Agents - Agent History Propagation Jul 16, 2024
@crickman crickman added PR: ready for review All feedback addressed, ready for reviews and removed PR: in progress Under development and/or addressing feedback labels Jul 17, 2024
@crickman crickman requested a review from EdenTanami July 17, 2024 15:48
@crickman crickman added this pull request to the merge queue Jul 17, 2024
Merged via the queue into main with commit 4d612c3 Jul 17, 2024
15 checks passed
@crickman crickman deleted the fix_agent_history_propagation branch July 17, 2024 16:31
@crickman crickman removed the PR: ready for review All feedback addressed, ready for reviews label Jul 24, 2024
LudoCorporateShark pushed a commit to LudoCorporateShark/semantic-kernel that referenced this pull request Aug 25, 2024
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel 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.
-->

Desired behavior:

- Yield function-result when IAutoFunctionInvocationFilter terminates
processing.
- Include all function related content in primary chat history
- Broadcast all function related content to agent channels

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

Adds ability for agent channel to signal which messages are:
- Visible to the primary message loop
- Or, silently added to chat history

Normally function related content exists only in the history, but when
IAutoFunctionInvocationFilter terminates processing, the message with
the `FunctionResultContent` is expected to visible in the primary
message loop.

Also fixed where mutated chat-history is captured for streaming case.

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

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/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 😄
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agents enhancement experimental Associated with an experimental feature kernel Issues or pull requests impacting the core kernel .NET Issue or Pull requests regarding .NET code
Projects
Archived in project
5 participants