Files
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00
..

Creating and Running a Basic Agent with the Responses API

This sample demonstrates how to create and run a basic AI agent using the ChatClientAgent, which uses the Microsoft Foundry Responses API directly without creating server-side agent definitions.

What this sample demonstrates

  • Creating a ChatClientAgent with instructions and a model
  • Running a simple single-turn conversation
  • No server-side agent creation or cleanup required

Prerequisites

Before you begin, ensure you have the following prerequisites:

  • .NET 10 SDK or later
  • Microsoft Foundry service endpoint and deployment configured
  • An authenticated Azure identity (for example, sign in with az login)

Note: This sample uses DefaultAzureCredential. az login is the easiest local development path, but Visual Studio, VS Code, and managed identity credentials also work when available.

Set the following environment variables:

$env:FOUNDRY_PROJECT_ENDPOINT="https://your-foundry-service.services.ai.azure.com/api/projects/your-foundry-project"
$env:FOUNDRY_MODEL="gpt-5.4-mini"

Run the sample

Navigate to the Foundry sample directory and run:

cd dotnet/samples/02-agents/AgentProviders/foundry
dotnet run --project .\Agent_Step01_Basics

Alternative: Composable approach

You can also create the same agent by composing the underlying IChatClient directly. This gives you full control over the chat client pipeline:

using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;

AIProjectClient aiProjectClient = new(new Uri(endpoint), new DefaultAzureCredential());

AIAgent agent = new ChatClientAgent(
    chatClient: aiProjectClient.GetProjectOpenAIClient().GetProjectResponsesClient().AsIChatClient(deploymentName),
    instructions: "You are good at telling jokes.",
    name: "JokerAgent");

This approach is useful when you need to customize the chat client pipeline or swap providers (e.g., Anthropic, OpenAI) while keeping the same agent code.