package com.infoepoch.pms.agent.platform.model.application.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Map;

@Getter
@Setter
public class CreateModelConfigRequest {

    @NotBlank(message = "模型名称不能为空")
    @Size(max = 100, message = "模型名称不能超过100个字符")
    private String modelName;

    @NotNull(message = "模型类型不能为空")
    @Pattern(regexp = "LLM|EMBEDDING|RERANK", message = "模型类型必须是 LLM、EMBEDDING 或 RERANK")
    private String modelType;

    @Size(max = 100, message = "显示名称不能超过100个字符")
    private String displayName;

    private Integer maxTokens;
    private BigDecimal temperature;
    private Integer contextWindow;
    private Integer vectorDimension;
    private Boolean enableThinking;
    private Boolean multiModel;
    private Map<String, Object> customConfig;
}
