加入ai大模型

This commit is contained in:
2025-08-02 13:12:56 +08:00
parent 21e354258e
commit 1845429fe2
17 changed files with 2721 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
package com.klp.domain;
import java.util.List;
import java.util.Map;
/**
* 多模态分析结果实体类
*/
public class MultimodalResult {
private String appName;
private String category;
private String taskFunctionCategory;
private String time;
private Integer apply;
private String complete;
private String reason;
private String taskId;
private String taskDescription;
private String folderPath;
private Map<String, String> security;
private List<String> riskTypes;
public MultimodalResult() {}
public MultimodalResult(String appName, String category, String taskFunctionCategory,
String time, Integer apply, String complete, String reason,
String taskId, String taskDescription, String folderPath,
Map<String, String> security, List<String> riskTypes) {
this.appName = appName;
this.category = category;
this.taskFunctionCategory = taskFunctionCategory;
this.time = time;
this.apply = apply;
this.complete = complete;
this.reason = reason;
this.taskId = taskId;
this.taskDescription = taskDescription;
this.folderPath = folderPath;
this.security = security;
this.riskTypes = riskTypes;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getTaskFunctionCategory() {
return taskFunctionCategory;
}
public void setTaskFunctionCategory(String taskFunctionCategory) {
this.taskFunctionCategory = taskFunctionCategory;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Integer getApply() {
return apply;
}
public void setApply(Integer apply) {
this.apply = apply;
}
public String getComplete() {
return complete;
}
public void setComplete(String complete) {
this.complete = complete;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getTaskDescription() {
return taskDescription;
}
public void setTaskDescription(String taskDescription) {
this.taskDescription = taskDescription;
}
public String getFolderPath() {
return folderPath;
}
public void setFolderPath(String folderPath) {
this.folderPath = folderPath;
}
public Map<String, String> getSecurity() {
return security;
}
public void setSecurity(Map<String, String> security) {
this.security = security;
}
public List<String> getRiskTypes() {
return riskTypes;
}
public void setRiskTypes(List<String> riskTypes) {
this.riskTypes = riskTypes;
}
}

View File

@@ -0,0 +1,97 @@
package com.klp.domain;
import java.util.List;
/**
* 多模态任务实体类
*/
public class MultimodalTask {
private String appName;
private String taskName;
private String taskCategory;
private String time;
private String security;
private String folderPath;
private String taskId;
private List<String> imagePaths;
public MultimodalTask() {}
public MultimodalTask(String appName, String taskName, String taskCategory,
String time, String security, String folderPath,
String taskId, List<String> imagePaths) {
this.appName = appName;
this.taskName = taskName;
this.taskCategory = taskCategory;
this.time = time;
this.security = security;
this.folderPath = folderPath;
this.taskId = taskId;
this.imagePaths = imagePaths;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getSecurity() {
return security;
}
public void setSecurity(String security) {
this.security = security;
}
public String getFolderPath() {
return folderPath;
}
public void setFolderPath(String folderPath) {
this.folderPath = folderPath;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public List<String> getImagePaths() {
return imagePaths;
}
public void setImagePaths(List<String> imagePaths) {
this.imagePaths = imagePaths;
}
}

View File

@@ -0,0 +1,123 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.List;
/**
* 销售话术生成器业务对象
*
* @author klp
* @date 2025-01-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsSalesScriptGeneratorBo extends BaseEntity {
/**
* 产品ID
*/
@NotNull(message = "产品ID不能为空", groups = {AddGroup.class, EditGroup.class})
private Long productId;
/**
* 产品ID列表批量生成时使用
*/
private List<Long> productIds;
/**
* 话术数量
*/
@Min(value = 1, message = "话术数量最少为1")
@Max(value = 10, message = "话术数量最多为10")
private Integer scriptCount = 5;
/**
* 客户类型列表
*/
private List<String> customerTypes;
/**
* 是否保存到数据库
*/
private Boolean saveToDatabase = true;
/**
* 生成模式single(单个产品), batch(批量产品), preview(预览模式)
*/
private String generationMode = "single";
/**
* 自定义提示词
*/
private String customPrompt;
/**
* 温度参数
*/
@Min(value = 0, message = "温度参数不能小于0")
@Max(value = 2, message = "温度参数不能大于2")
private Double temperature = 1.0;
/**
* 最大重试次数
*/
@Min(value = 1, message = "最大重试次数最少为1")
@Max(value = 5, message = "最大重试次数最多为5")
private Integer maxRetries = 3;
/**
* 是否包含BOM信息
*/
private Boolean includeBomInfo = true;
/**
* 是否包含技术参数
*/
private Boolean includeTechParams = true;
/**
* 是否包含材料优势
*/
private Boolean includeMaterialAdvantages = true;
/**
* 话术风格professional(专业), friendly(友好), persuasive(说服力强)
*/
private String scriptStyle = "professional";
/**
* 语言zh(中文), en(英文)
*/
private String language = "zh";
/**
* 行业类型
*/
private String industryType;
/**
* 目标客户群体
*/
private String targetCustomerGroup;
/**
* 产品应用场景
*/
private String applicationScenario;
/**
* 竞争优势
*/
private String competitiveAdvantage;
/**
* 备注
*/
private String remark;
}