Skip to content

Commit

Permalink
Merge pull request #68 from tghamm/feature/4.4.4
Browse files Browse the repository at this point in the history
Bug Fix for HttpClient Reuse
  • Loading branch information
tghamm authored Jan 23, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents 64a565c + c29a5ad commit 170bbbc
Showing 4 changed files with 45 additions and 15 deletions.
13 changes: 13 additions & 0 deletions Anthropic.SDK.BatchTester/Program.cs
Original file line number Diff line number Diff line change
@@ -71,6 +71,19 @@ static async Task Main(string[] args)
await foreach (var result in client.Batches.RetrieveBatchResultsAsync(response.Id))
{
Console.WriteLine("Result: " + result);
messages.Add(new Message(RoleType.Assistant, result.Result.Message.FirstMessage.Text));
messages.Add(new Message(RoleType.User, "Who created the Statue of Liberty?"));
parameters = new MessageParameters()
{
Messages = messages,
MaxTokens = 512,
Model = AnthropicModels.Claude35Sonnet,
Stream = false,
Temperature = 1.0m,
};

var clientResponse = await client.Messages.GetClaudeMessageAsync(parameters);
Console.WriteLine(clientResponse.FirstMessage.Text);
}

await foreach (var result in client.Batches.RetrieveBatchResultsJsonlAsync(response.Id))
8 changes: 4 additions & 4 deletions Anthropic.SDK.Tests/Anthropic.SDK.Tests.csproj
Original file line number Diff line number Diff line change
@@ -24,10 +24,10 @@
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.1.0-preview.1.25064.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="Microsoft.SemanticKernel" Version="1.33.0" />
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" Version="1.33.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.1" />
<PackageReference Include="Microsoft.SemanticKernel" Version="1.34.0" />
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" Version="1.34.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.2" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
</ItemGroup>

8 changes: 4 additions & 4 deletions Anthropic.SDK/Anthropic.SDK.csproj
Original file line number Diff line number Diff line change
@@ -14,12 +14,12 @@
<PackageTags>Claude, AI, ML, API, Anthropic</PackageTags>
<Title>Claude API</Title>
<PackageReleaseNotes>
Updates Microsoft.Extensions.AI.Abstractions
Bug Fix for HttpClient Reuse
</PackageReleaseNotes>
<PackageId>Anthropic.SDK</PackageId>
<Version>4.4.3</Version>
<AssemblyVersion>4.4.3.0</AssemblyVersion>
<FileVersion>4.4.3.0</FileVersion>
<Version>4.4.4</Version>
<AssemblyVersion>4.4.4.0</AssemblyVersion>
<FileVersion>4.4.4.0</FileVersion>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>icon.png</PackageIcon>
31 changes: 24 additions & 7 deletions Anthropic.SDK/EndpointBase.cs
Original file line number Diff line number Diff line change
@@ -72,18 +72,35 @@ protected HttpClient GetClient()

var client = customClient ?? new HttpClient();

client.DefaultRequestHeaders.Add("x-api-key", Client.Auth.ApiKey);
client.DefaultRequestHeaders.Add("anthropic-version", Client.AnthropicVersion);
if (!string.IsNullOrWhiteSpace(Client.AnthropicBetaVersion))
if (!client.DefaultRequestHeaders.Contains("x-api-key"))
{
client.DefaultRequestHeaders.Add("x-api-key", Client.Auth.ApiKey);
}

if (!client.DefaultRequestHeaders.Contains("anthropic-version"))
{
client.DefaultRequestHeaders.Add("anthropic-version", Client.AnthropicVersion);
}

if (!string.IsNullOrWhiteSpace(Client.AnthropicBetaVersion) &&
!client.DefaultRequestHeaders.Contains("anthropic-beta"))
{
client.DefaultRequestHeaders.Add("anthropic-beta", Client.AnthropicBetaVersion);
}

client.DefaultRequestHeaders.Add("User-Agent", UserAgent);
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));
if (!client.DefaultRequestHeaders.Contains("User-Agent"))
{
client.DefaultRequestHeaders.Add("User-Agent", UserAgent);
}

if (!client.DefaultRequestHeaders.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/json")))
{

client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));

}

return client;
}

0 comments on commit 170bbbc

Please sign in to comment.