package com.sonic.cow.lib.input;

import com.sonic.cow.lib.enums.PromptTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 生成AI人物的基础信息入参
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GenAiUserContentV1Input {

    @ApiParam(value = "昵称")
    private String nickname;

    @ApiParam(value = "性别（英文）")
    private String sex;

    @ApiParam(value = "生日（yyyy-MM-dd）")
    private String birthday;

    @ApiParam(value = "年龄")
    private Integer age;

    @ApiParam(value = "性格（字典代码）")
    private String characterCode;

    @ApiParam(value = "标签（字典代码）")
    private String tagCode;

    @ApiModelProperty("用户输入的内容")
    private String content;

    @ApiModelProperty("ai的人物基础信息（背景、性格、身份）【生成个人简介时使用】")
    private String figure;

    @ApiModelProperty("ai对话风格（角色的聊天方式、对话语气）【生成个人简介时使用】")
    private String dialogue;

    @NotNull
    @ApiModelProperty("提示词类型")
    private PromptTypeEnum ptType;

    @ApiModelProperty("简介")
    private String introduction;

}
