From a53b37c4cb78027753d04516b58d2189c574176b Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 11:25:07 -0500 Subject: [PATCH 01/13] Updated to OpenAI libraries --- .../authentication/Directory.Packages.props | 2 +- .../Directory.Packages.props | 4 ++-- .../HostApplicationBuilder.csproj | 2 +- .../HostApplicationBuilder/Program.cs | 17 +++++++++++++---- .../HostBuilder/HostBuilder.csproj | 4 ++-- .../HostBuilder/Program.cs | 18 ++++++++++++++---- .../WebApplicationBuilder/Program.cs | 17 +++++++++++++---- .../WebApplicationBuilder.csproj | 4 ++-- 8 files changed, 48 insertions(+), 20 deletions(-) diff --git a/docs/azure/sdk/snippets/authentication/Directory.Packages.props b/docs/azure/sdk/snippets/authentication/Directory.Packages.props index 70840c23b7184..9cbc0f1e207c1 100644 --- a/docs/azure/sdk/snippets/authentication/Directory.Packages.props +++ b/docs/azure/sdk/snippets/authentication/Directory.Packages.props @@ -4,7 +4,7 @@ - + diff --git a/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props b/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props index 541365e33bb1a..8b9a1a88338c7 100644 --- a/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props +++ b/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props @@ -3,7 +3,6 @@ true - @@ -11,6 +10,7 @@ - + + \ No newline at end of file diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/HostApplicationBuilder.csproj b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/HostApplicationBuilder.csproj index 1a6a6793f6f30..2377e7590dba4 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/HostApplicationBuilder.csproj +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/HostApplicationBuilder.csproj @@ -14,6 +14,6 @@ - + diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index 57c9329969b33..9402aa1fb8827 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -3,7 +3,9 @@ using Azure.Messaging.ServiceBus.Administration; using Microsoft.Extensions.Azure; using Microsoft.Extensions.Hosting; -using Azure.AI.OpenAI; +using OpenAI; +using OpenAI.Responses; +using System.ClientModel.Primitives; IHost host = Host.CreateDefaultBuilder(args) .ConfigureServices(services => @@ -33,10 +35,17 @@ }).WithName(queueName); } + var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + // Register a custom client factory - clientBuilder.AddClient( - (options, credential, _) => new AzureOpenAIClient( - new Uri(""), credential, options)); + #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. + clientBuilder.AddClient( + (options, credential, _) => new OpenAIResponseClient( + "gpt-5-mini", + new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } + )); }); }).Build(); diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/HostBuilder.csproj b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/HostBuilder.csproj index 7a1ca703d9b7f..88601512c9df9 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/HostBuilder.csproj +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/HostBuilder.csproj @@ -8,12 +8,12 @@ - - + + diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index ce26641172c91..edd5747f4dfd7 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -3,7 +3,9 @@ using Azure.Messaging.ServiceBus; using Azure.Messaging.ServiceBus.Administration; using Microsoft.Extensions.Azure; -using Azure.AI.OpenAI; +using OpenAI; +using OpenAI.Responses; +using System.ClientModel.Primitives; IHost host = Host.CreateDefaultBuilder(args) .ConfigureServices(services => @@ -33,10 +35,18 @@ }).WithName(queueName); } + var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + // Register a custom client factory - clientBuilder.AddClient( - (options, credential, _) => new AzureOpenAIClient( - new Uri(""), credential, options)); + #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. + clientBuilder.AddClient( + (options, credential, _) => new OpenAIResponseClient( + "gpt-5-mini", + new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } + )); + }); }).Build(); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index 3b1344498956e..1947661049878 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -3,7 +3,9 @@ using Azure.Messaging.ServiceBus; using Azure.Messaging.ServiceBus.Administration; using Microsoft.Extensions.Azure; -using Azure.AI.OpenAI; +using OpenAI; +using OpenAI.Responses; +using System.ClientModel.Primitives; WebApplicationBuilder builder = WebApplication.CreateBuilder(args); @@ -32,10 +34,17 @@ }).WithName(queueName); } + var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + // Register a custom client factory - clientBuilder.AddClient( - (options, credential, _) => new AzureOpenAIClient( - new Uri(""), credential, options)); + #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. + clientBuilder.AddClient( + (options, credential, _) => new OpenAIResponseClient( + "gpt-5-mini", + new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } + )); }); WebApplication app = builder.Build(); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/WebApplicationBuilder.csproj b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/WebApplicationBuilder.csproj index e2a7a1732a2b1..c7678db2578c3 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/WebApplicationBuilder.csproj +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/WebApplicationBuilder.csproj @@ -7,14 +7,14 @@ - - + + From b781442ff1dad2861fd26f093ce567f9e16f8a14 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 11:30:32 -0500 Subject: [PATCH 02/13] fix credential --- .../dependency-injection/HostApplicationBuilder/Program.cs | 2 +- .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 2 +- .../dependency-injection/WebApplicationBuilder/Program.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index 9402aa1fb8827..b8e6f33cf2b92 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -43,7 +43,7 @@ clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "gpt-5-mini", - new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); }); diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index edd5747f4dfd7..64a1e4c397d9c 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -43,7 +43,7 @@ clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "gpt-5-mini", - new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index 1947661049878..e30ef57278c31 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -42,7 +42,7 @@ clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "gpt-5-mini", - new BearerTokenPolicy(new DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); }); From 63764609504026f0e35264934deca76f2e8a99cb Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 11:39:27 -0500 Subject: [PATCH 03/13] fix highlights --- docs/azure/sdk/dependency-injection.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index 22a869fa22167..3660d07c8e7ec 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -43,15 +43,15 @@ In the *Program.cs* file, invoke the Date: Thu, 11 Dec 2025 11:49:58 -0500 Subject: [PATCH 04/13] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../dependency-injection/HostApplicationBuilder/Program.cs | 2 +- .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 2 +- .../dependency-injection/WebApplicationBuilder/Program.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index b8e6f33cf2b92..19f50d08ded0d 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -42,7 +42,7 @@ #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( - "gpt-5-mini", + "", new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index 64a1e4c397d9c..8113cfd8658a5 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -42,7 +42,7 @@ #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( - "gpt-5-mini", + "", new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index e30ef57278c31..82a4f287bf602 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -41,7 +41,7 @@ #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( - "gpt-5-mini", + "", new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); From 73f7e599684e1cd9498576f06e985a313dbc4134 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 11:50:24 -0500 Subject: [PATCH 05/13] fix package name --- docs/azure/sdk/dependency-injection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index 3660d07c8e7ec..2cfffc28b8ae9 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -32,7 +32,7 @@ For demonstration purposes, the sample code in this article uses the Key Vault S dotnet add package Azure.Security.KeyVault.Secrets dotnet add package Azure.Storage.Blobs dotnet add package Azure.Messaging.ServiceBus -dotnet add package Azure.AI.OpenAI +dotnet add package OpenAI ``` ## Register clients and subclients From 9c627066e29df50d3c49cd5f6950d78fd3ac64d6 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 12:03:34 -0500 Subject: [PATCH 06/13] highlight changes --- docs/azure/sdk/dependency-injection.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index 2cfffc28b8ae9..5b3f1e511c211 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -43,15 +43,15 @@ In the *Program.cs* file, invoke the Date: Thu, 11 Dec 2025 12:05:41 -0500 Subject: [PATCH 07/13] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../dependency-injection/HostApplicationBuilder/Program.cs | 4 ++-- .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 4 ++-- .../dependency-injection/WebApplicationBuilder/Program.cs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index 19f50d08ded0d..4938a337777fe 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -36,14 +36,14 @@ } var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") - ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "", - new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); }); diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index 8113cfd8658a5..b1292696d615a 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -36,14 +36,14 @@ } var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") - ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "", - new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index 82a4f287bf602..30aba9291f805 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -35,14 +35,14 @@ } var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") - ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); + ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is required."); // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. clientBuilder.AddClient( (options, credential, _) => new OpenAIResponseClient( "", - new BearerTokenPolicy(credential, "https://cognitiveservices.azure.com/.default"), + new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); }); From 71d71548503d97610fc6390d7cf810c8d51a067d Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Thu, 11 Dec 2025 12:12:35 -0500 Subject: [PATCH 08/13] fix highlight --- docs/azure/sdk/dependency-injection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index 5b3f1e511c211..2e23adf6f28e4 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -51,7 +51,7 @@ In the *Program.cs* file, invoke the Date: Thu, 11 Dec 2025 12:26:40 -0500 Subject: [PATCH 09/13] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../dependency-injection/HostApplicationBuilder/Program.cs | 1 + .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 2 +- .../dependency-injection/WebApplicationBuilder/Program.cs | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index 4938a337777fe..45f217c620d50 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -46,6 +46,7 @@ new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); + #pragma warning restore OPENAI001 }); }).Build(); diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index b1292696d615a..ae1119cbbfe22 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -46,7 +46,7 @@ new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); - + #pragma warning restore OPENAI001 }); }).Build(); diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index 30aba9291f805..b103600a7f7a0 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -45,6 +45,7 @@ new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } )); + #pragma warning restore OPENAI001 }); WebApplication app = builder.Build(); From e32ad0348cc9bed99bc82383a0774410130b1e94 Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Fri, 12 Dec 2025 09:07:52 -0500 Subject: [PATCH 10/13] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../sdk/snippets/authentication/Directory.Packages.props | 2 +- .../snippets/dependency-injection/Directory.Packages.props | 2 +- .../dependency-injection/HostApplicationBuilder/Program.cs | 4 ++-- .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 4 ++-- .../dependency-injection/WebApplicationBuilder/Program.cs | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/azure/sdk/snippets/authentication/Directory.Packages.props b/docs/azure/sdk/snippets/authentication/Directory.Packages.props index 9cbc0f1e207c1..a13ebe98b1c95 100644 --- a/docs/azure/sdk/snippets/authentication/Directory.Packages.props +++ b/docs/azure/sdk/snippets/authentication/Directory.Packages.props @@ -4,7 +4,7 @@ - + diff --git a/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props b/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props index 56d9c16315a5a..7c22c29f10cc3 100644 --- a/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props +++ b/docs/azure/sdk/snippets/dependency-injection/Directory.Packages.props @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs index 45f217c620d50..d6bc953552cc5 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostApplicationBuilder/Program.cs @@ -40,8 +40,8 @@ // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. - clientBuilder.AddClient( - (options, credential, _) => new OpenAIResponseClient( + clientBuilder.AddClient( + (options, credential, _) => new ResponsesClient( "", new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } diff --git a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs index ae1119cbbfe22..c9eafbc34088d 100644 --- a/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/HostBuilder/Program.cs @@ -40,8 +40,8 @@ // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. - clientBuilder.AddClient( - (options, credential, _) => new OpenAIResponseClient( + clientBuilder.AddClient( + (options, credential, _) => new ResponsesClient( "", new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } diff --git a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs index b103600a7f7a0..7b6a483093c51 100644 --- a/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs +++ b/docs/azure/sdk/snippets/dependency-injection/WebApplicationBuilder/Program.cs @@ -39,8 +39,8 @@ // Register a custom client factory #pragma warning disable OPENAI001 // Type is for evaluation purposes and is subject to change in future updates. - clientBuilder.AddClient( - (options, credential, _) => new OpenAIResponseClient( + clientBuilder.AddClient( + (options, credential, _) => new ResponsesClient( "", new BearerTokenPolicy(credential, "https://ai.azure.com/.default"), new OpenAIClientOptions { Endpoint = new Uri($"{endpoint}/openai/v1/") } From b67c3bd63c267f6a4fd6848d725c8415dc42f697 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 12 Dec 2025 10:12:45 -0500 Subject: [PATCH 11/13] Azure verbiage --- docs/azure/sdk/dependency-injection.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index 2e23adf6f28e4..cca4653acb0b9 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -26,7 +26,7 @@ To register and configure service clients from an [`Azure.`-prefixed package](pa dotnet add package Azure.Identity ``` -For demonstration purposes, the sample code in this article uses the Key Vault Secrets, Blob Storage, Service Bus, and Azure OpenAI libraries. Install the following packages to follow along: +For demonstration purposes, the sample code in this article uses the Key Vault Secrets, Blob Storage, Service Bus, and OpenAI libraries. Install the following packages to follow along: ```dotnetcli dotnet add package Azure.Security.KeyVault.Secrets @@ -60,7 +60,7 @@ In the preceding code: * Key Vault Secrets, Blob Storage, and Service Bus clients are registered using the , and , respectively. The `Uri`- and `string`-typed arguments are passed. To avoid specifying these URLs explicitly, see the [Store configuration separately from code](#store-configuration-separately-from-code) section. * Each registered client automatically uses for `TokenCredential` unless you configure a different type of credential (for example, using `WithCredential`). * Service Bus subclients are registered for each queue on the service using the subclient and corresponding options types. The queue names for the subclients are retrieved using a separate method outside of the service registration because the `GetQueuesAsync` method must be run asynchronously. -* An Azure OpenAI client is registered using a custom client factory via the method, which provides control over how a client instance is created. Custom client factories are useful in the following cases: +* An OpenAI client is registered using a custom client factory via the method, which provides control over how a client instance is created. Custom client factories are useful in the following cases: * You need to use other dependencies during the client construction. * A registration extension method doesn't exist for the service client you want to register. From af011e4b26f58b58207fc06401ae482f7c5bc4c9 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 12 Dec 2025 10:31:45 -0500 Subject: [PATCH 12/13] verbiage --- docs/azure/sdk/dependency-injection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index cca4653acb0b9..ca2afb5697fdb 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -60,7 +60,7 @@ In the preceding code: * Key Vault Secrets, Blob Storage, and Service Bus clients are registered using the , and , respectively. The `Uri`- and `string`-typed arguments are passed. To avoid specifying these URLs explicitly, see the [Store configuration separately from code](#store-configuration-separately-from-code) section. * Each registered client automatically uses for `TokenCredential` unless you configure a different type of credential (for example, using `WithCredential`). * Service Bus subclients are registered for each queue on the service using the subclient and corresponding options types. The queue names for the subclients are retrieved using a separate method outside of the service registration because the `GetQueuesAsync` method must be run asynchronously. -* An OpenAI client is registered using a custom client factory via the method, which provides control over how a client instance is created. Custom client factories are useful in the following cases: +* A `ResponsesClient` is registered using a custom client factory via the method, which provides control over how a client instance is created. Custom client factories are useful in the following cases: * You need to use other dependencies during the client construction. * A registration extension method doesn't exist for the service client you want to register. From 8bdd323889cfb690e7f626a94ce909010c7044c3 Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:16:40 -0500 Subject: [PATCH 13/13] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- docs/azure/sdk/dependency-injection.md | 2 +- .../dependency-injection/HostApplicationBuilder/Program.cs | 2 +- .../sdk/snippets/dependency-injection/HostBuilder/Program.cs | 2 +- .../dependency-injection/WebApplicationBuilder/Program.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index ca2afb5697fdb..76220301d3a57 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -47,7 +47,7 @@ In the *Program.cs* file, invoke the