Files
agent-framework/dotnet/samples/GettingStarted/AgentProviders
T
Stephen Toub 03ef7f054f .NET: Add AgentWorkflowBuilder group chat (#861)
* Add AgentWorkflowBuilder group chat

And fix a variety of issues along the way:
- Use DateTime{Offset}.UtcNow rather than Now
- AIAgentHostExecutor shouldn't be publishing empty messages
- Sequential workflows should be flowing all history and not just the output from the previous agent as the input into the next agent
- Renamed some of the new agent workflow methods... still not super happy with the shape, though
- Simplified handoffs builder, e.g. using a hashset with a custom comparer instead of a dictionary
- Improved multi-service use by trying to change assistant->user role for messages created by other agents
- Changed MessageMerger to rely on M.E.AI's coalescing more and to avoid empty contents / text
- Ensured that messages from ChatClientAgent include MessageId and CreatedAt timestamps
- Avoided including instructions for agents in a handoff workflow that don't have any handoffs
- Removed the unnecessary end function in handoffs
- Improved naming of executors to include agent name for debuggability
- Use "N" formatting with Guid.ToString everywhere, to avoid the unnecessary extra dash character which is also not valid in various places (like function tool names)
- Replace `params T[]` with `params IEnumerable<T>` to make public APIs more flexible in what they consume

* Address feedback

- Fix unintentional provider change in sample
03ef7f054f ยท 2025-09-24 16:38:34 +00:00
History
..

Creating an AIAgent instance for various providers

These samples show how to create an AIAgent instance using various providers. This is not an exhaustive list, but shows a variety of the more popular options.

For other samples that demonstrate how to use AIAgent instances, see the Getting Started Steps samples.

Prerequisites

See the README.md for each sample for the prerequisites for that sample.

Samples

Sample Description
Creating an AIAgent with A2A This sample demonstrates how to create AIAgent for an existing A2A agent.
Creating an AIAgent with AzureFoundry This sample demonstrates how to create an Azure Foundry agent and expose it as an AIAgent
Creating an AIAgent with Azure OpenAI ChatCompletion This sample demonstrates how to create an AIAgent using Azure OpenAI ChatCompletion as the underlying inference service
Creating an AIAgent with Azure OpenAI Responses This sample demonstrates how to create an AIAgent using Azure OpenAI Responses as the underlying inference service
Creating an AIAgent with a custom implementation This sample demonstrates how to create an AIAgent with a custom implementation
Creating an AIAgent with Ollama This sample demonstrates how to create an AIAgent using Ollama as the underlying inference service
Creating an AIAgent with ONNX This sample demonstrates how to create an AIAgent using ONNX as the underlying inference service
Creating an AIAgent with OpenAI Assistants This sample demonstrates how to create an AIAgent using OpenAI Assistants as the underlying inference service.
WARNING: The Assistants API is deprecated and will be shut down. For more information see the OpenAI documentation: https://platform.openai.com/docs/assistants/migration
Creating an AIAgent with OpenAI ChatCompletion This sample demonstrates how to create an AIAgent using OpenAI ChatCompletion as the underlying inference service
Creating an AIAgent with OpenAI Responses This sample demonstrates how to create an AIAgent using OpenAI Responses as the underlying inference service

Running the samples from the console

To run the samples, navigate to the desired sample directory, e.g.

cd AIAgent_With_AzureOpenAIChatCompletion

Set the required environment variables as documented in the sample readme. If the variables are not set, you will be prompted for the values when running the samples. Execute the following command to build the sample:

dotnet build

Execute the following command to run the sample:

dotnet run --no-build

Or just build and run in one step:

dotnet run

Running the samples from Visual Studio

Open the solution in Visual Studio and set the desired sample project as the startup project. Then, run the project using the built-in debugger or by pressing F5.

You will be prompted for any required environment variables if they are not already set.