Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.Net: Fix hugging face embedding #6673

Open
wants to merge 34 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6b4e84c
Remove class `TextEmbeddingResponse`
N-E-W-T-O-N Jun 11, 2024
957f2a0
Fix bug #6635: Improve error handling in `GenerateEmbeddingsAsync`
N-E-W-T-O-N Jun 11, 2024
0618ec6
Keep only one Deserilzation class of type List<ReadOnlyMemory<float>>
N-E-W-T-O-N Jun 12, 2024
a79f63c
Made Changes as requested
N-E-W-T-O-N Jun 12, 2024
6fe4a03
Merge branch 'main' into fix_huggingFaceEmbedding
N-E-W-T-O-N Jun 12, 2024
4f9eb97
Added a Custom HttpClientHandler example
N-E-W-T-O-N Jun 15, 2024
0bd1ab4
Merge branch 'microsoft:main' into fix_huggingFaceEmbedding
N-E-W-T-O-N Jun 19, 2024
ad8cce7
Update and rename MemoryHuggingFaceEmbedding_CustomHttpResponse.cs to…
N-E-W-T-O-N Jun 19, 2024
3793eea
Update HuggingFaceClient.cs
N-E-W-T-O-N Jun 19, 2024
bc5e98f
Minor fix
N-E-W-T-O-N Jun 19, 2024
4641fe5
Remove trailing white-space
N-E-W-T-O-N Jun 20, 2024
f6c4abe
Update HuggingFace_TextEmbeddingCustomHttpHandle.cs
N-E-W-T-O-N Jun 23, 2024
aee5cd0
Update HuggingFace_TextEmbeddingCustomHttpHandle.cs
N-E-W-T-O-N Jun 23, 2024
a8cf0fc
Update HuggingFace_TextEmbeddingCustomHttpHandle.cs
N-E-W-T-O-N Jun 23, 2024
71ad50d
Update HuggingFaceClient.cs
N-E-W-T-O-N Jun 23, 2024
1694190
Resolved Encoding , Trail Whitespace & Other Issues
N-E-W-T-O-N Jun 23, 2024
2194756
Minor Fix
N-E-W-T-O-N Jun 23, 2024
50f4836
Resolve the bug
N-E-W-T-O-N Jun 23, 2024
273d1cf
Merge branch 'main' into fix_huggingFaceEmbedding
dmytrostruk Jun 24, 2024
feb1015
made the CustomHttpClientHandler as sealed
N-E-W-T-O-N Jun 25, 2024
b97955a
Update embeddings_test_response_feature_extraction.json
N-E-W-T-O-N Jun 27, 2024
faf9f87
Update HuggingFaceEmbeddingGenerationTests.cs
N-E-W-T-O-N Jun 27, 2024
90f697e
Update HuggingFaceEmbeddingGenerationTests.cs
N-E-W-T-O-N Jun 27, 2024
3e2a42c
Update HuggingFace_TextEmbeddingCustomHttpHandle.cs
N-E-W-T-O-N Jun 27, 2024
6048aa5
> Change in FACT ShouldHandleServiceResponseAsync()
N-E-W-T-O-N Jun 27, 2024
cd3aa67
Merge branch 'main' into fix_huggingFaceEmbedding
dmytrostruk Jun 27, 2024
31ea059
Small fixes
dmytrostruk Jul 1, 2024
07fc890
Merge branch 'fix_huggingFaceEmbedding' of https://github.com/N-E-W-T…
dmytrostruk Jul 1, 2024
8f8228e
Small fix
dmytrostruk Jul 1, 2024
a2f6be9
Merge branch 'main' into fix_huggingFaceEmbedding
dmytrostruk Jul 1, 2024
cef70c2
Remove line 40-43 as suggested by @westey-m
N-E-W-T-O-N Jul 3, 2024
e41f7f4
Make the Serialization & Deserilization process Asynchronous
N-E-W-T-O-N Jul 3, 2024
c772d2d
Merge branch 'main' into fix_huggingFaceEmbedding
dmytrostruk Jul 5, 2024
6cefe75
Resolved Issue CA1869 related JsonSerializerOptions
N-E-W-T-O-N Jul 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,29 @@ private Uri GetTextGenerationEndpoint(string modelId)

string body = await this.SendRequestAndGetStringBodyAsync(httpRequestMessage, cancellationToken)
.ConfigureAwait(false);
try
N-E-W-T-O-N marked this conversation as resolved.
Show resolved Hide resolved
{
// Attempt to deserialize as TextEmbeddingResponseType1
var response = DeserializeResponse<TextEmbeddingResponseType1>(body);
return response.ToList();
}
catch (KernelException ex1)
{
try
{
// If it fails, attempt to deserialize as TextEmbeddingResponseType2
var response = DeserializeResponse<TextEmbeddingResponseType2>(body);

// Currently, only one embedding per data is supported
return response[0][0].ToList();
}
catch (KernelException ex2)
{
// If both fail, throw the second exception
throw ex2;
}
}

var response = DeserializeResponse<TextEmbeddingResponse>(body);

// Currently only one embedding per data is supported
return response[0][0].ToList()!;
}

private Uri GetEmbeddingGenerationEndpoint(string modelId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,12 @@ namespace Microsoft.SemanticKernel.Connectors.HuggingFace.Core;
/// <summary>
/// Represents the response from the Hugging Face text embedding API.
/// </summary>
internal sealed class TextEmbeddingResponse : List<List<List<ReadOnlyMemory<float>>>>;
/// <returns> List&lt;ReadOnlyMemory&lt;float&gt;&gt;</returns>
internal sealed class TextEmbeddingResponseType1 : List<ReadOnlyMemory<float>>;

/// <summary>
/// Represents the response from the Hugging Face text embedding API.
/// </summary>
/// <returns>List&lt;List&lt;List&lt;ReadOnlyMemory&lt;float&gt;&gt;&gt;&gt;</returns>
internal sealed class TextEmbeddingResponseType2 : List<List<List<ReadOnlyMemory<float>>>>;
N-E-W-T-O-N marked this conversation as resolved.
Show resolved Hide resolved

Loading