refactor: streamline model name retrieval in completion clients and update cache handling in OpenRouterModelDiscovery
This commit is contained in:
@@ -127,9 +127,6 @@ public abstract class AbstractCompletionClient implements Client, DisposableBean
|
||||
if (modelProfile == null || (modelProfile.modelProvider() != ModelProvider.OAI_TEXT_COMPLETION && modelProfile.modelProvider() != ModelProvider.OAI_CHAT_COMPLETION)) {
|
||||
return List.of();
|
||||
}
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return List.of(modelProfile.modelName());
|
||||
}
|
||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||
return List.of();
|
||||
}
|
||||
@@ -166,6 +163,9 @@ public abstract class AbstractCompletionClient implements Client, DisposableBean
|
||||
}
|
||||
|
||||
protected String getPrimaryModelName(final ModelProfile modelProfile) {
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return modelProfile.modelName();
|
||||
}
|
||||
return this.getModelNames(modelProfile, false).stream().findFirst().orElse("");
|
||||
}
|
||||
|
||||
|
||||
@@ -134,9 +134,6 @@ public class ResponsesApiClient implements Client{
|
||||
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OAI_RESPONSES) {
|
||||
return List.of();
|
||||
}
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return List.of(modelProfile.modelName());
|
||||
}
|
||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@@ -154,9 +154,6 @@ public class OllamaClient implements Client {
|
||||
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OLLAMA) {
|
||||
return List.of();
|
||||
}
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return List.of(modelProfile.modelName());
|
||||
}
|
||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||
return List.of();
|
||||
}
|
||||
@@ -432,6 +429,9 @@ public class OllamaClient implements Client {
|
||||
}
|
||||
|
||||
private String getPrimaryModelName(final ModelProfile modelProfile) {
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return modelProfile.modelName();
|
||||
}
|
||||
return this.getModelNames(modelProfile, false).stream().findFirst().orElse("");
|
||||
}
|
||||
|
||||
|
||||
@@ -53,9 +53,6 @@ public class OpenRouterClient extends ChatCompletionClient {
|
||||
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OPENROUTER) {
|
||||
return List.of();
|
||||
}
|
||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||
return List.of(modelProfile.modelName());
|
||||
}
|
||||
return this.openRouterModelDiscovery.listModels(modelProfile, new OpenRouterModelQuery(true, null, List.of(), List.of()), forceReload).stream()
|
||||
.map(OpenRouterModelsResponse.OpenRouterModel::getId)
|
||||
.filter(modelName -> modelName != null && !modelName.isBlank())
|
||||
|
||||
@@ -47,7 +47,7 @@ public class OpenRouterModelDiscovery {
|
||||
}
|
||||
final var cacheKey = this.modelListCacheKey(modelProfile, query);
|
||||
if (forceReload) {
|
||||
this.modelListCache.remove(cacheKey);
|
||||
return this.modelListCache.put(cacheKey, this.loadModels(modelProfile, query));
|
||||
}
|
||||
return this.modelListCache.computeIfAbsent(cacheKey, key -> this.loadModels(modelProfile, query));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user