2025-07-17 23:10:26 +08:00
|
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
|
|
2025-08-11 15:31:11 +08:00
|
|
|
|
namespace Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi;
|
2025-07-17 23:10:26 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 有效工具的定义。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class ThorToolDefinition
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 必修的。工具的类型。目前仅支持 function 。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[JsonPropertyName("type")]
|
|
|
|
|
|
public string Type { get; set; } = ThorToolTypeConst.Function;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 函数对象
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[JsonPropertyName("function")]
|
|
|
|
|
|
public ThorToolFunctionDefinition? Function { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 创建函数工具
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="function"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public static ThorToolDefinition CreateFunctionTool(ThorToolFunctionDefinition function) => new()
|
|
|
|
|
|
{
|
|
|
|
|
|
Type = ThorToolTypeConst.Function,
|
|
|
|
|
|
Function = function
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|