diff --git a/src/microsoft-extensions-ai-evaluation/api/.config/dotnet-tools.json b/src/microsoft-extensions-ai-evaluation/api/.config/dotnet-tools.json index 8ba1ef6..0da7c14 100644 --- a/src/microsoft-extensions-ai-evaluation/api/.config/dotnet-tools.json +++ b/src/microsoft-extensions-ai-evaluation/api/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "microsoft.extensions.ai.evaluation.console": { - "version": "9.9.0", + "version": "9.10.0", "commands": [ "aieval" ], diff --git a/src/microsoft-extensions-ai-evaluation/api/evaluation/Evaluation.csproj b/src/microsoft-extensions-ai-evaluation/api/evaluation/Evaluation.csproj index fd292cd..04a336b 100644 --- a/src/microsoft-extensions-ai-evaluation/api/evaluation/Evaluation.csproj +++ b/src/microsoft-extensions-ai-evaluation/api/evaluation/Evaluation.csproj @@ -10,19 +10,20 @@ - - - - - - - - - + + + + + + + + + - - - + + + + diff --git a/src/microsoft-extensions-ai-evaluation/api/evaluation/Setup/TestSetup.cs b/src/microsoft-extensions-ai-evaluation/api/evaluation/Setup/TestSetup.cs index ef4c370..49e1427 100644 --- a/src/microsoft-extensions-ai-evaluation/api/evaluation/Setup/TestSetup.cs +++ b/src/microsoft-extensions-ai-evaluation/api/evaluation/Setup/TestSetup.cs @@ -2,9 +2,10 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.ClientModel; +using System.ClientModel.Primitives; using Azure; using Azure.AI.Inference; -using Azure.AI.OpenAI; using Azure.Identity; using Microsoft.Extensions.AI; using Microsoft.Extensions.AI.Evaluation; @@ -76,10 +77,22 @@ private static ChatConfiguration GetAzureOpenAIChatConfiguration() { /// Get an instance of Microsoft.Extensions.AI's interface for the selected LLM /// endpoint. + + /// Append /openai/v1 suffix. + /// See https://learn.microsoft.com/en-us/azure/developer/ai/how-to/switching-endpoints?tabs=openai&pivots=dotnet#microsoft-entra-authentication-1. + var endpoint = new Uri(new Uri(EnvironmentVariables.AzureOpenAIEndpoint), "/openai/v1"); + var options = new OpenAIClientOptions { Endpoint = endpoint }; + +#pragma warning disable OPENAI001 + /// OPENAI001: The APIs used below are experimental and subject to change or removal in future updates. + var policy = + new BearerTokenPolicy(tokenProvider: new DefaultAzureCredential(), scope: "https://ai.azure.com/.default"); + IChatClient client = - new AzureOpenAIClient(new Uri(EnvironmentVariables.AzureOpenAIEndpoint), new DefaultAzureCredential()) + new OpenAIClient(policy, options) .GetChatClient(EnvironmentVariables.AzureOpenAIModel) .AsIChatClient(); +#pragma warning restore OPENAI001 /// Enable function invocation support. client = client.AsBuilder().UseFunctionInvocation().Build(); @@ -112,10 +125,13 @@ private static ChatConfiguration GetOpenAIChatConfiguration() { /// Get an instance of Microsoft.Extensions.AI's interface for the selected LLM /// endpoint. +#pragma warning disable OPENAI001 + /// OPENAI001: The APIs used below are experimental and subject to change or removal in future updates. IChatClient client = - new OpenAIClient(EnvironmentVariables.OpenAIAPIKey) + new OpenAIClient(new ApiKeyCredential(EnvironmentVariables.OpenAIAPIKey)) .GetChatClient(EnvironmentVariables.OpenAIModel) .AsIChatClient(); +#pragma warning restore OPENAI001 /// Enable function invocation support. client = client.AsBuilder().UseFunctionInvocation().Build(); diff --git a/src/microsoft-extensions-ai-evaluation/api/reporting/Reporting.csproj b/src/microsoft-extensions-ai-evaluation/api/reporting/Reporting.csproj index 5c1918e..b3f7e8f 100644 --- a/src/microsoft-extensions-ai-evaluation/api/reporting/Reporting.csproj +++ b/src/microsoft-extensions-ai-evaluation/api/reporting/Reporting.csproj @@ -10,23 +10,24 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + +