using System.Text.Json.Serialization; namespace Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi; /// /// 工具 /// public class ThorToolChoice { /// /// 表示模型不会调用任何工具 /// public static ThorToolChoice GetNone() => new() { Type = ThorToolChoiceTypeConst.None }; /// /// 表示模型可以在生成消息或调用一个或多个工具之间进行选择 /// public static ThorToolChoice GetAuto() => new() { Type = ThorToolChoiceTypeConst.Auto }; /// /// 表示模型必须调用一个或多个工具 /// public static ThorToolChoice GetRequired() => new() { Type = ThorToolChoiceTypeConst.Required }; /// /// 指定特定工具会强制模型调用该工具 /// /// 函数名 /// public static ThorToolChoice GetFunction(string functionName) => new() { Type = ThorToolChoiceTypeConst.Function, Function = new ThorToolChoiceFunctionTool() { Name = functionName } }; /// /// "none" 表示模型不会调用任何工具
/// "auto" 表示模型可以在生成消息或调用一个或多个工具之间进行选择
/// "required" 表示模型必须调用一个或多个工具
/// "function" 指定特定工具会强制模型调用该工具
/// 使用 赋值 ///
[JsonPropertyName("type")] public string Type { get; set; } /// /// 调用的函数定义 /// [JsonPropertyName("function")] public ThorToolChoiceFunctionTool? Function { get; set; } }