elastic/elasticsearch-net

Machine Learning Inference request throws as error while serializing request

Closed this issue · 4 comments

Elastic.Clients.Elasticsearch version: 9.0.1

Elasticsearch version: 9.0.1

.NET runtime version: 8

Operating system version: windows

Description of the problem including expected versus actual behavior:

Machine Learning Inference request throws json serializing error

Steps to reproduce:

var docs = new List<IDictionary<string, object>>
{
new Dictionary<string, object>
{
{ "text_field", "test")}
}
};

var request = new InferTrainedModelRequest()
{
ModelId = ".xx",
Docs = docs
};

await client.MachineLearning.InferTrainedModelAsync(request);

Expected behavior
call is throwing exception and it should get response from inference

Provide ConnectionSettings (if relevant):

Provide DebugInformation (if relevant):

FailureReason: Unrecoverable/Unexpected BadRequest while attempting POST on https://xx

  • [1] BadRequest: Node: https://xx Exception: JsonException Took: 00:00:00.3530212

Audit exception in step 1 BadRequest:

System.Text.Json.JsonException: Unexpected token type 'StartObject' read while deserializing 'FieldValue'.
at Elastic.Clients.Elasticsearch.FieldValueConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /_/src/Elastic.Clients.Elasticsearch/Shared/Core/Fields/FieldValueConverter.cs:line 46
at Elastic.Clients.Elasticsearch.Serialization.JsonReaderExtensions.<>c__131.<ReadSingleOrManyCollectionValue>b__13_0(Utf8JsonReader& r, JsonSerializerOptions o) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Next/JsonReaderExtensions.cs:line 432 at Elastic.Clients.Elasticsearch.Serialization.JsonReaderExtensions.ReadSingleOrManyCollectionValue[T](Utf8JsonReader& reader, JsonSerializerOptions options, JsonReadFunc1 readElement) in /
/src/Elastic.Clients.Elasticsearch/Shared/Next/JsonReaderExtensions.cs:line 436
at Elastic.Clients.Elasticsearch.MachineLearning.InferenceResponseResultConverter.<>c.b__9_4(Utf8JsonReader& r, JsonSerializerOptions o) in /
/src/Elastic.Clients.Elasticsearch/Generated/Types/MachineLearning/InferenceResponseResult.g.cs:line 67
at Elastic.Clients.Elasticsearch.Serialization.JsonReaderExtensions.ReadSingleOrManyCollectionValue[T](Utf8JsonReader& reader, JsonSerializerOptions options, JsonReadFunc1 readElement) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Next/JsonReaderExtensions.cs:line 436 at Elastic.Clients.Elasticsearch.MachineLearning.InferenceResponseResultConverter.<>c.<Read>b__9_2(Utf8JsonReader& r, JsonSerializerOptions o) in /_/src/Elastic.Clients.Elasticsearch/_Generated/Types/MachineLearning/InferenceResponseResult.g.cs:line 67 at Elastic.Clients.Elasticsearch.MachineLearning.InferenceResponseResultConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /_/src/Elastic.Clients.Elasticsearch/_Generated/Types/MachineLearning/InferenceResponseResult.g.cs:line 67 at Elastic.Clients.Elasticsearch.Serialization.JsonReaderExtensions.<>c__91.b__9_0(Utf8JsonReader& r, JsonSerializerOptions o) in /
/src/Elastic.Clients.Elasticsearch/_Shared/Next/JsonReaderExtensions.cs:line 276
at Elastic.Clients.Elasticsearch.Serialization.JsonReaderExtensions.ReadCollectionValue[T](Utf8JsonReader& reader, JsonSerializerOptions options, JsonReadFunc1 readElement) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Next/JsonReaderExtensions.cs:line 282 at Elastic.Clients.Elasticsearch.MachineLearning.InferTrainedModelResponseConverter.<>c.<Read>b__1_0(Utf8JsonReader& r, JsonSerializerOptions o) in /_/src/Elastic.Clients.Elasticsearch/_Generated/Api/MachineLearning/InferTrainedModelResponse.g.cs:line 36 at Elastic.Clients.Elasticsearch.MachineLearning.InferTrainedModelResponseConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /_/src/Elastic.Clients.Elasticsearch/_Generated/Api/MachineLearning/InferTrainedModelResponse.g.cs:line 36 at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1.ContinueDeserialize(ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack)

Hi @Sudhakar85 , could you please provide the JSON response payload?

Hi @Sudhakar85 , the issue is not with serialization of the request, but with deserialization of the response. The response is highly dependent on your model and data.

Could you please provide the response payload so that I can reproduce the issue on my side?

This issue is stale because it has been open 5 days with no activity. Remove stale label or comment or this will be closed in 2 days.

This issue was closed because it has been stalled for 2 days with no activity.