Skip to content

Commit 4b112a3

Browse files
authored
fix: Fix the incorrect upstream port value used when the ollama instance uses a custom port (#430)
1 parent f9bb7cb commit 4b112a3

6 files changed

+15
-9
lines changed

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/AbstractLlmProviderHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public void saveConfig(LlmProvider provider, Map<String, Object> configurations)
123123
}
124124

125125
@Override
126-
public void validateConfig(Map<String, Object> configurations) {}
126+
public void normalizeConfigs(Map<String, Object> configurations) {}
127127

128128
@Override
129129
public ServiceSource buildServiceSource(String providerName, Map<String, Object> providerConfig) {

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/AzureLlmProviderHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public String getType() {
3434
}
3535

3636
@Override
37-
public void validateConfig(Map<String, Object> configurations) {
37+
public void normalizeConfigs(Map<String, Object> configurations) {
3838
if (MapUtils.isEmpty(configurations)) {
3939
throw new ValidationException("Missing Azure specific configurations.");
4040
}

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/LlmProviderHandler.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ default LlmProvider createProvider() {
3030

3131
void saveConfig(LlmProvider provider, Map<String, Object> configurations);
3232

33-
void validateConfig(Map<String, Object> configurations);
33+
/**
34+
* Validate the provider configurations and normalize configuration values based on the provider type.
35+
* @param configurations provider configurations
36+
*/
37+
void normalizeConfigs(Map<String, Object> configurations);
3438

3539
ServiceSource buildServiceSource(String providerName, Map<String, Object> providerConfig);
3640

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/LlmProviderServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public LlmProvider addOrUpdate(LlmProvider provider) {
9898
throw new ValidationException("Provider type " + provider.getType() + " is not supported");
9999
}
100100

101-
handler.validateConfig(provider.getRawConfigs());
101+
handler.normalizeConfigs(provider.getRawConfigs());
102102

103103
fillDefaultValues(provider);
104104

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/OllamaLlmProviderHandler.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public String getType() {
3535
}
3636

3737
@Override
38-
public void validateConfig(Map<String, Object> configurations) {
38+
public void normalizeConfigs(Map<String, Object> configurations) {
3939
if (MapUtils.isEmpty(configurations)) {
4040
throw new ValidationException("Missing Azure specific configurations.");
4141
}
@@ -50,6 +50,7 @@ public void validateConfig(Map<String, Object> configurations) {
5050
if (!ValidateUtil.checkPort(serverPort)) {
5151
throw new ValidationException(SERVER_PORT_KEY + " must be a valid port number.");
5252
}
53+
configurations.put(SERVER_PORT_KEY, serverPort);
5354
}
5455

5556
@Override
@@ -77,11 +78,12 @@ protected int getServicePort(Map<String, Object> providerConfig) {
7778
if (MapUtils.isEmpty(providerConfig)) {
7879
return DEFAULT_PORT;
7980
}
80-
Object serverPortObj = providerConfig.get(SERVER_PORT_KEY);
81-
if (!(serverPortObj instanceof Integer serverPort) || !ValidateUtil.checkPort(serverPort)) {
81+
try {
82+
int serverPort = getIntConfig(providerConfig, SERVER_PORT_KEY);
83+
return ValidateUtil.checkPort(serverPort) ? serverPort : DEFAULT_PORT;
84+
} catch (ValidationException ve) {
8285
return DEFAULT_PORT;
8386
}
84-
return serverPort;
8587
}
8688

8789
@Override

backend/sdk/src/main/java/com/alibaba/higress/sdk/service/ai/OpenaiLlmProviderHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public String getType() {
4040
}
4141

4242
@Override
43-
public void validateConfig(Map<String, Object> configurations) {
43+
public void normalizeConfigs(Map<String, Object> configurations) {
4444
if (MapUtils.isEmpty(configurations)) {
4545
return;
4646
}

0 commit comments

Comments
 (0)