160 lines
4.5 KiB
Java
160 lines
4.5 KiB
Java
package com.labelsys.backend.entity;
|
||
|
||
import com.baomidou.mybatisplus.annotation.IdType;
|
||
import com.baomidou.mybatisplus.annotation.TableField;
|
||
import com.baomidou.mybatisplus.annotation.TableId;
|
||
import com.baomidou.mybatisplus.annotation.TableName;
|
||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||
import com.fasterxml.jackson.databind.JsonNode;
|
||
import com.labelsys.backend.util.SM4Util;
|
||
import lombok.AllArgsConstructor;
|
||
import lombok.Builder;
|
||
import lombok.Data;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
import java.time.LocalDateTime;
|
||
|
||
@Data
|
||
@Builder
|
||
@NoArgsConstructor
|
||
@AllArgsConstructor
|
||
@TableName("annotation_agent_configs")
|
||
public class AnnotationAgentConfig {
|
||
@TableId(type = IdType.AUTO)
|
||
private Long id;
|
||
|
||
@TableField("company_id")
|
||
private Long companyId; // 所属公司ID,来源于annotation_task.company_id
|
||
|
||
@TableField("agent_type")
|
||
private String agentType; // Agent角色: extract(抽取/Analyzer+Regenerator) / verify(校验/Reviewer) / industry(行业识别) / hallucination(幻觉检测)
|
||
|
||
@TableField("model_config_id")
|
||
private Long modelConfigId; // 模型配置来源ID,外键引用sys_config.id,任务启动时从sys_config(config_type=MODEL, status=ENABLED)获取
|
||
|
||
@TableField("model_name")
|
||
private String modelName; // 模型名称快照,如: qwen-max / glm-4 / claude-3-opus
|
||
|
||
@TableField("model_url")
|
||
private String modelUrl; // 模型调用地址快照
|
||
|
||
@TableField("model_api_key")
|
||
private String modelApiKey; // 模型调用密钥快照(需要加密存储)
|
||
|
||
@TableField("prompt_config_id")
|
||
private Long promptConfigId; // Prompt配置来源ID,外键引用sys_config.id,任务启动时从sys_config(config_type=PROMPT, status=ENABLED)获取
|
||
|
||
@TableField("prompt_text")
|
||
private String promptText; // Prompt文本快照,任务执行期间实际使用的提示词
|
||
|
||
@TableField(value = "config_snapshot", typeHandler = JacksonTypeHandler.class)
|
||
private JsonNode configSnapshot; // 完整配置快照JSON,包含temperature、max_tokens等运行时参数
|
||
|
||
@TableField("created_at")
|
||
private LocalDateTime createdAt; // 快照创建时间
|
||
|
||
@TableField("llm_type")
|
||
private String llmType; // LLM类型,如:text, audio, video, image等,默认为'text'
|
||
|
||
// Getter和Setter方法
|
||
public Long getId() {
|
||
return id;
|
||
}
|
||
|
||
public void setId(Long id) {
|
||
this.id = id;
|
||
}
|
||
|
||
public Long getCompanyId() {
|
||
return companyId;
|
||
}
|
||
|
||
public void setCompanyId(Long companyId) {
|
||
this.companyId = companyId;
|
||
}
|
||
|
||
public String getAgentType() {
|
||
return agentType;
|
||
}
|
||
|
||
public void setAgentType(String agentType) {
|
||
this.agentType = agentType;
|
||
}
|
||
|
||
public Long getModelConfigId() {
|
||
return modelConfigId;
|
||
}
|
||
|
||
public void setModelConfigId(Long modelConfigId) {
|
||
this.modelConfigId = modelConfigId;
|
||
}
|
||
|
||
public String getModelName() {
|
||
return modelName;
|
||
}
|
||
|
||
public void setModelName(String modelName) {
|
||
this.modelName = modelName;
|
||
}
|
||
|
||
public String getModelUrl() {
|
||
return modelUrl;
|
||
}
|
||
|
||
public void setModelUrl(String modelUrl) {
|
||
this.modelUrl = modelUrl;
|
||
}
|
||
|
||
public String getModelApiKey() {
|
||
if (this.modelApiKey != null) {
|
||
return SM4Util.decryptSafe(this.modelApiKey); // 解密返回
|
||
}
|
||
return null;
|
||
}
|
||
|
||
public void setModelApiKey(String modelApiKey) {
|
||
if (modelApiKey != null) {
|
||
this.modelApiKey = SM4Util.encrypt(modelApiKey); // 加密存储
|
||
}
|
||
}
|
||
|
||
public Long getPromptConfigId() {
|
||
return promptConfigId;
|
||
}
|
||
|
||
public void setPromptConfigId(Long promptConfigId) {
|
||
this.promptConfigId = promptConfigId;
|
||
}
|
||
|
||
public String getPromptText() {
|
||
return promptText;
|
||
}
|
||
|
||
public void setPromptText(String promptText) {
|
||
this.promptText = promptText;
|
||
}
|
||
|
||
public JsonNode getConfigSnapshot() {
|
||
return configSnapshot;
|
||
}
|
||
|
||
public void setConfigSnapshot(JsonNode configSnapshot) {
|
||
this.configSnapshot = configSnapshot;
|
||
}
|
||
|
||
public LocalDateTime getCreatedAt() {
|
||
return createdAt;
|
||
}
|
||
|
||
public void setCreatedAt(LocalDateTime createdAt) {
|
||
this.createdAt = createdAt;
|
||
}
|
||
|
||
public String getLlmType() {
|
||
return llmType;
|
||
}
|
||
|
||
public void setLlmType(String llmType) {
|
||
this.llmType = llmType;
|
||
}
|
||
} |