(fix)(common)Fix system parameter initialization making sure settings in application.yaml take effect

This commit is contained in:
jerryjzhang
2024-06-05 20:30:13 +08:00
parent b3b9687041
commit d8f53a4e2f
5 changed files with 20 additions and 30 deletions

View File

@@ -21,6 +21,11 @@ public class SystemConfig {
private List<Parameter> parameters;
public void init() {
parameters = buildDefaultParameters();
admins = Lists.newArrayList("admin");
}
public String getAdmin() {
if (CollectionUtils.isEmpty(admins)) {
return "";
@@ -45,11 +50,6 @@ public class SystemConfig {
}
}
public void init() {
parameters = buildDefaultParameters();
admins = Lists.newArrayList("admin");
}
private List<Parameter> buildDefaultParameters() {
List<Parameter> defaultParameters = Lists.newArrayList();
Collection<ParameterConfig> configurableParameters =
@@ -60,18 +60,4 @@ public class SystemConfig {
return defaultParameters;
}
public List<Parameter> getParameters() {
List<Parameter> defaultParameters = buildDefaultParameters();
if (CollectionUtils.isEmpty(parameters)) {
return defaultParameters;
}
Map<String, String> parameterNameValueMap = parameters.stream()
.collect(Collectors.toMap(Parameter::getName, Parameter::getValue, (v1, v2) -> v2));
for (Parameter parameter : defaultParameters) {
parameter.setValue(parameterNameValueMap.getOrDefault(parameter.getName(),
parameter.getDefaultValue()));
}
return defaultParameters;
}
}

View File

@@ -9,6 +9,8 @@ import com.tencent.supersonic.common.pojo.Parameter;
import com.tencent.supersonic.common.pojo.SystemConfig;
import com.tencent.supersonic.common.service.SystemConfigService;
import com.tencent.supersonic.common.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@@ -17,6 +19,9 @@ import java.util.List;
public class SystemConfigServiceImpl
extends ServiceImpl<SystemConfigMapper, SystemConfigDO> implements SystemConfigService {
@Autowired
private Environment environment;
@Override
public SystemConfig getSystemConfig() {
List<SystemConfigDO> list = list();
@@ -24,9 +29,16 @@ public class SystemConfigServiceImpl
SystemConfig systemConfig = new SystemConfig();
systemConfig.setId(1);
systemConfig.init();
// use system property to initialize system parameter
systemConfig.getParameters().stream().forEach(p -> {
if (environment.containsProperty(p.getName())) {
p.setValue(environment.getProperty(p.getName()));
}
});
save(systemConfig);
return systemConfig;
}
return convert(list.iterator().next());
}

View File

@@ -100,7 +100,7 @@ public class DatabaseMatchStrategy extends BaseMatchStrategy<DatabaseMapResult>
if (!existElement) {
threshold = threshold / 2;
log.info("ModelElementMatches:{},not exist Element threshold reduce by half:{}",
log.debug("ModelElementMatches:{},not exist Element threshold reduce by half:{}",
modelElementMatches, threshold);
}
return getThreshold(threshold, minThreshold, queryContext.getMapModeEnum());

View File

@@ -107,7 +107,6 @@ public class S2VisitsDemo extends S2BaseDemo {
addTerm(s2Domain);
addTerm_1(s2Domain);
addPlugin(s2DataSet);
addSysParameter();
//load dict word
loadDictWord();
@@ -145,13 +144,6 @@ public class S2VisitsDemo extends S2BaseDemo {
parseAndExecute(chatId.intValue(), agentId, "访问次数最高的部门");
}
public void addSysParameter() {
SystemConfig sysParameter = new SystemConfig();
sysParameter.setId(1);
sysParameter.init();
sysParameterService.save(sysParameter);
}
private Integer addAgent(long dataSetId) {
Agent agent = new Agent();
agent.setName("算指标");

View File

@@ -39,9 +39,9 @@ s2:
parser:
strategy: ONE_PASS_SELF_CONSISTENCY
exemplar-recall:
number: 5
number: 10
few-shot:
number: 1
number: 5
self-consistency:
number: 1
multi-turn: