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)) {
|
if (modelProfile == null || (modelProfile.modelProvider() != ModelProvider.OAI_TEXT_COMPLETION && modelProfile.modelProvider() != ModelProvider.OAI_CHAT_COMPLETION)) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
|
||||||
return List.of(modelProfile.modelName());
|
|
||||||
}
|
|
||||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
@@ -166,6 +163,9 @@ public abstract class AbstractCompletionClient implements Client, DisposableBean
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String getPrimaryModelName(final ModelProfile modelProfile) {
|
protected String getPrimaryModelName(final ModelProfile modelProfile) {
|
||||||
|
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||||
|
return modelProfile.modelName();
|
||||||
|
}
|
||||||
return this.getModelNames(modelProfile, false).stream().findFirst().orElse("");
|
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) {
|
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OAI_RESPONSES) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
|
||||||
return List.of(modelProfile.modelName());
|
|
||||||
}
|
|
||||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,9 +154,6 @@ public class OllamaClient implements Client {
|
|||||||
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OLLAMA) {
|
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OLLAMA) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
|
||||||
return List.of(modelProfile.modelName());
|
|
||||||
}
|
|
||||||
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
if (modelProfile.url() == null || modelProfile.url().isBlank()) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
@@ -432,6 +429,9 @@ public class OllamaClient implements Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getPrimaryModelName(final ModelProfile modelProfile) {
|
private String getPrimaryModelName(final ModelProfile modelProfile) {
|
||||||
|
if (modelProfile.modelName() != null && !modelProfile.modelName().isBlank()) {
|
||||||
|
return modelProfile.modelName();
|
||||||
|
}
|
||||||
return this.getModelNames(modelProfile, false).stream().findFirst().orElse("");
|
return this.getModelNames(modelProfile, false).stream().findFirst().orElse("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,9 +53,6 @@ public class OpenRouterClient extends ChatCompletionClient {
|
|||||||
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OPENROUTER) {
|
if (modelProfile == null || modelProfile.modelProvider() != ModelProvider.OPENROUTER) {
|
||||||
return List.of();
|
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()
|
return this.openRouterModelDiscovery.listModels(modelProfile, new OpenRouterModelQuery(true, null, List.of(), List.of()), forceReload).stream()
|
||||||
.map(OpenRouterModelsResponse.OpenRouterModel::getId)
|
.map(OpenRouterModelsResponse.OpenRouterModel::getId)
|
||||||
.filter(modelName -> modelName != null && !modelName.isBlank())
|
.filter(modelName -> modelName != null && !modelName.isBlank())
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ public class OpenRouterModelDiscovery {
|
|||||||
}
|
}
|
||||||
final var cacheKey = this.modelListCacheKey(modelProfile, query);
|
final var cacheKey = this.modelListCacheKey(modelProfile, query);
|
||||||
if (forceReload) {
|
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));
|
return this.modelListCache.computeIfAbsent(cacheKey, key -> this.loadModels(modelProfile, query));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user