mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
(improvement) (common) add sys parameter setting (#384)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -13,4 +13,5 @@ public class Parameter {
|
||||
private String value;
|
||||
private String comment;
|
||||
private String dataType;
|
||||
private String module;
|
||||
}
|
||||
|
||||
@@ -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相关配置"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user