BotSharp/src/Infrastructure/BotSharp.Abstraction/VectorStorage/Models/VectorPayloadValue.cs

59 lines
1.4 KiB
C#
Raw Normal View History

2025-08-15 04:40:15 +00:00
using BotSharp.Abstraction.VectorStorage.Enums;
namespace BotSharp.Abstraction.VectorStorage.Models;
public class VectorPayloadValue
{
2025-08-15 15:01:01 +00:00
[JsonPropertyName("data_value")]
public object DataValue { get; set; } = null!;
2025-08-15 04:40:15 +00:00
[JsonPropertyName("data_type")]
public VectorPayloadDataType DataType { get; set; } = VectorPayloadDataType.String;
public VectorPayloadValue()
{
}
public VectorPayloadValue(object data, VectorPayloadDataType dataType)
{
2025-08-15 15:01:01 +00:00
DataValue = data;
2025-08-15 04:40:15 +00:00
DataType = dataType;
}
public override string ToString()
{
2025-08-15 15:01:01 +00:00
return $"{DataValue} ({DataType})";
2025-08-15 04:40:15 +00:00
}
public static VectorPayloadValue BuildStringValue(string data)
{
return new(data, VectorPayloadDataType.String);
}
public static VectorPayloadValue BuildIntegerValue(long data)
{
return new(data, VectorPayloadDataType.Integer);
}
public static VectorPayloadValue BuildDoubleValue(double data)
{
return new(data, VectorPayloadDataType.Double);
}
public static VectorPayloadValue BuildBooleanValue(bool data)
{
return new(data, VectorPayloadDataType.Boolean);
}
public static VectorPayloadValue BuildDatetimeValue(DateTime data)
{
return new(data, VectorPayloadDataType.Datetime);
}
public static VectorPayloadValue BuildUnkownValue(object data)
{
return new(data, VectorPayloadDataType.Unknown);
}
}