mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
40d3a0655c
* Support a message only AIContextProvider as an AIAgent Decorator * Fix formatting * Address PR comments.
40d3a0655c
·
2026-02-19 19:03:56 +00:00
History
Agent Middleware
This sample demonstrates how to add middleware to intercept:
- Chat client calls (global and per‑request)
- Agent runs (guardrails and PII filtering)
- Function calling (logging/override)
What This Sample Shows
- Azure OpenAI integration via
AzureOpenAIClientandDefaultAzureCredential - Chat client middleware using
ChatClientBuilder.Use(...) - Agent run middleware (PII redaction and wording guardrails)
- Function invocation middleware (logging and overriding a tool result)
- Per‑request chat client middleware
- Per‑request function pipeline with approval
- Combining agent‑level and per‑request middleware
- MessageAIContextProvider middleware via
AIAgentBuilder.Use(...)for injecting additional context messages
Function Invocation Middleware
Not all agents support function invocation middleware.
Attempting to use function middleware on agents that do not wrap a ChatClientAgent or derives from it will throw an InvalidOperationException.
Prerequisites
- Environment variables:
AZURE_OPENAI_ENDPOINT: Your Azure OpenAI endpointAZURE_OPENAI_DEPLOYMENT_NAME: Chat deployment name (optional; defaults togpt-4o)
- Sign in with Azure CLI (PowerShell):
az login
Running the Sample
Use PowerShell:
cd dotnet/samples/GettingStarted/Agents/Agent_Step14_Middleware
dotnet run