(improvement) (common) add sys parameter setting (#384)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-11-14 21:41:59 +08:00
committed by GitHub
parent 3271db4ca6
commit 36c8938ff7
16 changed files with 98 additions and 66 deletions

View File

@@ -13,4 +13,5 @@ public class Parameter {
private String value;
private String comment;
private String dataType;
private String module;
}

View File

@@ -23,7 +23,7 @@ public class SysParameter {
return StringUtils.join(admins, ",");
}
public void setAdmin(String admin) {
public void setAdminList(String admin) {
if (StringUtils.isNotBlank(admin)) {
admins = Arrays.asList(admin.split(","));
} else {
@@ -34,19 +34,38 @@ public class SysParameter {
public void init() {
parameters = Lists.newArrayList();
admins = Lists.newArrayList("admin");
parameters.add(new Parameter("llm.model.name", "gpt4", "模型名称", "string"));
parameters.add(new Parameter("llm.api.key", "sk-afdasdasd", "模型密钥", "string"));
parameters.add(new Parameter("one.detection.size", "8", "一次探测个数", "number"));
parameters.add(new Parameter("one.detection.max.size", "20", "阈值", "number"));
parameters.add(new Parameter("metric.dimension.min.threshold", "0.3", "指标名、维度名最小文本相似度", "number"));
parameters.add(new Parameter("metric.dimension.threshold", "0.3", "指标名、维度名文本相似度", "number"));
parameters.add(new Parameter("dimension.value.threshold", "0.5", "维度值最小文本相似度", "number"));
parameters.add(new Parameter("embedding.mapper.word.min", "0.3", "用于向量召回最小的文本长度", "number"));
parameters.add(new Parameter("embedding.mapper.word.max", "0.3", "用于向量召回最大的文本长度", "number"));
parameters.add(new Parameter("embedding.mapper.batch", "0.3", "批量向量召回文本请求个数", "number"));
parameters.add(new Parameter("embedding.mapper.number", "0.3", "批量向量召回文本返回结果个数", "number"));
parameters.add(new Parameter("embedding.mapper.distance.threshold", "0.3", "Mapper阶段向量召回相似度阈值", "number"));
parameters.add(new Parameter("use.s2SQL.switch", "true", "是否打开S2SQL开关", "bool"));
parameters.add(new Parameter("llm.model.name", "gpt4",
"模型名称(大语言模型相关配置)", "string", "大语言模型相关配置"));
parameters.add(new Parameter("llm.api.key", "sk-afdasdasd",
"模型密钥(大语言模型相关配置)", "string", "大语言模型相关配置"));
parameters.add(new Parameter("one.detection.size", "8",
"一次探测个数(hanlp相关配置)", "number", "hanlp相关配置"));
parameters.add(new Parameter("one.detection.max.size", "20",
"一次探测最大个数(hanlp相关配置)", "number", "hanlp相关配置"));
parameters.add(new Parameter("metric.dimension.min.threshold", "0.3",
"指标名、维度名最小文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置"));
parameters.add(new Parameter("metric.dimension.threshold", "0.3",
"指标名、维度名文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置"));
parameters.add(new Parameter("dimension.value.threshold", "0.5",
"维度值最小文本相似度(mapper模糊匹配相关配置)", "number", "mapper模糊匹配相关配置"));
parameters.add(new Parameter("query.text.length.threshold", "0.5",
"文本长短阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置"));
parameters.add(new Parameter("short.text.threshold", "0.5",
"短文本匹配阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置"));
parameters.add(new Parameter("long.text.threshold", "0.5",
"长文本匹配阈值(是否跳过当前parser相关配置)", "number", "是否跳过当前parser相关配置"));
parameters.add(new Parameter("embedding.mapper.word.min",
"0.3", "用于向量召回最小的文本长度(向量召回mapper相关配置)", "number", "向量召回mapper相关配置"));
parameters.add(new Parameter("embedding.mapper.word.max", "0.3",
"用于向量召回最大的文本长度(向量召回mapper相关配置)", "number", "向量召回mapper相关配置"));
parameters.add(new Parameter("embedding.mapper.batch", "0.3",
"批量向量召回文本请求个数(向量召回mapper相关配置)", "number", "向量召回mapper相关配置"));
parameters.add(new Parameter("embedding.mapper.number", "0.3",
"批量向量召回文本返回结果个数(向量召回mapper相关配置)", "number", "向量召回mapper相关配置"));
parameters.add(new Parameter("embedding.mapper.distance.threshold",
"0.3", "Mapper阶段向量召回相似度阈值(向量召回mapper相关配置)", "number", "向量召回mapper相关配置"));
parameters.add(new Parameter("use.s2SQL.switch", "true",
"是否打开S2SQL转换开关(S2SQL相关配置)", "bool", "S2SQL相关配置"));
}
}

View File

@@ -6,7 +6,6 @@ import com.tencent.supersonic.common.pojo.SysParameter;
import com.tencent.supersonic.common.persistence.dataobject.SysParameterDO;
import com.tencent.supersonic.common.persistence.mapper.SysParameterMapper;
import com.tencent.supersonic.common.service.SysParameterService;
import com.tencent.supersonic.common.util.BeanMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@@ -26,21 +25,21 @@ public class SysParameterServiceImpl
@Override
public void save(SysParameter sysParameter) {
SysParameterDO chatParameterDO = convert(sysParameter);
saveOrUpdate(chatParameterDO);
SysParameterDO sysParameterDO = convert(sysParameter);
saveOrUpdate(sysParameterDO);
}
private SysParameter convert(SysParameterDO sysParameterDO) {
SysParameter chatParameter = new SysParameter();
BeanMapper.mapper(sysParameterDO, chatParameter);
chatParameter.setParameters(JSONObject.parseObject(sysParameterDO.getParameters(), List.class));
chatParameter.setAdmin(sysParameterDO.getAdmin());
return chatParameter;
SysParameter sysParameter = new SysParameter();
sysParameter.setId(sysParameterDO.getId());
sysParameter.setParameters(JSONObject.parseObject(sysParameterDO.getParameters(), List.class));
sysParameter.setAdminList(sysParameterDO.getAdmin());
return sysParameter;
}
private SysParameterDO convert(SysParameter sysParameter) {
SysParameterDO sysParameterDO = new SysParameterDO();
BeanMapper.mapper(sysParameter, sysParameterDO);
sysParameterDO.setId(sysParameter.getId());
sysParameterDO.setParameters(JSONObject.toJSONString(sysParameter.getParameters()));
sysParameterDO.setAdmin(sysParameter.getAdmin());
return sysParameterDO;

View File

@@ -135,14 +135,16 @@ public class DateUtils {
List<String> datesInRange = new ArrayList<>();
LocalDate currentDate = startDate;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
while (!currentDate.isAfter(endDate)) {
datesInRange.add(currentDate.format(DateTimeFormatter.ISO_DATE));
if (Constants.MONTH.equals(period)) {
datesInRange.add(currentDate.format(formatter));
currentDate = currentDate.plusMonths(1);
} else if (Constants.WEEK.equals(period)) {
datesInRange.add(currentDate.format(DateTimeFormatter.ISO_DATE));
currentDate = currentDate.plusWeeks(1);
} else {
datesInRange.add(currentDate.format(DateTimeFormatter.ISO_DATE));
currentDate = currentDate.plusDays(1);
}
}