microsoft / semantic-kernel

Integrate cutting-edge LLM technology quickly and easily into your apps
https://aka.ms/semantic-kernel
MIT License
21.54k stars 3.18k forks source link

.Net: ADR for Semantic Kernel Agent abstractions #4579

Closed markwallace-microsoft closed 2 months ago

markwallace-microsoft commented 8 months ago

The purpose of this task is to create an ADR to define the abstractions that will be used to support the creating of Agents using the Semantic Kernel.

Below are a series of user stories that must be addressed by the ADR.

Strategy

As a developer using Semantic Kernel I can create my own Agent implementations so that my agents can take advantage of Semantic Kernels capabilities.

  1. Our abstractions must align with AutoGen.
  2. Our abstractions must support using OpenAI Assistants API and also other LLMs.
  3. One outcome of this task will be a breakdown of the tasks to be completed so that we can graduate the experimental Agents package.

Implement AutoGen Agent using SK

As a developer I can create an AutoGen Agent using the Semantic Kernel so that I can take advantage of the capabilities of Semantic Kernel in my Agent.

AshD commented 8 months ago

I am interested in this from the perspective of integrating it with local LLMs (LlamaSharp and LMStudio's API server) for our app. I tried the experimental Agent support but it was coupled to the Open AI's Assistants API.

Happy to review this ADR and code.

joslat commented 8 months ago

I would be happy to give a hand too. In reviewing and coding. i have been checking the agents label issues and PRs like @kbeaugrand code, the recent additions on files and the .NET Agents decision https://github.com/microsoft/semantic-kernel/pull/4740 - been playing with Autogen lately - and looking at this https://github.com/microsoft/autogen/issues/48 & the PR https://github.com/microsoft/autogen/pull/924 so I am super interested to dig in and help :)

AshD commented 8 months ago

I did a quick test and it looked liked it was using the OpenAI assistants api.

AutoGen uses the chat completion api which makes it easier to integrate with local OpenAI compatible API implementations.

On Fri, Jan 26, 2024 at 6:31 PM Jose Luis Latorre Millas < @.***> wrote:

I would be happy to give a hand too. In reviewing and coding. i have been checking the agents label issues and PRs like @kbeaugrand https://github.com/kbeaugrand code, the recent additions on files and the .NET Agents decision #4740 https://github.com/microsoft/semantic-kernel/pull/4740 - been playing with Autogen lately - and looking at this microsoft/autogen#48 https://github.com/microsoft/autogen/issues/48 so I am super interested to dig in and help :)

— Reply to this email directly, view it on GitHub https://github.com/microsoft/semantic-kernel/issues/4579#issuecomment-1912921358, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABY4OHWAX4JPNKHYUPBVR3YQRRGJAVCNFSM6AAAAABBWFAM6GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJSHEZDCMZVHA . You are receiving this because you commented.Message ID: @.***>

kbeaugrand commented 8 months ago

I did a quick test and it looked liked it was using the OpenAI assistants

api.

AutoGen uses the chat completion api which makes it easier to integrate

with local OpenAI compatible API implementations.

On Fri, Jan 26, 2024 at 6:31 PM Jose Luis Latorre Millas <

@.***> wrote:

I would be happy to give a hand too. In reviewing and coding.

i have been checking the agents label issues and PRs like @kbeaugrand

https://github.com/kbeaugrand code, the recent additions on files and

the .NET Agents decision #4740

https://github.com/microsoft/semantic-kernel/pull/4740 - been playing

with Autogen lately - and looking at this microsoft/autogen#48

https://github.com/microsoft/autogen/issues/48 so I am super interested

to dig in and help :)

Reply to this email directly, view it on GitHub

https://github.com/microsoft/semantic-kernel/issues/4579#issuecomment-1912921358,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AABY4OHWAX4JPNKHYUPBVR3YQRRGJAVCNFSM6AAAAABBWFAM6GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJSHEZDCMZVHA

.

You are receiving this because you commented.Message ID:

@.***>

@AshD, my implementation doesn't depend on OpenAI backend even if it's the same abstractions but rely on chatcompletion only.

You can run these assistants directly on all models that are supported by the SK. For example with Ollama.