WorkflowCompletedEvent, introduce workflow output and migrate to ctx.yield_output() + a huge refactoring (#845)
* Introduce input and output types for executor and workflow * WorkflowOutputContext handles two types * Remove can_handle_types from Executor * Update validation * Move workflow executor * Move workflow executor * Fix issues in WorkflowExecutor * refactor executor * update execute signature to create workflow context within Executor * fix simple sub workflow test; fix validation * fix output types in WorkflowExecutor * fix issue in Executor handling of SubWorkflowRequestInfo * update tests to use proper workflow output * update orchestration patterns to use output * Update sample -- not finished * Update python/packages/main/tests/workflow/test_workflow_states.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update python/packages/main/tests/workflow/test_concurrent.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * address comments * WorkflowOutputContext --> WorkflowContext * remove WorkflowCompletedEvent * update samples * Update doc string for important classes; update WorkflowExecutor to support concurrent execution * use Never instead of None for default type * Update usage of WorkflowContext[None to WorkflowContext[Never * address comments * remove filter for None * address comments, minor fixes * quality of life improvement on interceptor types --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
WorkflowCompletedEvent, introduce workflow output and migrate to ctx.yield_output() + a huge refactoring (#845)
Microsoft Agent Framework
Welcome to the Private Preview of Agent Framework!
You're getting early access to Microsoft's comprehensive multi-language framework for building, orchestrating, and deploying AI agents with support for both .NET and Python implementations. This framework provides everything from simple chat agents to complex multi-agent workflows with graph-based orchestration.
📋 Important Setup Information
Package Availability: Public PyPI and NuGet packages are not yet available. You have two options:
Option 1: Run samples directly from this repository (no package installation needed)
- Clone this repository
- For .NET: Run samples with
dotnet runfrom any sample directory (e.g.,dotnet/samples/GettingStarted/Agents/Agent_Step01_Running) - For Python: Run samples from any sample directory (e.g.,
python/samples/getting_started/minimal_sample.py) after setting up the local dev environment following this guide.
Option 2: Install packages in your own project
- .NET Getting Started Guide - Instructions for using nightly packages
- Python Package Installation Guide - Install packages directly from GitHub
Stay Updated: This is an active project - sync your local repository regularly to get the latest updates.
💬 We want your feedback!
- For bugs, please file a GitHub issue.
- For feedback and suggestions for the team, please fill out this survey.
✨ Highlights
- Flexible Agent Framework: build, orchestrate, and deploy AI agents and workflows
- Multi-Agent Orchestration: group chat, sequential, concurrent, and handoff patterns
- Graph-based Workflows: connect agents and deterministic functions using data flows with streaming, checkpointing, time-travel, and Human-in-the-loop.
- Plugin Ecosystem: extend with native functions, OpenAPI, Model Context Protocol (MCP), and more
- LLM Support: OpenAI, Azure OpenAI, Azure AI Foundry, and more
- Runtime Support: in-process and distributed agent execution
- Multimodal: text, vision, and function calling
- Cross-Platform: .NET and Python implementations
Below are the basics for each language implementation. For more details on python see here and for .NET see here.
More Examples & Samples
Python
- Getting Started with Agents: basic agent creation and tool usage
- Chat Client Examples: direct chat client usage patterns
- Azure Integration: Azure OpenAI and AI Foundry integration
- Getting Started with Workflows: basic workflow creation and integration with agents
.NET
- Getting Started with Agents: basic agent creation and tool usage
- Agent Provider Samples: samples showing different agent providers
- Orchestration Samples: advanced multi-agent patterns
Agent Framework Documentation
- Python documentation
- DotNet documentation
- Agent Framework Repository
- Design Documents
- Architectural Decision Records
- Learn docs are coming soon.