package cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - Prompt 模板表，用于记录每个模板的信息新增/修改 Request VO")
@Data
public class PromptTemplatesSaveReqVO {

    @Schema(description = "Prompt 模板ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20922")
    private Long id;

    @Schema(description = "Prompt 模板名称", example = "王五")
    private String name;

    @Schema(description = "模板分类，使用字典（llm_prompt_template_category）")
    private Integer templateCategory;

    @Schema(description = "模板框架，使用字典（llm_prompt_template_framework）")
    private Integer templateFramework;

    @Schema(description = "模板内容")
    private String templateText;

    @Schema(description = "变量标识符，使用字典（llm_variable_identifier）")
    private Integer variableIdentifier;

    @Schema(description = "模板类型（1 - 预制模板、2 - 自定义模板）", example = "1")
    private Integer templateType;

    @Schema(description = "标签Id列表", example = "[1, 2, 3]")
    private List<String> tagIds;

    @Schema(description = "应用Id列表", example = "[1, 2, 3]")
    private List<String> applicationIds;

}
