Skip to content

Commit 689cace

Browse files
authored
Upgrade SK (incl. Azure OpenAI throttling fix) and OllamaSharp (#874)
## Motivation and Context (Why the change? What's the scenario?) Temporary workaround for Azure OpenAI SDK bug - service throttling handled incorrectly and causing incorrect HTTP status error See: * Azure/azure-sdk-for-net#46109 * microsoft/semantic-kernel#8929 * https://github.com/microsoft/kernel-memory/issues/855
1 parent 67472d5 commit 689cace

File tree

4 files changed

+63
-8
lines changed

4 files changed

+63
-8
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project>
33
<PropertyGroup>
44
<!-- Central version prefix - applies to all nuget packages. -->
5-
<Version>0.90.0</Version>
5+
<Version>0.91.0</Version>
66

77
<!-- C# lang version, https://learn.microsoft.com/dotnet/csharp/whats-new -->
88
<LangVersion>12</LangVersion>

Directory.Packages.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6-
<PackageVersion Include="AWSSDK.S3" Version="3.7.405.6" />
6+
<PackageVersion Include="AWSSDK.S3" Version="3.7.405.7" />
77
<PackageVersion Include="Azure.AI.ContentSafety" Version="1.0.0" />
88
<PackageVersion Include="Azure.AI.FormRecognizer" Version="4.1.0" />
99
<PackageVersion Include="Azure.Identity" Version="1.13.1" />
@@ -28,7 +28,7 @@
2828
<PackageVersion Include="MongoDB.Driver.GridFS" Version="2.30.0" />
2929
<PackageVersion Include="Moq" Version="4.20.72" />
3030
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
31-
<PackageVersion Include="OllamaSharp" Version="4.0.2" />
31+
<PackageVersion Include="OllamaSharp" Version="4.0.3" />
3232
<PackageVersion Include="PdfPig" Version="0.1.9" />
3333
<PackageVersion Include="Polly.Core" Version="8.4.2" />
3434
<PackageVersion Include="RabbitMQ.Client" Version="6.8.1" />
@@ -56,10 +56,10 @@
5656
</ItemGroup>
5757
<!-- Semantic Kernel -->
5858
<ItemGroup>
59-
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.25.0" />
60-
<PackageVersion Include="Microsoft.SemanticKernel.Abstractions" Version="1.25.0" />
61-
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.OpenAI" Version="1.25.0" />
62-
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureOpenAI" Version="1.25.0" />
59+
<PackageVersion Include="Microsoft.SemanticKernel" Version="1.26.0" />
60+
<PackageVersion Include="Microsoft.SemanticKernel.Abstractions" Version="1.26.0" />
61+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.OpenAI" Version="1.26.0" />
62+
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureOpenAI" Version="1.26.0" />
6363
</ItemGroup>
6464
<!-- Documentation -->
6565
<ItemGroup>
@@ -103,7 +103,7 @@
103103
<PrivateAssets>all</PrivateAssets>
104104
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
105105
</PackageVersion>
106-
<PackageVersion Include="Xunit.DependencyInjection" Version="9.5.0" />
106+
<PackageVersion Include="Xunit.DependencyInjection" Version="9.6.0" />
107107
<PackageVersion Include="Xunit.DependencyInjection.Logging" Version="9.0.0" />
108108
</ItemGroup>
109109
</Project>

extensions/AzureOpenAI/Internals/AzureOpenAIClientBuilder.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,50 @@ internal static AzureOpenAIClient Build(
5555
}
5656
}
5757
}
58+
59+
// Use only for local debugging - Usage:
60+
//
61+
// 1. Add this code in the builder above:
62+
//
63+
// options.Transport = new HttpClientPipelineTransport(new HttpClient(new DebuggingHandler(new HttpClientHandler())));
64+
//
65+
// 2. Add these at the top:
66+
//
67+
// using System.Threading;
68+
// using System.Threading.Tasks;
69+
//
70+
// 3. Uncomment this class:
71+
//
72+
// #pragma warning disable CA1303
73+
// internal class DebuggingHandler : DelegatingHandler
74+
// {
75+
// public DebuggingHandler(HttpMessageHandler innerHandler) : base(innerHandler)
76+
// {
77+
// }
78+
//
79+
// protected override async Task<HttpResponseMessage> SendAsync(
80+
// HttpRequestMessage request, CancellationToken cancellationToken)
81+
// {
82+
// // Log request URI
83+
// Console.WriteLine("#### Request URI: " + request.RequestUri);
84+
//
85+
// // Log request headers
86+
// Console.WriteLine("#### Request Headers:");
87+
// foreach (var header in request.Headers)
88+
// {
89+
// Console.WriteLine($"#### {header.Key}: {string.Join(", ", header.Value)}");
90+
// }
91+
//
92+
// // Send the request to the inner handler
93+
// var response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);
94+
//
95+
// // Optionally, log response headers here
96+
// Console.WriteLine("#### Response Headers:");
97+
// foreach (var header in response.Headers)
98+
// {
99+
// Console.WriteLine($"#### {header.Key}: {string.Join(", ", header.Value)}");
100+
// }
101+
//
102+
// return response;
103+
// }
104+
// }

extensions/OpenAI/OpenAI/OpenAITextGenerator.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,14 @@ public async IAsyncEnumerable<string> GenerateTextAsync(
142142
IAsyncEnumerable<StreamingTextContent> result = this._client.GetStreamingTextContentsAsync(prompt, skOptions, cancellationToken: cancellationToken);
143143
await foreach (StreamingTextContent x in result)
144144
{
145+
// TODO: try catch
146+
// if (x.Metadata?["Usage"] is not null)
147+
// {
148+
// var usage = x.Metadata["Usage"] as ChatTokenUsage;
149+
// this._log.LogTrace("Usage report: input tokens {0}, output tokens {1}, output reasoning tokens {2}",
150+
// usage?.InputTokenCount, usage?.OutputTokenCount, usage?.OutputTokenDetails.ReasoningTokenCount);
151+
// }
152+
145153
if (x.Text == null) { continue; }
146154

147155
yield return x.Text;

0 commit comments

Comments
 (0)