semantic-kernel icon indicating copy to clipboard operation
semantic-kernel copied to clipboard

Python: Introduce the single, non-group chat completion agent

Open moonbox3 opened this issue 1 year ago • 1 comments

Motivation and Context

Following in the steps of dotnet, we're beginning to add agent support to Python. For an initial implementation the focus is on non-grouped, chat completion agents. The first pass is covering a ChatCompletionAgent that allows the user to define a ChatCompletion Service as part of the SK Kernel, and then reference that service in an agent implementation.

Description

The PR:

  • Adds support for a standard chat completion agent
  • Adds the required abstractions to allow the single chat completion agent to work
  • Introduces a new agent concept sample showing how to invoke the agent for a streaming and non-streaming context.
  • Adds unit tests to cover the new code
  • Closes #7079

Contribution Checklist

moonbox3 avatar Jul 05 '24 18:07 moonbox3

Py3.10 Test Coverage

Python 3.10 Test Coverage Report •
FileStmtsMissCoverMissing
TOTAL698638095% 
report-only-changed-files is enabled. No files were changed during this commit :)

Python 3.10 Unit Test Overview

Tests Skipped Failures Errors Time
1782 1 :zzz: 0 :x: 0 :fire: 25.108s :stopwatch:

markwallace-microsoft avatar Jul 05 '24 18:07 markwallace-microsoft