using System.Text.Json;
using System.Text.Json.Serialization;
namespace Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi
{
///
/// 模型调用的函数。
///
public class ThorChatMessageFunction
{
///
/// 功能名,如:get_current_weather
///
[JsonPropertyName("name")]
public string? Name { get; set; }
///
/// 调用函数所用的参数,由模型以 JSON 格式生成。请注意,该模型并不总是生成有效的 JSON,
/// 并且可能会产生未由函数架构定义的参数。
/// 在调用函数之前验证代码中的参数。
/// 如:"{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"
///
[JsonPropertyName("arguments")]
public string? Arguments { get; set; }
///
/// 转换参数为字典
///
///
public Dictionary ParseArguments()
{
var result = string.IsNullOrWhiteSpace(Arguments) == false ? JsonSerializer.Deserialize>(Arguments) : new Dictionary();
return result;
}
}
}