Files
Ren Finlayson 539852f81c
Some checks are pending
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / paths-filter (push) Waiting to run
dotnet-build-and-test / dotnet-build-and-test (Debug, windows-latest, net9.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build-and-test (Release, integration, true, ubuntu-latest, net10.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build-and-test (Release, integration, true, windows-latest, net472) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build-and-test (Release, ubuntu-latest, net8.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build-and-test-check (push) Blocked by required conditions
test
2026-01-24 03:05:12 +11:00
..
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00
2026-01-24 03:05:12 +11:00

Python Samples

This directory contains samples demonstrating the capabilities of Microsoft Agent Framework for Python.

Agents

A2A (Agent-to-Agent)

File Description
getting_started/agents/a2a/agent_with_a2a.py Agent2Agent (A2A) Protocol Integration Sample

Anthropic

File Description
getting_started/agents/anthropic/anthropic_basic.py Agent with Anthropic Client
getting_started/agents/anthropic/anthropic_advanced.py Advanced sample with thinking and hosted tools.

Azure AI (based on azure-ai-agents V1 package)

File Description
getting_started/agents/azure_ai_agent/azure_ai_basic.py Azure AI Agent Basic Example
getting_started/agents/azure_ai_agent/azure_ai_with_azure_ai_search.py Azure AI Agent with Azure AI Search Example
getting_started/agents/azure_ai_agent/azure_ai_with_bing_grounding.py Azure AI agent with Bing Grounding search for real-time web information
getting_started/agents/azure_ai_agent/azure_ai_with_code_interpreter.py Azure AI Agent with Code Interpreter Example
getting_started/agents/azure_ai_agent/azure_ai_with_code_interpreter_file_generation.py Azure AI Agent with Code Interpreter File Generation Example
getting_started/agents/azure_ai_agent/azure_ai_with_existing_agent.py Azure AI Agent with Existing Agent Example
getting_started/agents/azure_ai_agent/azure_ai_with_existing_thread.py Azure AI Agent with Existing Thread Example
getting_started/agents/azure_ai_agent/azure_ai_with_explicit_settings.py Azure AI Agent with Explicit Settings Example
getting_started/agents/azure_ai_agent/azure_ai_with_file_search.py Azure AI agent with File Search capabilities
getting_started/agents/azure_ai_agent/azure_ai_with_function_tools.py Azure AI Agent with Function Tools Example
getting_started/agents/azure_ai_agent/azure_ai_with_hosted_mcp.py Azure AI Agent with Hosted MCP Example
getting_started/agents/azure_ai_agent/azure_ai_with_local_mcp.py Azure AI Agent with Local MCP Example
getting_started/agents/azure_ai_agent/azure_ai_with_multiple_tools.py Azure AI Agent with Multiple Tools Example
getting_started/agents/azure_ai_agent/azure_ai_with_openapi_tools.py Azure AI agent with OpenAPI tools
getting_started/agents/azure_ai_agent/azure_ai_with_thread.py Azure AI Agent with Thread Management Example

Azure AI (based on azure-ai-projects V2 package)

File Description
getting_started/agents/azure_ai/azure_ai_basic.py Azure AI Agent Basic Example
getting_started/agents/azure_ai/azure_ai_use_latest_version.py Azure AI Agent latest version reuse example
getting_started/agents/azure_ai/azure_ai_with_azure_ai_search.py Azure AI Agent with Azure AI Search Example
getting_started/agents/azure_ai/azure_ai_with_bing_grounding.py Azure AI Agent with Bing Grounding Example
getting_started/agents/azure_ai/azure_ai_with_bing_custom_search.py Azure AI Agent with Bing Custom Search Example
getting_started/agents/azure_ai/azure_ai_with_browser_automation.py Azure AI Agent with Browser Automation Example
getting_started/agents/azure_ai/azure_ai_with_code_interpreter.py Azure AI Agent with Code Interpreter Example
getting_started/agents/azure_ai/azure_ai_with_code_interpreter_file_generation.py Azure AI Agent with Code Interpreter File Generation Example
getting_started/agents/azure_ai/azure_ai_with_existing_agent.py Azure AI Agent with Existing Agent Example
getting_started/agents/azure_ai/azure_ai_with_existing_conversation.py Azure AI Agent with Existing Conversation Example
getting_started/agents/azure_ai/azure_ai_with_explicit_settings.py Azure AI Agent with Explicit Settings Example
getting_started/agents/azure_ai/azure_ai_with_file_search.py Azure AI Agent with File Search Example
getting_started/agents/azure_ai/azure_ai_with_hosted_mcp.py Azure AI Agent with Hosted MCP Example
getting_started/agents/azure_ai/azure_ai_with_response_format.py Azure AI Agent with Structured Output Example
getting_started/agents/azure_ai/azure_ai_with_thread.py Azure AI Agent with Thread Management Example
getting_started/agents/azure_ai/azure_ai_with_image_generation.py Azure AI Agent with Image Generation Example
getting_started/agents/azure_ai/azure_ai_with_microsoft_fabric.py Azure AI Agent with Microsoft Fabric Example
getting_started/agents/azure_ai/azure_ai_with_web_search.py Azure AI Agent with Web Search Example

Azure OpenAI

File Description
getting_started/agents/azure_openai/azure_assistants_basic.py Azure OpenAI Assistants Basic Example
getting_started/agents/azure_openai/azure_assistants_with_code_interpreter.py Azure OpenAI Assistants with Code Interpreter Example
getting_started/agents/azure_openai/azure_assistants_with_existing_assistant.py Azure OpenAI Assistants with Existing Assistant Example
getting_started/agents/azure_openai/azure_assistants_with_explicit_settings.py Azure OpenAI Assistants with Explicit Settings Example
getting_started/agents/azure_openai/azure_assistants_with_function_tools.py Azure OpenAI Assistants with Function Tools Example
getting_started/agents/azure_openai/azure_assistants_with_thread.py Azure OpenAI Assistants with Thread Management Example
getting_started/agents/azure_openai/azure_chat_client_basic.py Azure OpenAI Chat Client Basic Example
getting_started/agents/azure_openai/azure_chat_client_with_explicit_settings.py Azure OpenAI Chat Client with Explicit Settings Example
getting_started/agents/azure_openai/azure_chat_client_with_function_tools.py Azure OpenAI Chat Client with Function Tools Example
getting_started/agents/azure_openai/azure_chat_client_with_thread.py Azure OpenAI Chat Client with Thread Management Example
getting_started/agents/azure_openai/azure_responses_client_basic.py Azure OpenAI Responses Client Basic Example
getting_started/agents/azure_openai/azure_responses_client_image_analysis.py Azure OpenAI Responses Client with Image Analysis Example
getting_started/agents/azure_openai/azure_responses_client_with_code_interpreter.py Azure OpenAI Responses Client with Code Interpreter Example
getting_started/agents/azure_openai/azure_responses_client_with_explicit_settings.py Azure OpenAI Responses Client with Explicit Settings Example
getting_started/agents/azure_openai/azure_responses_client_with_function_tools.py Azure OpenAI Responses Client with Function Tools Example
getting_started/agents/azure_openai/azure_responses_client_with_hosted_mcp.py Azure OpenAI Responses Client with Hosted Model Context Protocol (MCP) Example
getting_started/agents/azure_openai/azure_responses_client_with_local_mcp.py Azure OpenAI Responses Client with local Model Context Protocol (MCP) Example
getting_started/agents/azure_openai/azure_responses_client_with_thread.py Azure OpenAI Responses Client with Thread Management Example

Copilot Studio

File Description
getting_started/agents/copilotstudio/copilotstudio_basic.py Copilot Studio Agent Basic Example
getting_started/agents/copilotstudio/copilotstudio_with_explicit_settings.py Copilot Studio Agent with Explicit Settings Example

Custom

File Description
getting_started/agents/custom/custom_agent.py Custom Agent Implementation Example
getting_started/agents/custom/custom_chat_client.py Custom Chat Client Implementation Example

Ollama

The recommended way to use Ollama is via the native OllamaChatClient from the agent-framework-ollama package.

File Description
getting_started/agents/ollama/ollama_agent_basic.py Basic Ollama Agent with native Ollama Chat Client
getting_started/agents/ollama/ollama_agent_reasoning.py Ollama Agent with reasoning capabilities
getting_started/agents/ollama/ollama_chat_client.py Direct usage of Ollama Chat Client
getting_started/agents/ollama/ollama_chat_multimodal.py Ollama Chat Client with multimodal (image) input
getting_started/agents/ollama/ollama_with_openai_chat_client.py Alternative: Ollama via OpenAI Chat Client

OpenAI

File Description
getting_started/agents/openai/openai_assistants_basic.py OpenAI Assistants Basic Example
getting_started/agents/openai/openai_assistants_with_code_interpreter.py OpenAI Assistants with Code Interpreter Example
getting_started/agents/openai/openai_assistants_with_existing_assistant.py OpenAI Assistants with Existing Assistant Example
getting_started/agents/openai/openai_assistants_with_explicit_settings.py OpenAI Assistants with Explicit Settings Example
getting_started/agents/openai/openai_assistants_with_file_search.py OpenAI Assistants with File Search Example
getting_started/agents/openai/openai_assistants_with_function_tools.py OpenAI Assistants with Function Tools Example
getting_started/agents/openai/openai_assistants_with_thread.py OpenAI Assistants with Thread Management Example
getting_started/agents/openai/openai_chat_client_basic.py OpenAI Chat Client Basic Example
getting_started/agents/openai/openai_chat_client_with_explicit_settings.py OpenAI Chat Client with Explicit Settings Example
getting_started/agents/openai/openai_chat_client_with_function_tools.py OpenAI Chat Client with Function Tools Example
getting_started/agents/openai/openai_chat_client_with_local_mcp.py OpenAI Chat Client with Local MCP Example
getting_started/agents/openai/openai_chat_client_with_thread.py OpenAI Chat Client with Thread Management Example
getting_started/agents/openai/openai_chat_client_with_web_search.py OpenAI Chat Client with Web Search Example
getting_started/agents/openai/openai_chat_client_with_runtime_json_schema.py OpenAI Chat Client with runtime JSON Schema for structured output without a Pydantic model
getting_started/agents/openai/openai_responses_client_basic.py OpenAI Responses Client Basic Example
getting_started/agents/openai/openai_responses_client_image_analysis.py OpenAI Responses Client Image Analysis Example
getting_started/agents/openai/openai_responses_client_image_generation.py OpenAI Responses Client Image Generation Example
getting_started/agents/openai/openai_responses_client_reasoning.py OpenAI Responses Client Reasoning Example
getting_started/agents/openai/openai_responses_client_with_code_interpreter.py OpenAI Responses Client with Code Interpreter Example
getting_started/agents/openai/openai_responses_client_with_explicit_settings.py OpenAI Responses Client with Explicit Settings Example
getting_started/agents/openai/openai_responses_client_with_file_search.py OpenAI Responses Client with File Search Example
getting_started/agents/openai/openai_responses_client_with_function_tools.py OpenAI Responses Client with Function Tools Example
getting_started/agents/openai/openai_responses_client_with_hosted_mcp.py OpenAI Responses Client with Hosted MCP Example
getting_started/agents/openai/openai_responses_client_with_local_mcp.py OpenAI Responses Client with Local MCP Example
getting_started/agents/openai/openai_responses_client_with_structured_output.py OpenAI Responses Client with Structured Output Example
getting_started/agents/openai/openai_responses_client_with_thread.py OpenAI Responses Client with Thread Management Example
getting_started/agents/openai/openai_responses_client_with_web_search.py OpenAI Responses Client with Web Search Example

Chat Client

File Description
getting_started/chat_client/azure_ai_chat_client.py Azure AI Chat Client Direct Usage Example
getting_started/chat_client/azure_assistants_client.py Azure OpenAI Assistants Client Direct Usage Example
getting_started/chat_client/azure_chat_client.py Azure Chat Client Direct Usage Example
getting_started/chat_client/azure_responses_client.py Azure OpenAI Responses Client Direct Usage Example
getting_started/chat_client/chat_response_cancellation.py Chat Response Cancellation Example
getting_started/chat_client/openai_assistants_client.py OpenAI Assistants Client Direct Usage Example
getting_started/chat_client/openai_chat_client.py OpenAI Chat Client Direct Usage Example
getting_started/chat_client/openai_responses_client.py OpenAI Responses Client Direct Usage Example

Context Providers

Mem0

File Description
getting_started/context_providers/mem0/mem0_basic.py Basic Mem0 integration example
getting_started/context_providers/mem0/mem0_oss.py Mem0 OSS (Open Source) integration example
getting_started/context_providers/mem0/mem0_threads.py Mem0 with thread management example

Redis

File Description
getting_started/context_providers/redis/redis_basics.py Basic Redis provider example
getting_started/context_providers/redis/redis_conversation.py Redis conversation context management example
getting_started/context_providers/redis/redis_threads.py Redis with thread management example

Other

File Description
getting_started/context_providers/simple_context_provider.py Simple context provider implementation example
getting_started/context_providers/aggregate_context_provider.py Shows how to combine multiple context providers using an AggregateContextProvider

Declarative

File Description
getting_started/declarative/azure_openai_responses_agent.py Basic agent using Azure OpenAI with structured responses
getting_started/declarative/get_weather_agent.py Agent with custom function tools using declarative bindings
getting_started/declarative/inline_yaml.py Agent created from inline YAML string
getting_started/declarative/mcp_tool_yaml.py MCP tool configuration with API key and Azure Foundry connection auth
getting_started/declarative/microsoft_learn_agent.py Agent with MCP server integration for Microsoft Learn documentation
getting_started/declarative/openai_responses_agent.py Basic agent using OpenAI directly

DevUI

File Description
getting_started/devui/fanout_workflow/workflow.py Complex fan-out/fan-in workflow example
getting_started/devui/foundry_agent/agent.py Azure AI Foundry agent example
getting_started/devui/in_memory_mode.py In-memory mode example for DevUI
getting_started/devui/spam_workflow/workflow.py Spam detection workflow example
getting_started/devui/weather_agent_azure/agent.py Weather agent using Azure OpenAI example
getting_started/devui/workflow_agents/workflow.py Workflow with multiple agents example

Evaluation

File Description
getting_started/evaluation/red_teaming/red_team_agent_sample.py Red team agent evaluation sample for Azure AI Foundry
getting_started/evaluation/self_reflection/self_reflection.py LLM self-reflection with AI Foundry graders example
demos/workflow_evaluation/run_evaluation.py Multi-agent workflow evaluation demo with travel planning agents evaluated using Azure AI Foundry evaluators

MCP (Model Context Protocol)

File Description
getting_started/mcp/agent_as_mcp_server.py Agent as MCP Server Example
getting_started/mcp/mcp_api_key_auth.py MCP Authentication Example

Middleware

File Description
getting_started/middleware/agent_and_run_level_middleware.py Agent and run-level middleware example
getting_started/middleware/chat_middleware.py Chat middleware example
getting_started/middleware/class_based_middleware.py Class-based middleware implementation example
getting_started/middleware/decorator_middleware.py Decorator-based middleware example
getting_started/middleware/exception_handling_with_middleware.py Exception handling with middleware example
getting_started/middleware/function_based_middleware.py Function-based middleware example
getting_started/middleware/middleware_termination.py Middleware termination example
getting_started/middleware/override_result_with_middleware.py Override result with middleware example
getting_started/middleware/runtime_context_delegation.py Runtime context delegation example demonstrating how to pass API tokens, session data, and other context through hierarchical agent delegation
getting_started/middleware/shared_state_middleware.py Shared state middleware example
getting_started/middleware/thread_behavior_middleware.py Thread behavior middleware example demonstrating how to track conversation state across multiple agent runs

Multimodal Input

File Description
getting_started/multimodal_input/azure_chat_multimodal.py Azure OpenAI Chat with multimodal (image) input example
getting_started/multimodal_input/azure_responses_multimodal.py Azure OpenAI Responses with multimodal (image) input example
getting_started/multimodal_input/openai_chat_multimodal.py OpenAI Chat with multimodal (image) input example

Azure Functions

Sample Description
getting_started/azure_functions/01_single_agent/ Host a single agent in Azure Functions with Durable Extension HTTP endpoints and per-session state.
getting_started/azure_functions/02_multi_agent/ Register multiple agents in one function app with dedicated run routes and a health check endpoint.
getting_started/azure_functions/03_reliable_streaming/ Implement reliable streaming for durable agents using Redis Streams with cursor-based resumption.
getting_started/azure_functions/04_single_agent_orchestration_chaining/ Chain sequential agent executions inside a durable orchestration while preserving the shared thread context.
getting_started/azure_functions/05_multi_agent_orchestration_concurrency/ Run two agents concurrently within a durable orchestration and combine their domain-specific outputs.
getting_started/azure_functions/06_multi_agent_orchestration_conditionals/ Route orchestration logic based on structured agent responses for spam detection and reply drafting.
getting_started/azure_functions/07_single_agent_orchestration_hitl/ Implement a human-in-the-loop approval loop that iterates on agent output inside a durable orchestration.

Observability

File Description
getting_started/observability/advanced_manual_setup_console_output.py Advanced manual observability setup with console output
getting_started/observability/advanced_zero_code.py Zero-code observability setup example
getting_started/observability/agent_observability.py Agent observability example
getting_started/observability/agent_with_foundry_tracing.py Any chat client setup with Azure Foundry Observability
getting_started/observability/azure_ai_agent_observability.py Azure AI agent observability example
getting_started/observability/configure_otel_providers_with_env_var.py Setup observability using environment variables
getting_started/observability/configure_otel_providers_with_parameters.py Setup observability using parameters
getting_started/observability/workflow_observability.py Workflow observability example

Threads

File Description
getting_started/threads/custom_chat_message_store_thread.py Implementation of custom chat message store state
getting_started/threads/redis_chat_message_store_thread.py Basic example of using Redis chat message store
getting_started/threads/suspend_resume_thread.py Demonstrates how to suspend and resume a service-managed thread

Tools

File Description
getting_started/tools/ai_function_declaration_only.py Function declarations without implementations for testing agent reasoning
getting_started/tools/ai_function_from_dict_with_dependency_injection.py Creating AI functions from dictionary definitions using dependency injection
getting_started/tools/ai_function_recover_from_failures.py Graceful error handling when tools raise exceptions
getting_started/tools/ai_function_with_approval.py User approval workflows for function calls without threads
getting_started/tools/ai_function_with_approval_and_threads.py Tool approval workflows using threads for conversation history management
getting_started/tools/ai_function_with_max_exceptions.py Limiting tool failure exceptions using max_invocation_exceptions
getting_started/tools/ai_function_with_max_invocations.py Limiting total tool invocations using max_invocations
getting_started/tools/ai_functions_in_class.py Using ai_function decorator with class methods for stateful tools

Workflows

View the list of Workflows samples here.

Sample Guidelines

For information on creating new samples, see SAMPLE_GUIDELINES.md.

More Information