Files
agent-framework/dotnet
T
Jacob Alber 39e071c430 .NET: Update Workflow Input/Output Redesign (#881)
* feat: Make Executor id field mandatory

When checkpointing is involved, it is critical to keep executor ids consistent between runs, even when recreating a new object tree for the workflow.

The default id-setting mechanism generated a guid for part of the id, making it not work when restoring from a checkpoint.

This change prevents this situation from arising.

* feat: Enable running untyped Workflows

With the change to enable delay-instantiation of executors and support for async Executor factory methods, we must instantiate the starting executor to know what are the valid input types for the workflow.

To avoid forcing instantiation every time, and to better support workflows with multiple input types, we enable support for build and interacting with the base Workflow type without type annotations, and remove the requirement to know a valid input type when initiating a run.

* feat: Support Output from any executor and multiple outputs.
39e071c430 · 2025-09-25 02:03:22 +00:00
History
..

Get Started with Microsoft Agent Framework for C# Developers

Run the Minimal Console demo

The Minimal Console demo is a simple console application which shows how to create and run an agent.

Supported Platforms:

  • .Net: net9.0, net8.0, netstandard2.0, net472
  • OS: Windows, macOS, Linux

If you want to use the latest published packages following the instructions here.

1. Configure required environment variables

This samples uses Azure OpenAI by default so you need to set the following environment variable

$env:AZURE_OPENAI_ENDPOINT = "https://<your deployment>.openai.azure.com/"

If you want to use OpenAI

  1. Edit Program.cs and change the following lines:
    AIAgent agent = new AzureOpenAIClient(
      new Uri(Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!),
      new AzureCliCredential())
       .GetChatClient("gpt-4o-mini")
       .CreateAIAgent(
         instructions: "You are a helpful assistant, you can help the user with weather information.",
         tools: [AIFunctionFactory.Create(GetWeather)]);
    
    To this:
    AIAgent agent = new OpenAIClient(Environment.GetEnvironmentVariable("OPENAI_API_KEY")!)
      .GetChatClient("gpt-4o-mini")
      .CreateAIAgent(
        instructions: "You are a helpful assistant, you can help the user with weather information.",
        tools: [AIFunctionFactory.Create(GetWeather)]);
    
  2. Create an environment variable with your OpenAI key
    $env:OPENAI_API_KEY = "sk-..."
    

2. Build the project

cd demos\MinimalConsole
dotnet build

3. Run the demonstration

dotnet run --framework net9.0 --no-build

Sample output:

The weather in Amsterdam is currently cloudy, with a high temperature of 15°C.