Skip to content

AzureOpenAI

Rasmus Wulff Jensen edited this page Sep 12, 2026 · 6 revisions

NuGet README

Features

  • AgentFactory (AzureOpenAIAgentFactory)
  • AIToolsFactory integration (tools in AgentOptions.Tools)
  • EmbeddingFactory (AzureOpenAIEmbeddingFactory)
  • BatchRunner (AzureOpenAIBatchRunner)
  • OpenAI-style reasoning settings and ClientType (ChatClient or ResponsesApi)

Package

dotnet add package AgentFrameworkToolkit.AzureOpenAI

Breaking change in 1.21.0

The Azure.AI.OpenAI dependency was replaced with the OpenAI NuGet package, following Microsoft's recommendation and ensuring compatibility with Microsoft Agent Framework 1.21.0.

For most scenarios, no code changes are required. However, this changes the public API for consumers using:

  • AzureOpenAIConnection.GetClient(), which now returns OpenAIClient.
  • AzureOpenAIConnection.AdditionalOpenAIClientOptions, which now configures OpenAIClientOptions.

These are the corresponding types from the unified OpenAI SDK.

Quick start

AzureOpenAIAgentFactory agentFactory = new("<endpoint>", "<apiKey>");
AzureOpenAIAgent agent = agentFactory.CreateAgent(new AgentOptions
{
    Model = "gpt-5",
    ReasoningEffort = OpenAIReasoningEffort.Low,
    Instructions = "You are a nice AI"
});

AgentRunResponse response = await agent.RunAsync("Hello World");
Console.WriteLine(response);

Note

In Azure OpenAI, Model refers to your deployment name, not the model id.

Embeddings

AzureOpenAIEmbeddingFactory embeddingFactory = new("<endpoint>", "<apiKey>");
IEmbeddingGenerator<string, Embedding<float>> generator =
    embeddingFactory.GetEmbeddingGenerator("text-embedding-3-small");
Embedding<float> embedding = await generator.GenerateAsync("Hello");

Connection options

  • Endpoint (required)
  • ApiKey or Credentials (TokenCredential) for RBAC
  • NetworkTimeout
  • DefaultClientType
  • AutoCorrectFoundryEndpoint (optional, defaults to true)
  • AdditionalOpenAIClientOptions

Dependency injection

builder.Services.AddAzureOpenAIAgentFactory("<endpoint>", "<apiKey>");
builder.Services.AddAzureOpenAIAgentFactory(new AzureOpenAIConnection
{
    Endpoint = "<endpoint>",
    ApiKey = "<apiKey>"
});

builder.Services.AddAzureOpenAIEmbeddingFactory("<endpoint>", "<apiKey>");

Notes

Clone this wiki locally