using System.ComponentModel.DataAnnotations; using Yi.Framework.AiHub.Domain.Shared.Enums; namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Channel; /// /// 创建AI模型输入 /// public class AiModelCreateInput { /// /// 处理名 /// [Required(ErrorMessage = "处理名不能为空")] [StringLength(100, ErrorMessage = "处理名不能超过100个字符")] public string HandlerName { get; set; } /// /// 模型ID /// [Required(ErrorMessage = "模型ID不能为空")] [StringLength(200, ErrorMessage = "模型ID不能超过200个字符")] public string ModelId { get; set; } /// /// 模型名称 /// [Required(ErrorMessage = "模型名称不能为空")] [StringLength(200, ErrorMessage = "模型名称不能超过200个字符")] public string Name { get; set; } /// /// 模型描述 /// [StringLength(1000, ErrorMessage = "模型描述不能超过1000个字符")] public string? Description { get; set; } /// /// 排序 /// [Range(0, int.MaxValue, ErrorMessage = "排序必须大于等于0")] public int OrderNum { get; set; } /// /// AI应用ID /// [Required(ErrorMessage = "AI应用ID不能为空")] public Guid AiAppId { get; set; } /// /// 额外信息 /// [StringLength(2000, ErrorMessage = "额外信息不能超过2000个字符")] public string? ExtraInfo { get; set; } /// /// 模型类型 /// [Required(ErrorMessage = "模型类型不能为空")] public ModelTypeEnum ModelType { get; set; } /// /// 模型API类型 /// [Required(ErrorMessage = "模型API类型不能为空")] public ModelApiTypeEnum ModelApiType { get; set; } /// /// 模型倍率 /// [Range(0.01, double.MaxValue, ErrorMessage = "模型倍率必须大于0")] public decimal Multiplier { get; set; } = 1; /// /// 模型显示倍率 /// [Range(0.01, double.MaxValue, ErrorMessage = "模型显示倍率必须大于0")] public decimal MultiplierShow { get; set; } = 1; /// /// 供应商分组名称 /// [StringLength(100, ErrorMessage = "供应商分组名称不能超过100个字符")] public string? ProviderName { get; set; } /// /// 模型图标URL /// [StringLength(500, ErrorMessage = "模型图标URL不能超过500个字符")] public string? IconUrl { get; set; } /// /// 是否为尊享模型 /// public bool IsPremium { get; set; } }