Skip to content

Commit 4494f95

Browse files
committed
refactor(Chat2dbAIClient): refactor Chat2dbAIClient class
1 parent e827bab commit 4494f95

File tree

1 file changed

+43
-22
lines changed
  • chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client

1 file changed

+43
-22
lines changed

chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
import ai.chat2db.server.domain.api.model.Config;
55
import ai.chat2db.server.domain.api.service.ConfigService;
66
import ai.chat2db.server.web.api.util.ApplicationContextUtil;
7-
import com.google.common.collect.Lists;
8-
import com.unfbx.chatgpt.OpenAiStreamClient;
97
import com.unfbx.chatgpt.constant.OpenAIConst;
108
import lombok.extern.slf4j.Slf4j;
11-
import org.apache.commons.lang3.StringUtils;
9+
10+
import java.util.Objects;
1211

1312
/**
1413
* @author jipengfei
@@ -35,7 +34,7 @@ public class Chat2dbAIClient {
3534
public static final String CHAT2DB_EMBEDDING_MODEL= "fastchat.embedding.model";
3635

3736

38-
private static Chat2DBAIStreamClient CHAT2DB_AI_STREAM_CLIENT;
37+
private static volatile Chat2DBAIStreamClient CHAT2DB_AI_STREAM_CLIENT;
3938

4039
public static Chat2DBAIStreamClient getInstance() {
4140
if (CHAT2DB_AI_STREAM_CLIENT != null) {
@@ -57,35 +56,57 @@ private static Chat2DBAIStreamClient singleton() {
5756
}
5857

5958
public static void refresh() {
60-
String apikey;
61-
String apiHost = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_HOST);
62-
if (StringUtils.isBlank(apiHost)) {
63-
apiHost = OpenAIConst.OPENAI_HOST;
64-
}
6559
ConfigService configService = ApplicationContextUtil.getBean(ConfigService.class);
60+
61+
CHAT2DB_AI_STREAM_CLIENT = Chat2DBAIStreamClient.builder().apiHost(getApiHost(configService))
62+
.apiKey(getApiKey(configService)).model(getModel(configService)).build();
63+
}
64+
65+
private static String getApiHost(ConfigService configService) {
6666
Config apiHostConfig = configService.find(CHAT2DB_OPENAI_HOST).getData();
67-
if (apiHostConfig != null) {
68-
apiHost = apiHostConfig.getContent();
67+
68+
if (Objects.nonNull(apiHostConfig)) {
69+
return apiHostConfig.getContent();
70+
}
71+
72+
String apiHost = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_HOST);
73+
74+
if (apiHost.isBlank()) {
75+
return OpenAIConst.OPENAI_HOST;
6976
}
77+
78+
return apiHost;
79+
}
80+
81+
private static String getApiKey(ConfigService configService) {
82+
String apiKey;
83+
7084
Config config = configService.find(CHAT2DB_OPENAI_KEY).getData();
71-
if (config != null) {
72-
apikey = config.getContent();
85+
86+
if (Objects.nonNull(config)) {
87+
apiKey = config.getContent();
7388
} else {
74-
apikey = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_KEY);
89+
apiKey = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_KEY);
7590
}
91+
92+
log.info("refresh chat2db apikey:{}", maskApiKey(apiKey));
93+
94+
return apiKey;
95+
}
96+
97+
private static String getModel(ConfigService configService) {
7698
Config modelConfig = configService.find(CHAT2DB_OPENAI_MODEL).getData();
77-
String model = "";
78-
if (modelConfig != null) {
79-
model = modelConfig.getContent();
99+
100+
if (Objects.nonNull(modelConfig)) {
101+
return modelConfig.getContent();
80102
}
81-
log.info("refresh chat2db apikey:{}", maskApiKey(apikey));
82-
CHAT2DB_AI_STREAM_CLIENT = Chat2DBAIStreamClient.builder().apiHost(apiHost)
83-
.apiKey(apikey).model(model).build();
103+
104+
return null;
84105
}
85106

86107
private static String maskApiKey(String input) {
87-
if (input == null) {
88-
return input;
108+
if (Objects.isNull(input)) {
109+
return null;
89110
}
90111

91112
StringBuilder maskedString = new StringBuilder(input);

0 commit comments

Comments
 (0)