diff --git a/.gitignore b/.gitignore index ae2ee70..d422588 100644 --- a/.gitignore +++ b/.gitignore @@ -119,6 +119,8 @@ Desktop.ini # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +.idea/ + # User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml diff --git a/Directory.Packages.props b/Directory.Packages.props index f7bf56d..a63811e 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,11 +1,13 @@ true - 1.0.0-preview.260209.1 - 13.1.0 - 10.0.2 - 10.2.0 - 1.15.0 + true + 1.13.0 + 1.13.0-preview.260703.1 + 13.4.6 + 10.0.9 + 10.7.0 + 1.16.0 @@ -13,9 +15,9 @@ - - - + + + @@ -26,25 +28,27 @@ - - - + + + + + + - - - + + + - + - - - - - + + + + @@ -52,10 +56,10 @@ - + - - + + \ No newline at end of file diff --git a/README.md b/README.md index 13b3e51..721111a 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ flowchart TB direction LR Agent["Agent Service
(ASP.NET Core)"] Postgres[("Azure Postgres
(pgvector)")] - Foundry["Azure AI Foundry
(GPT-4o)"] + Foundry["Azure AI Foundry
(GPT-5)"] Agent <--> Postgres Agent <--> Foundry diff --git a/exercises/US1-taskadheranceeval.md b/exercises/US1-taskadheranceeval.md index dc3048c..daa314f 100644 --- a/exercises/US1-taskadheranceeval.md +++ b/exercises/US1-taskadheranceeval.md @@ -270,7 +270,7 @@ dotnet aieval report -p C:\TestReports -o test-report.html - **Diagnostics**: The evaluator's chain-of-thought reasoning showing step-by-step analysis of tool usage and response quality - **Metadata Table**: Key-value pairs including: - `built-in-eval`: Whether the evaluator is built-in - - `eval-model`: The model used for evaluation (e.g., `gpt-4o-2024-11-20`) + - `eval-model`: The model used for evaluation (e.g., `gpt-5.4`) - `eval-input-tokens` / `eval-output-tokens` / `eval-total-tokens`: Token usage for the evaluation - `eval-duration-ms`: Time taken for the evaluation - **Conversation Panel**: Collapsible section showing token counts and the full message exchange diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..993d13d --- /dev/null +++ b/nuget.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/AgentEvalsWorkshop.AppHost/AgentEvalsWorkshop.AppHost.csproj b/src/AgentEvalsWorkshop.AppHost/AgentEvalsWorkshop.AppHost.csproj index d6b5ec6..456e59e 100644 --- a/src/AgentEvalsWorkshop.AppHost/AgentEvalsWorkshop.AppHost.csproj +++ b/src/AgentEvalsWorkshop.AppHost/AgentEvalsWorkshop.AppHost.csproj @@ -1,4 +1,4 @@ - + Exe net10.0 @@ -11,7 +11,6 @@ - diff --git a/src/AgentEvalsWorkshop.AppHost/Program.cs b/src/AgentEvalsWorkshop.AppHost/Program.cs index eb11248..1945fef 100644 --- a/src/AgentEvalsWorkshop.AppHost/Program.cs +++ b/src/AgentEvalsWorkshop.AppHost/Program.cs @@ -3,7 +3,6 @@ using Aspire.Hosting.Azure; using Azure.Core; using Azure.Provisioning.CognitiveServices; -using Humanizer.Localisation; using System; using System.Linq; diff --git a/src/AgentEvalsWorkshop.AppHost/aspire.config.json b/src/AgentEvalsWorkshop.AppHost/aspire.config.json new file mode 100644 index 0000000..34c9971 --- /dev/null +++ b/src/AgentEvalsWorkshop.AppHost/aspire.config.json @@ -0,0 +1,5 @@ +{ + "appHost": { + "path": "AgentEvalsWorkshop.AppHost.csproj" + } +} \ No newline at end of file diff --git a/src/AgentEvalsWorkshop/Program.cs b/src/AgentEvalsWorkshop/Program.cs index d343341..d483095 100644 --- a/src/AgentEvalsWorkshop/Program.cs +++ b/src/AgentEvalsWorkshop/Program.cs @@ -16,6 +16,18 @@ var endpoint = ConnectionStringParser.GetEndpointFromConnectionString(builder.Configuration.GetConnectionString("az-foundry")!); var foundryDeploymentName = builder.Configuration["FOUNDRY_DEPLOYMENT_NAME"]!; +var azureOpenAIClient = new AzureOpenAIClient( + endpoint, + new DefaultAzureCredential(), + new AzureOpenAIClientOptions(AzureOpenAIClientOptions.ServiceVersion.V2025_04_01_Preview) + { + ClientLoggingOptions = new System.ClientModel.Primitives.ClientLoggingOptions + { + EnableMessageContentLogging = true, + EnableLogging = true, + } + }); + builder.Services.AddSingleton(_ => new AzureOpenAIClient( endpoint, new DefaultAzureCredential(), @@ -35,6 +47,7 @@ .AsIChatClient(); }); +builder.Services.AddA2AServer(US1Agent.BuildUS1Agent(azureOpenAIClient.GetChatClient(foundryDeploymentName).AsIChatClient())); var app = builder.Build(); @@ -47,7 +60,7 @@ app.UseHttpsRedirection(); -app.MapA2A(US1Agent.BuildUS1Agent(app.Services.GetRequiredService()), "/us1agent"); +app.MapA2AJsonRpc(US1Agent.BuildUS1Agent(app.Services.GetRequiredService()), "/us1agent"); app.Run();