Commit Graph

58 Commits

Author SHA1 Message Date
Ryan Sweet ff7f863e73
Improve e2e integration tests and isolate tests from other things; includes patch to Serializer (#5497)
* integration tests used to use the samples - now they are separate
* patch dictionary problem in serializer
* add Message Registry with dead letter queue that gets checked on new
subs.
2025-02-13 16:43:57 -08:00
Jacob Alber d9432510e4
fix: Switch HelloAgent to use agent_events.proto from the Agents project (#5512)
* There was an inconsistentcy between the package names that prevented
xlang from working even though the actual types were 1:1 compatible
* Also moves the HelloAgent aspire project into the Hello solution
folder
2025-02-12 18:37:42 -05:00
Ryan Sweet 51b601b6d8
re-add hello app host (#5445) 2025-02-07 22:59:38 -05:00
Ryan Sweet edbd20167b
bring back grpc service (#5377)
Restoring the grpc + Orleans server into the project

## Why are these changes needed?

This is the distributed agent runtime for .NET that can manage routing
messages amongst a fleet of grpc agent runtimes.

## Related issue number

## Checks

- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [x] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [x] I've made sure all auto checks have passed.

---------

Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Jacob Alber <jaalber@microsoft.com>
2025-02-07 19:28:55 -05:00
Jacob Alber 9f1c4c924f
.NET AgentChat Part 1: Abstractions, Base Classes, RoundRobin (#5434)
Stands up an initial implementation of the AgentChat project, including abstractions, base classes, and the `RoundRobinGroupChat` implementation.
2025-02-07 17:57:08 -05:00
Jack Gerrits 08f9830bf7
Dotnet Grpc worker implementation (#5245)
Co-authored-by: Jacob Alber <jaalber@microsoft.com>
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-02-05 08:34:02 -08:00
Jack Gerrits bd5a24ba72
Start from just protos in core.grpc (#5243)
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
2025-01-28 17:44:50 -05:00
Griffin Bassman 850377c74a
fix: Various fixes and cleanups to dotnet autogen core (#5242)
Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-01-28 17:13:36 -05:00
Jack Gerrits caa33124bf remove unported things from the solution
formatting
2025-01-28 09:24:16 -05:00
Jack Gerrits a4d8d571b0 getting started sample 2025-01-28 09:24:16 -05:00
Jack Gerrits e9d4dcae64 remove agents project 2025-01-28 09:24:16 -05:00
Jacob Alber b08ce5d1a7 chore: Create a CoreOnly solution configuration 2025-01-28 09:24:16 -05:00
Ryan Sweet b6597fdd24
rysweet-unsubscribe-and-agent-tests-4744 (#4920)
* add tests for core functionality and client/server
* add remove subscription, get subscriptions
* fix LOTS of bugs
* add grpc tuning
* adapt to latest agreed agents_worker proto changes.
2025-01-24 19:24:00 -08:00
Ryan Sweet 0bfc0652ae
Rysweet 4702 add microsoftautogenagenthost package (#4703) 2024-12-14 12:20:18 -08:00
Ryan Sweet a19c848622
rysweet-4677-rename-agents-project-to-core-trim-dependencies (#4696)
* move optional base agents to separate package
* rename main sdk to Core
* reduce dependency graph
Co-authored-by: @rysweet 
Authored-by: @kostapetan 
Co-authored-by: @kopetan-ms
2024-12-13 11:55:43 -08:00
Ryan Sweet c169df8b7b
Rysweet 4679 move grpc to runtimegrpc project (#4680)
* refactor moving grpc runtime to a separate project
2024-12-13 09:29:57 -08:00
Ryan Sweet 55e157cb99
Rysweet refactor 4670 rename abstractions to contracts (#4674)
* refactor renaming agent base

* 1st draft

* 1st draft

* format

* rename the tsts

* move IagentWorker

* 1st draft

* format

* gen-proto

* run gen-proto-samples

* format

* merge problem format
2024-12-12 19:43:26 -08:00
Ryan Sweet 7d01bc6136
adds integration test for the InMemoryRuntime (#4659)
* adds integration test for the InMemoryRuntime

* format

* expand timeout for in memory runtime tests
2024-12-11 12:59:02 -08:00
Ryan Sweet d96997232f
rysweet-4150-xlang-ci-test (#4596)
adds aspire-based integration test that validates:
* registration
* subscriptions
* event delivery
* python -> .NET server -> python subscriber
* .NET -> .NET server  -> python subscriber
* python -> .NET server -> .NET subscriber
2024-12-09 14:07:59 -08:00
Xiaoyun Zhang bd81183751
.NET renaming Microsoft.AutoGen.* package (#4286)
* renaming package

* update folder name to match extension structure

* more renaming and adding tags

* fix header

---------

Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2024-11-20 11:15:21 -08:00
Ryan Sweet 458d273fc4
Refactoring the services and implementing an in-memory runtime for .NET (#4005)
closes #3950 closes #3702

What this is doing:

I am refactoring the services on the .NET runtime and attempting to clarify the naming and organization.
I added this doc to help capture the naming and concepts.
AgentRuntime / Worker should work similar to the python version and enables running the whole agent system in one process. For remote the system uses the versions of the services in the grpc folder.
lots of other bug fixes/threading cleanup - passing cancellation token throughout
Services update clarifies the naming and roles:

Worker: Hosts the Agents and is a client to the Gateway
Gateway:
-- RPC gateway for the other services APIs
-- Provides an RPC bridge between the workers and the Event Bus
Registry: keeps track of the agents in the system and which events they can handle
AgentState: persistent state for agents
2024-11-12 11:04:59 -08:00
Diego Colombo 621b17ebbe
Simplify publish events in agent (#4093)
* simplify publishing imessage contracts

use new api

complete adoption

remove unused project

more delete

more delete

* rename methods

* formatting

* Add task type that are messages to enable multi-modal tasks. (#4091)

* Add task type that are messages to enable multi-modal tasks.

* fix test

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-11-08 14:16:24 +00:00
Xiaoyun Zhang 5e0b677acc
[.NET] Create tools from M.E.A.I AIFunctionFactory (#4041)
* add MEAI tool support

* fix format

* update

---------

Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2024-11-03 09:18:32 -08:00
Xiaoyun Zhang 6bea055b26
[.Net] Add a generic `IHandle` interface so AgentRuntime doesn't need to deal with typed handler (#3985)
* add IHandle for object type

* rename handle -> handleObject

* remove duplicate file header setting

* update

* remove AgentId

* fix format
2024-10-30 11:53:37 -07:00
Ryan Sweet 51cd5b8d1f
interface inheritance examples (#3989)
changes to AgentBase and HostBuilderExtensions to enable leveraging handlers from composition (interfaces) vs inheritance... see HelloAgents sample for usage

closes #3928
is related to #3925
2024-10-30 09:51:01 -07:00
Ryan Sweet 14846a3e84
first draft of stateful persistence grains for each agent.... (#3954)
* adds Orleans persistence for AgentState
2024-10-28 17:28:36 -07:00
Xiaoyun Zhang 6925cd436a
mitigate dotnet interactive blocking issue (#3982)
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2024-10-28 17:01:03 -07:00
Ryan Sweet bf407d99b4
rysweet-adopt .NET Microsoft.Extensions.AI abstractions (#3790)
adopts the new Microsoft.Extensions.AI abstractions
adds a base InferenceAgent
fixes a lot of pain points in the runtime wrt startup/shutdown
fixes some uncaught exceptions in the grpc stream reading
adds an example for running the backend service in its own process
adds an example of an agent that connects to OpenAI/Ollama
adds an example of wrapping an agent app in .NET Aspire
upgrades some dependencies and removes some others
Known bugs: #3922
2024-10-23 14:23:36 -07:00
Ryan Sweet 460a6817ea
refactoring the dotnet folder and namespace structure for better long term maintenance and clarity #3809 (#3810)
closes #3809 - refactor .NET code foldersand namespaces for better clarity and maintainability
2024-10-16 20:09:39 -07:00
Ryan Sweet 0214299de5
updating dependencies and build to ensure works with net9 (#3800)
* interim - doesn't work - sharing

* turn off EnforceExtended

* works with dotnet build now... ;-)

* interim progress

* more updates

* make VS happy

* update

* Update AutoGen.Ollama.csproj

* Update Microsoft.AutoGen.Agents.Abstractions.csproj

* Delete dotnet/test/AutoGen.Gemini.Tests/ApprovalTests/FunctionContractExtensionTests.ItGenerateGetWeatherToolTest.received.txt

* fix tests

---------

Co-authored-by: XiaoYun Zhang <xiaoyuz@microsoft.com>
2024-10-16 11:03:05 -07:00
Ryan Sweet 8e37cef69d
Rysweet dotnet folder moves (#3693)
* add service defaults to Host

* add otel to app host

* ran format

* remove HelloAgents

* moving things around to fit the folder structure/naming conventions


---------

Co-authored-by: Xiaoyun Zhang <bigmiao.zhang@gmail.com>
2024-10-09 09:58:21 -07:00
Ryan Sweet a5e9b50448
remove broken sample and update readme quickstart for the good sample (#3687) 2024-10-09 05:38:45 -07:00
Ryan Sweet e40056789a
Rysweet hello fix (#3683)
Fixing the HelloWorld sample and some refactoring of .NET code, adding App and Host classes in client and runtime.
2024-10-08 10:02:48 -07:00
Xiaoyun Zhang 5c7498cc08 Dotnet package cleanup and reconciliation of dirs 2024-10-02 12:57:50 -04:00
Xiaoyun Zhang 18d52f606a
Merge dotnet conflict (#3) 2024-09-30 19:32:48 -04:00
Jack Gerrits 3a62798af8 Merge work in progress autogen 0.4 to main 2024-09-30 10:15:34 -04:00
Ryan Sweet dca82b3f5d
Rysweet dotnet refactor (#624)
rename the main classes and mixup folder structure
move some tings from samples into core
cleanup cross-deps
cleanup grpc deps
2024-09-24 09:26:30 -07:00
Ryan Sweet 1edf5cfe9c
working on scaffolding a new dotnet intro sample for #531 (#536)
* interim stash

* interim stash

* interim checkpoint

* broken stash

* whoops

* merge sln files

* fix a bunch of refactoring errors

* moving more to core vs samples

* interim

* fixup the devteam sample

* fix ci

* fixup soln file

* trying to fix ci

* trying to fix ci

* adding back

* still trying

* recreate

* next step

* adding it back

* trying to fix

* Rename Autogen -> AutoGen (#567)

* Add transparency faqs (#566)

* remove Autogen

* add AutoGen back

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

---------

Co-authored-by: Xiaoyun Zhang <xiaoyuz@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-09-19 01:41:44 +00:00
Ryan Sweet 7d7fc8a912
.NET cleanup and refactor (#558)
Moves some shared code from samples into core.
complete/cleanup the rename to Microsoft.AutoGen
adds new projects in AutoGen.Extensions
2024-09-18 11:57:51 -07:00
Xiaoyun Zhang 4193cea267
[.Net] Add AutoGen.OpenAI package that uses OpenAI v2 SDK (#3402)
* udpate

* add sample to connect to azure oai

* update comment

* ping to beta5

* add openai tests

* format code

* add structural output example

* update comment

* fix test

* resolve comments

* fix format issue

* update sk version
2024-08-27 21:37:47 +00:00
Xiaoyun Zhang eb160d9d4a
[.Net] Rename AutoGen.OpenAI to AutoGen.OpenAI.V1 (#3358)
* fix build error

* rename AutoGen.OpenAI to AutoGen.OpenAI.V1
2024-08-21 20:45:15 +00:00
Xiaoyun Zhang 4dab28c769
[.Net] Add AutoGen.AzureAIInference (#3332)
* add AutoGen.AzureAIInference

* add tests

* update readme

* fix format
2024-08-08 23:33:14 +00:00
Xiaoyun Zhang b021e44540
[.Net] Agent as service: Run an `IAgent` as openai chat completion endpoint (#2633)
* update

* add test

* clean up

* update

* Delete dotnet/src/AutoGen.Server/AutoGen.Service.csproj.user

* implement streaming

* add sample project

* rename AutoGen.Service to AutoGen.WebAPI

* rename AutoGen.Service to AutoGen.WebAPI
2024-07-11 16:34:15 +00:00
Xiaoyun Zhang 57ec13c2eb
[.Net] add sample on how to make function call using lite llm and ollama Plus move ollama openai sample to AutoGen.OpenAI.Sample project (#3015)
* add sample

* Update Connect_To_Ollama.cs

* Update Connect_To_Ollama.cs
2024-06-26 15:33:28 +00:00
Jeffrey Su 08726421fc
#2708 add Add a judgment to the graph constructor (#2709)
* #2708 add Add a judgment to the graph constructor

* #2708 add Add a judgment to the graph constructor & added unit test

* #2708 #2079 move GraphTests to AutoGen.Tests; delete AutoGen.Core.Tests project
2024-06-25 23:09:08 +00:00
Xiaoyun Zhang 393f6fc76c
[.Net] fix #2859 (#2974)
* add getting start sample project

* update

* update

* revert change
2024-06-20 17:47:31 +00:00
Xiaoyun Zhang a16b307dc0
[.Net] Add Goolge gemini (#2868)
* update

* add vertex gemini test

* remove DTO

* add test for vertexGeminiAgent

* update test name

* update IGeminiClient interface

* add test for streaming

* add message connector

* add gemini message extension

* add tests

* update

* add gemnini sample

* update examples

* add test for iamge

* fix test

* add more tests

* add streaming message test

* add comment

* remove unused json

* implement google gemini client

* update

* fix comment
2024-06-10 17:31:45 +00:00
Xiaoyun Zhang 84c7c2430c
[.Net] Add AOT compatible check for AutoGen.Core (#2858)
* add AutoGen.AotCompatibility test

* add aot test

* fix build error

* update ps1 path
2024-06-04 15:01:11 +00:00
David Luong 5a5c0f2a11
Remove duplicate project declared in AutoGen.sln (#2789)
* remove duplicate project in AutoGen.sln

* Add EndProject
2024-05-24 20:17:41 +00:00
David Luong 4fec246342
Introduce AnthropicClient and AnthropicClientAgent (#2769)
* Reference project

Revert "Set up the Agent. Basic Example set up, boilerplate for connector, ran into signing issue."

This reverts commit 0afe04f2

End to end working anthropic agent + unit tests

Set up the Agent. Basic Example set up, boilerplate for connector, ran into signing issue.

* Add pragma warning

* - Remove Message type
- tabbing fix white space in csproj
- Remove redundant inheritance
- Edit Anthropic.Tests' rootnamespace
- Create AutoGen.Anthropic.Samples

* short-cut agent extension method

* Pass system message in the constructor and throw if there's system message in Imessages

---------

Co-authored-by: luongdavid <luongdavid@microsoft.com>
2024-05-24 16:37:16 +00:00