package com.iailab.module.ai.controller.admin.chat.vo.conversation;
|
|
import com.iailab.module.ai.dal.dataobject.model.AiModelDO;
|
import com.iailab.module.ai.dal.dataobject.model.AiChatRoleDO;
|
import com.fhs.core.trans.anno.Trans;
|
import com.fhs.core.trans.constant.TransType;
|
import com.fhs.core.trans.vo.VO;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.Data;
|
|
import java.time.LocalDateTime;
|
|
@Schema(description = "管理后台 - AI 聊天对话 Response VO")
|
@Data
|
public class AiChatConversationRespVO implements VO {
|
|
@Schema(description = "对话编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
private Long id;
|
|
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
|
private Long userId;
|
|
@Schema(description = "对话标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "我是一个标题")
|
private String title;
|
|
@Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
private Boolean pinned;
|
|
@Schema(description = "角色编号", example = "1")
|
@Trans(type = TransType.SIMPLE, target = AiChatRoleDO.class, fields = {"name", "avatar"}, refs = {"roleName", "roleAvatar"})
|
private Long roleId;
|
|
@Schema(description = "模型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Trans(type = TransType.SIMPLE, target = AiModelDO.class, fields = "name", ref = "modelName")
|
private Long modelId;
|
|
@Schema(description = "模型标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "ERNIE-Bot-turbo-0922")
|
private String model;
|
|
@Schema(description = "模型名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
|
private String modelName;
|
|
@Schema(description = "角色设定", example = "一个快乐的程序员")
|
private String systemMessage;
|
|
@Schema(description = "温度参数", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.8")
|
private Double temperature;
|
|
@Schema(description = "单条回复的最大 Token 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "4096")
|
private Integer maxTokens;
|
|
@Schema(description = "上下文的最大 Message 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
private Integer maxContexts;
|
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
private LocalDateTime createTime;
|
|
// ========== 关联 role 信息 ==========
|
|
@Schema(description = "角色头像", example = "https://www.Iailab.cn/1.png")
|
private String roleAvatar;
|
|
@Schema(description = "角色名字", example = "小黄")
|
private String roleName;
|
|
// ========== 仅在【对话管理】时加载 ==========
|
|
@Schema(description = "消息数量", example = "20")
|
private Integer messageCount;
|
|
}
|