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;
|
}
|
|
}
|