Skip to content

Commit 98bb051

Browse files
CopilotJamesNK
andauthored
Update Microsoft.Extensions.AI packages, use content env var (#11670)
* Initial plan * Update Microsoft.Extensions.AI packages to 9.9.1 and OpenAI to 2.5.0 Co-authored-by: JamesNK <[email protected]> * Update AI integrations to use env var for defaults * Apply suggestion from @JamesNK --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: JamesNK <[email protected]> Co-authored-by: James Newton-King <[email protected]>
1 parent efc0582 commit 98bb051

File tree

8 files changed

+32
-8
lines changed

8 files changed

+32
-8
lines changed

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
<PackageVersion Include="MySqlConnector.Logging.Microsoft.Extensions.Logging" Version="2.1.0" />
103103
<PackageVersion Include="NATS.Net" Version="2.6.9" />
104104
<PackageVersion Include="Npgsql.DependencyInjection" Version="9.0.3" />
105-
<PackageVersion Include="OpenAI" Version="2.4.0" />
105+
<PackageVersion Include="OpenAI" Version="2.5.0" />
106106
<PackageVersion Include="Oracle.EntityFrameworkCore" Version="8.23.90" /> <!-- Can't update to 9.x versions as those lift up LTS versions when targeting net8 -->
107107
<PackageVersion Include="Oracle.ManagedDataAccess.OpenTelemetry" Version="23.9.0" />
108108
<PackageVersion Include="Polly.Core" Version="8.6.3" />

eng/Versions.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
<MicrosoftDotNetXUnitV3ExtensionsVersion>11.0.0-beta.25469.3</MicrosoftDotNetXUnitV3ExtensionsVersion>
4242
<MicrosoftDotNetBuildTasksArchivesVersion>11.0.0-beta.25469.3</MicrosoftDotNetBuildTasksArchivesVersion>
4343
<!-- dotnet/extensions -->
44-
<MicrosoftExtensionsAIVersion>9.9.0</MicrosoftExtensionsAIVersion>
45-
<MicrosoftExtensionsAIPreviewVersion>9.9.0-preview.1.25458.4</MicrosoftExtensionsAIPreviewVersion>
44+
<MicrosoftExtensionsAIVersion>9.9.1</MicrosoftExtensionsAIVersion>
45+
<MicrosoftExtensionsAIPreviewVersion>9.9.1-preview.1.25474.6</MicrosoftExtensionsAIPreviewVersion>
4646
<MicrosoftExtensionsHttpResilienceVersion>9.9.0</MicrosoftExtensionsHttpResilienceVersion>
4747
<MicrosoftExtensionsDependencyInjectionAutoActivationVersion>9.9.0</MicrosoftExtensionsDependencyInjectionAutoActivationVersion>
4848
<MicrosoftExtensionsDiagnosticsTestingVersion>9.9.0</MicrosoftExtensionsDiagnosticsTestingVersion>

playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.WebStory/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
builder.AddServiceDefaults();
1010

11-
builder.AddAzureChatCompletionsClient("chat", settings => settings.EnableSensitiveTelemetryData = true)
11+
builder.AddAzureChatCompletionsClient("chat")
1212
.AddChatClient()
1313
.UseFunctionInvocation();
1414

src/Components/Aspire.Azure.AI.Inference/Aspire.Azure.AI.Inference.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
</PropertyGroup>
1414

1515
<ItemGroup>
16+
<Compile Include="..\Common\AITelemetryHelpers.cs" Link="AITelemetryHelpers.cs" />
1617
<Compile Include="..\Common\AzureComponent.cs" Link="AzureComponent.cs" />
1718
<Compile Include="..\Common\ConfigurationSchemaAttributes.cs" Link="ConfigurationSchemaAttributes.cs" />
1819
<Compile Include="..\Common\HealthChecksExtensions.cs" Link="HealthChecksExtensions.cs" />

src/Components/Aspire.Azure.AI.Inference/ChatCompletionsClientSettings.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,16 @@ public sealed class ChatCompletionsClientSettings : IConnectionStringSettings
6868
/// <value>
6969
/// <see langword="true"/> if potentially sensitive information should be included in telemetry;
7070
/// <see langword="false"/> if telemetry shouldn't include raw inputs and outputs.
71-
/// The default value is <see langword="false"/>.
71+
/// The default value is <see langword="false"/>, unless the <c>OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT</c>
72+
/// environment variable is set to "true" (case-insensitive).
7273
/// </value>
7374
/// <remarks>
7475
/// By default, telemetry includes metadata, such as token counts, but not raw inputs
7576
/// and outputs, such as message content, function call arguments, and function call results.
77+
/// The default value can be overridden by setting the <c>OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT</c>
78+
/// environment variable to "true". Explicitly setting this property will override the environment variable.
7679
/// </remarks>
77-
public bool EnableSensitiveTelemetryData { get; set; }
80+
public bool EnableSensitiveTelemetryData { get; set; } = TelemetryHelpers.EnableSensitiveDataDefault;
7881

7982
/// <summary>
8083
/// Parses a connection string and populates the settings properties.

src/Components/Aspire.Azure.AI.OpenAI/Aspire.Azure.AI.OpenAI.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17+
<Compile Include="..\Common\AITelemetryHelpers.cs" Link="AITelemetryHelpers.cs" />
1718
<Compile Include="..\Common\AzureComponent.cs" Link="AzureComponent.cs" />
1819
<Compile Include="..\Common\ConfigurationSchemaAttributes.cs" Link="ConfigurationSchemaAttributes.cs" />
1920
<Compile Include="..\Common\HealthChecksExtensions.cs" Link="HealthChecksExtensions.cs" />

src/Components/Aspire.Azure.AI.OpenAI/AzureOpenAISettings.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,16 @@ public sealed class AzureOpenAISettings : IConnectionStringSettings
6767
/// <value>
6868
/// <see langword="true"/> if potentially sensitive information should be included in telemetry;
6969
/// <see langword="false"/> if telemetry shouldn't include raw inputs and outputs.
70-
/// The default value is <see langword="false"/>.
70+
/// The default value is <see langword="false"/>, unless the <c>OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT</c>
71+
/// environment variable is set to "true" (case-insensitive).
7172
/// </value>
7273
/// <remarks>
7374
/// By default, telemetry includes metadata, such as token counts, but not raw inputs
7475
/// and outputs, such as message content, function call arguments, and function call results.
76+
/// The default value can be overridden by setting the <c>OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT</c>
77+
/// environment variable to "true". Explicitly setting this property will override the environment variable.
7578
/// </remarks>
76-
public bool EnableSensitiveTelemetryData { get; set; }
79+
public bool EnableSensitiveTelemetryData { get; set; } = TelemetryHelpers.EnableSensitiveDataDefault;
7780

7881
void IConnectionStringSettings.ParseConnectionString(string? connectionString)
7982
{
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
namespace Aspire;
5+
6+
internal static class TelemetryHelpers
7+
{
8+
/// <summary>Gets a value indicating whether the OpenTelemetry clients should enable their EnableSensitiveData property's by default.</summary>
9+
/// <remarks>
10+
/// Defaults to false. May be overridden by setting the OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT environment variable to "true".
11+
/// Mirrors Microsoft.Extensions.AI default: https://github.com/dotnet/extensions/blob/c4e57fb1e6b8403a527ea3cd737f1146dcbc1f31/src/Libraries/Microsoft.Extensions.AI/TelemetryHelpers.cs#L14
12+
/// </remarks>
13+
public static bool EnableSensitiveDataDefault { get; } =
14+
Environment.GetEnvironmentVariable("OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT") is string envVar &&
15+
string.Equals(envVar, "true", StringComparison.OrdinalIgnoreCase);
16+
}

0 commit comments

Comments
 (0)