When using complex types as Kernel Function parameters, nested properties do not include their metadata (i.e. Descriptions) when being sent to OpenAI.
A completely made up example:
class LightPlugin
{
[KernelFunction("ChangeState")]
[Description("Changes the state of the light.'")]
public string ChangeState(LightState state)
{
}
}
class LightState {
[Description("Whether the light is on or off")]
public bool BinaryState { get; set; }
[Description("The brightness level of the light (0 - 100)")]
public int Brightness { get; set; }
[Description("The color of the light")]
public int Color { get; set; }
}
The descriptions of the properties in LightState, will not be sent in the request to OpenAI.
Additionally, what would be the way to indicate if some of the nested properties are required as well.
When using complex types as Kernel Function parameters, nested properties do not include their metadata (i.e. Descriptions) when being sent to OpenAI.
A completely made up example:
The descriptions of the properties in LightState, will not be sent in the request to OpenAI.
Additionally, what would be the way to indicate if some of the nested properties are required as well.