package cn.iocoder.yudao.module.llm.service.http.vo;

import cn.hutool.core.date.DateTime;
import cn.iocoder.yudao.module.llm.handler.AigcCustomDateTimeDeserializer;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class AigcModelDeployVO {
  /*
    {
    "updated_at": "2025-01-09 13:32:10.8013027+00:00",
    "model_id": 2,
    "created_at": "2025-01-09 13:32:10.8013027+00:00",
    "status": "pending",
    "inferred_type": "cpu",
    "gpu": 0,
    "quantization": "float16",
    "deployment_name": "test-2",
    "deleted_at": "2025-01-09 13:32:18.705719834+00:00",
    "id": 4,
    "model_path": "/data/base-model/test",
    "replicas": 1,
    "label": "cpu-aigc-model",
    "cpu": 1,
    "vllm": 0
  }*/
    @JsonProperty("updated_at")
//    @JsonDeserialize(using = AigcCustomDateTimeDeserializer.class)
    private LocalDateTime updatedAt;
    @JsonProperty("model_id")
    private Integer modeId;
    @JsonProperty("created_at")
//    @JsonDeserialize(using = AigcCustomDateTimeDeserializer.class)
    private LocalDateTime createdAt;
    private String status;
    @JsonProperty("inferred_type")
    private String inferredType;
    private Integer gpu;
    private String quantization;
    @JsonProperty("deployment_name")
    private String deploymentName;
    @JsonProperty("deleted_at")
//    @JsonDeserialize(using = AigcCustomDateTimeDeserializer.class)
    private LocalDateTime deletedAt;
    private Integer id;
    @JsonProperty("model_path")
    private String modelPath;
    private Integer replicas;
    private String label;
    private Integer cpu;
    private Integer vllm;
}
