(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; private List<Parameter> parameters;
public void init() {
parameters = buildDefaultParameters();
admins = Lists.newArrayList("admin");
}
public String getAdmin() { public String getAdmin() {
if (CollectionUtils.isEmpty(admins)) { if (CollectionUtils.isEmpty(admins)) {
return ""; return "";
@@ -45,11 +50,6 @@ public class SystemConfig {
} }
} }
public void init() {
parameters = buildDefaultParameters();
admins = Lists.newArrayList("admin");
}
private List<Parameter> buildDefaultParameters() { private List<Parameter> buildDefaultParameters() {
List<Parameter> defaultParameters = Lists.newArrayList(); List<Parameter> defaultParameters = Lists.newArrayList();
Collection<ParameterConfig> configurableParameters = Collection<ParameterConfig> configurableParameters =
@@ -60,18 +60,4 @@ public class SystemConfig {
return defaultParameters; 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.pojo.SystemConfig;
import com.tencent.supersonic.common.service.SystemConfigService; import com.tencent.supersonic.common.service.SystemConfigService;
import com.tencent.supersonic.common.util.JsonUtil; 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.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
@@ -17,6 +19,9 @@ import java.util.List;
public class SystemConfigServiceImpl public class SystemConfigServiceImpl
extends ServiceImpl<SystemConfigMapper, SystemConfigDO> implements SystemConfigService { extends ServiceImpl<SystemConfigMapper, SystemConfigDO> implements SystemConfigService {
@Autowired
private Environment environment;
@Override @Override
public SystemConfig getSystemConfig() { public SystemConfig getSystemConfig() {
List<SystemConfigDO> list = list(); List<SystemConfigDO> list = list();
@@ -24,9 +29,16 @@ public class SystemConfigServiceImpl
SystemConfig systemConfig = new SystemConfig(); SystemConfig systemConfig = new SystemConfig();
systemConfig.setId(1); systemConfig.setId(1);
systemConfig.init(); 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); save(systemConfig);
return systemConfig; return systemConfig;
} }
return convert(list.iterator().next()); return convert(list.iterator().next());
} }

View File

@@ -100,7 +100,7 @@ public class DatabaseMatchStrategy extends BaseMatchStrategy<DatabaseMapResult>
if (!existElement) { if (!existElement) {
threshold = threshold / 2; 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); modelElementMatches, threshold);
} }
return getThreshold(threshold, minThreshold, queryContext.getMapModeEnum()); return getThreshold(threshold, minThreshold, queryContext.getMapModeEnum());

View File

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

View File

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