in src/Functions.Worker.Extensions.OpenAI/Search/SearchableDocumentJsonConverter.cs [20:79]
public override void Write(Utf8JsonWriter writer, SearchableDocument value, JsonSerializerOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("embeddingsContext"u8);
writer.WriteStartObject();
if (value.EmbeddingsContext?.Request is List<string> inputList)
{
writer.WritePropertyName("request"u8);
var inputWrapper = JsonModelListWrapper.FromList(inputList);
inputWrapper.Write(writer, modelReaderWriterOptions);
}
if (value.EmbeddingsContext?.Response is IJsonModel<OpenAIEmbeddingCollection> response)
{
writer.WritePropertyName("response"u8);
response.Write(writer, modelReaderWriterOptions);
}
if (value.EmbeddingsContext != null)
{
writer.WritePropertyName("count"u8);
writer.WriteNumberValue(value.EmbeddingsContext.Count);
}
writer.WriteEndObject();
writer.WritePropertyName("connectionInfo"u8);
writer.WriteStartObject();
writer.WritePropertyName("connectionName"u8);
if (value.ConnectionInfo == null)
{
writer.WriteNullValue();
}
else
{
writer.WriteStringValue(value.ConnectionInfo.ConnectionName);
}
writer.WritePropertyName("collectionName"u8);
if (value.ConnectionInfo == null)
{
writer.WriteNullValue();
}
else if (value.ConnectionInfo.CollectionName == null)
{
writer.WriteNullValue();
}
else
{
writer.WriteStringValue(value.ConnectionInfo.CollectionName);
}
writer.WriteEndObject();
writer.WritePropertyName("title");
writer.WriteStringValue(value.Title);
writer.WriteEndObject();
}