[improvement][launcher]Support environment variable LLM configs in DEMO.

This commit is contained in:
jerryjzhang
2024-10-10 15:08:48 +08:00
parent 85552fb73a
commit e56b513758

View File

@@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.core.env.Environment;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
@@ -84,6 +85,8 @@ public abstract class S2BaseDemo implements CommandLineRunner {
protected DictWordService dictWordService; protected DictWordService dictWordService;
@Autowired @Autowired
protected ChatModelService chatModelService; protected ChatModelService chatModelService;
@Autowired
protected Environment environment;
@Value("${s2.demo.names:S2VisitsDemo}") @Value("${s2.demo.names:S2VisitsDemo}")
protected List<String> demoList; protected List<String> demoList;
@@ -137,6 +140,15 @@ public abstract class S2BaseDemo implements CommandLineRunner {
chatModel.setName("OpenAI模型DEMO"); chatModel.setName("OpenAI模型DEMO");
chatModel.setDescription("由langchain4j社区提供仅用于体验(单次请求最大token数1000), 正式使用请切换大模型"); chatModel.setDescription("由langchain4j社区提供仅用于体验(单次请求最大token数1000), 正式使用请切换大模型");
chatModel.setConfig(ModelProvider.DEMO_CHAT_MODEL); chatModel.setConfig(ModelProvider.DEMO_CHAT_MODEL);
if (StringUtils.isNotBlank(environment.getProperty("OPENAI_BASE_URL"))) {
chatModel.getConfig().setBaseUrl(environment.getProperty("OPENAI_BASE_URL"));
}
if (StringUtils.isNotBlank(environment.getProperty("OPENAI_API_KEY"))) {
chatModel.getConfig().setApiKey(environment.getProperty("OPENAI_API_KEY"));
}
if (StringUtils.isNotBlank(environment.getProperty("OPENAI_MODEL_NAME"))) {
chatModel.getConfig().setModelName(environment.getProperty("OPENAI_MODEL_NAME"));
}
chatModel = chatModelService.createChatModel(chatModel, defaultUser); chatModel = chatModelService.createChatModel(chatModel, defaultUser);
return chatModel; return chatModel;
} }