package com.monkeylessey.domain.form; import com.monkeylessey.domain.entity.Session; import com.monkeylessey.group.Update; import com.monkeylessey.group.Add; import com.monkeylessey.sys.domain.base.AbsForm; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * chat对话表单 * * @author 向培 * @since 2025-04-18 */ @Data @ApiModel(value = "Session表单", description = "chat对话表单") public class SessionForm extends AbsForm { @NotBlank(message = "会话名称不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("会话名称") private String sessionName; @NotBlank(message = "会话模式不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("会话模式") private String mode; @NotBlank(message = "知识库不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("知识库") private String kbName; @NotBlank(message = "不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("") private String topK; @NotBlank(message = "不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("") private String scoreThreshold; @NotNull(message = "不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("") private Integer stream; @NotBlank(message = "大模型不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("大模型") private String model; @NotBlank(message = "不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("") private String temperature; @NotNull(message = "最大吐字数不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("最大吐字数") private Integer maxTokens; @NotBlank(message = "不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("") private String promptName; @NotNull(message = "是否只返回检索结果不调用大模型不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("是否只返回检索结果不调用大模型") private Integer returnDirect; public static Session getEntityByForm(@NonNull SessionForm form, Session entity) { if(entity == null) { entity = new Session(); } BeanUtils.copyProperties(form, entity); return entity; } }