in src/WebJobs.Extensions.OpenAI/Search/SearchableDocumentJsonConverter.cs [79:135]
public override void Write(Utf8JsonWriter writer, SearchableDocument value, JsonSerializerOptions options)
{
writer.WriteStartObject();
writer.WritePropertyName("embeddingsContext"u8);
writer.WriteStartObject();
if (value.Embeddings?.Request is List<string> inputList)
{
writer.WritePropertyName("request"u8);
var inputWrapper = JsonModelListWrapper.FromList(inputList);
inputWrapper.Write(writer, modelReaderWriterOptions);
}
if (value.Embeddings?.Response is IJsonModel<OpenAIEmbeddingCollection> response)
{
writer.WritePropertyName("response"u8);
response.Write(writer, modelReaderWriterOptions);
}
if (value.Embeddings != null)
{
writer.WritePropertyName("count"u8);
writer.WriteNumberValue(value.Embeddings.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
{
writer.WriteStringValue(value.ConnectionInfo.CollectionName);
}
writer.WriteEndObject();
writer.WritePropertyName("title");
writer.WriteStringValue(value.Title);
writer.WriteEndObject();
}