From e56b5137580183ff2e7b6fea2cf66dffe54b1a60 Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Thu, 10 Oct 2024 15:08:48 +0800 Subject: [PATCH] [improvement][launcher]Support environment variable LLM configs in DEMO. --- .../java/com/tencent/supersonic/demo/S2BaseDemo.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2BaseDemo.java b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2BaseDemo.java index 60221fb09..0cf800a12 100644 --- a/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2BaseDemo.java +++ b/launchers/standalone/src/main/java/com/tencent/supersonic/demo/S2BaseDemo.java @@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.core.env.Environment; import org.springframework.util.CollectionUtils; import java.util.List; @@ -84,6 +85,8 @@ public abstract class S2BaseDemo implements CommandLineRunner { protected DictWordService dictWordService; @Autowired protected ChatModelService chatModelService; + @Autowired + protected Environment environment; @Value("${s2.demo.names:S2VisitsDemo}") protected List demoList; @@ -137,6 +140,15 @@ public abstract class S2BaseDemo implements CommandLineRunner { chatModel.setName("OpenAI模型DEMO"); chatModel.setDescription("由langchain4j社区提供仅用于体验(单次请求最大token数1000), 正式使用请切换大模型"); 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); return chatModel; }