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; } } }